Message Gateway Configuration

Software Prerequisites

Note:- The softwares mentioned below are MANDATORY prerequisites. Note that only the versions mentioned below are required.

  • Java Development Kit (version 1.8.0_65 & above)

  • MySQL Server (version 5.5 or 5.6)

  • Apache Tomcat (version 7.0.64.0)

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

You can download the REST Client from this link:

http://download.wiztools.org/rest-client/archive/index.html

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:

{ "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:

{ "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:

[{ "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.