Message Gateway Configuration - using a twilio account
How to Setup the Code Base
Step 1: Clone the message-gateway source code into your local machine from GitHub.
On Windows:
$ git clone https://github.com/openMF/message-gateway.git
On Ubuntu:
$ sudo git clone https://github.com/openMF/message-gateway.git
Step 2: Open the source code directory on your local machine. Now, open Git Bash in this folder (through the right-click context menu).
On Windows:
On Ubuntu:
Simple change your current directory to the message-gateway directory by entering the following command:
$ cd message-gateway
How to Build the Code Base
Step 1: Next, we need to generate the .war file. This can be achieved by using the commands mentioned below:
On Windows:
$ gradlew clean build -Pprofile=deployable
On Ubuntu:
~/message-gateway$ sudo chmod 777 gradlew ~/message-gateway$ sudo ./gradlew clean build -Pprofile=deployable
Step 2: Create a database with the name `messagegateway`.
Step 3: Open the message-gateway source directory and navigate to build >> libs. Copy the message-gateway-0.0.1.war file.
On Windows:
On Ubuntu:
~/message-gateway$ cd build ~/message-gateway/build$ cd libs
Step 4: Navigate to Tomcat >> webapps and paste the message-gateway-0.0.1.war file into this directory.
On Windows:
On Ubuntu:
~/message-gateway/build/libs$ sudo cp message-gateway-0.0.1.war /home/tomcat7/webapps/
How to Run
On Windows:
Navigate to Tomcat >> Bin directory and double click on startup.bat to start the application.
On Ubuntu:
Now navigate to the Tomcat >> bin folder and execute the following command to start the application:
~/tomcat7/bin$ sudo sh startup.sh
How to Configure Message Gateway
Download Link
You can download the REST Client from this link:
Open the REST Client and perform the following steps:
Step 1: When you open the REST client set the URL as: http://localhost:9191/message-gateway-0.0.1/tenants/. HTTP method should be set to "POST". Finally, in the HTTP request body pass the following data:
HTTP Request Body
{
"tenantId":"[Tenant_NAME]",
"description": "Some description"
}
NOTE: Pass the appropriate "tenantId"
When we fire this request, "tenant app key" is generated as a response. This is shown in the screenshot below:
Step 2: In this step, set REST client URL ashttp://localhost:9191/message-gateway-0.0.1/smsbridges. HTTP Method should be set to "POST". In the HTTP request body, pass the following data:
HTTP Request Body
{
"phoneNo": "+12345678901",
"providerName": "Twilio SMS",
"providerDescription": "Twilio SMS Provider",
"providerKey":"Twilio",
"countryCode":"+xx",
"bridgeConfigurations": [
{
"configName":"Provider_Account_Id",
"configValue":"ACcb95cd9fb2e7d72f85c06aea6473f7iv"
},
{
"configName":"Provider_Auth_Token",
"configValue":"fed820a353def95f1m6fad077fef670e"
}
]
}
NOTE: phoneNo, providerName, configName, configValue, configName, configValue are to be set based on the individual subscription.
Pass these HTTP headers in the REST client:
Header | Value |
---|---|
Fineract-Platform-TenantId | {Pass the same Tenant ID that you have set in the previous step} |
Fineract-Tenant-App-Key | {Pass the same "Tenant app key" that is generated in the previous step} |
Once headers are set, fire the HTTP request.
Step 3: In this step, set REST client URL as http://localhost:9191/message-gateway-0.0.1/sms/. HTTP method should be "POST". In HTTP request body pass the following data:
HTTP Request Body
[{
"internalId":"55",
"mobileNumber":"+91xxxxxxxx80",
"message":"Hello from Staging",
"providerId":"2"
}]
NOTE:
- Set the appropriate "mobileNumber" to the phone number you want to send the message to.
- Set your required "message".
- Set "providerId" to the value generated in the previous step.
Pass the same HTTP headers that we passed in the last step.