...
Following are the properties in application.properties file in notifcation sms service which are configurable.
Property | Value | Remarks |
kafka.topics.notification.sms.name | egov.core.notification.sms | It is the topic name to which the notification sms consumer would subscribe. Any module wanting to integrate with this consumer should post data to this topic only. |
sms. |
provider. |
class | Generic | This property decides which SMS |
provider is to be used by the service to send messages. Currently, Console, MSDG and |
Generic have been implemented. | ||
sms.provider.contentType | application/x-www-form-urlencoded | To configure form data or json api set sms.provider.contentType=application/x-www-form-urlencoded or sms.provider.contentType=application/json respectively |
sms.provider. |
requestType |
POST | Property |
to configure the http method used to call provider | ||
sms.provider.url | URL of the provider. This will be given by the SMS provider only. | |
sms. |
provider.username | egovsms | Username as provided by the |
provider which is passed during the API call to the |
provider. |
sms. |
provider.password | abc123 | Password as provided by the |
provider which is passed during the API call to the |
provider. This has to be encrypted and stored |
sms. |
senderid | EGOV | SMS sender id provided by the |
provider, this will show up as the sender on receiver’s phone |
sms.sender.secure.key
asdfghjuytrewqsdfgh
. |
sms.config.map | {' |
uname':'$username', ' |
pwd': '$password', 'sid':'$senderid', ' |
mobileno':'$mobileno', ' |
content':'$message', ' |
smsservicetype':' |
unicodemsg', ' |
myParam': ' |
$extraParam' , ' |
messageType': ' |
$mtype'} | Map of parameters to be passed to the API |
provider. This is provider-specific. |
$username maps to sms.provider.username $password maps to sms.provider.password $senderid maps to sms.senderid $mobileno maps to mobileNumber from kafka fetched message $message maps to the message from the kafka fetched message $<name> any variable that is not from above list, is first checked in sms.category.map and then in application.properties and then in environment variable with full upper case and _ replacing -, space or | ||
sms.category.map | {'mtype': {'*': 'abc', 'OTP': 'def'}} | replace any value in sms.config.map |
sms.blacklist.numbers | 5*,9999999999,88888888XX | For blacklisting, a “,” separated list of numbers or number patterns. To use patterns use X for any digit match and * for any number of digits match |
sms.whitelist.numbers | 5*,9999999999,88888888XX | For whitelisting, a “,” separated list of numbers or number patterns. To use patterns use X for any digit match and * for any number of digits match |
sms.mobile.prefix | 91 | add the prefix to the mobile number coming in the message queue |
Entities:
SMS: Model to capture the sms information. The object pushed onto the queue must be in accordance to this model. Contains mobileNumber and message.
...
{"mobileNumber": "9480411228", "message":"Hey, how you doing?"}
Messages -
...
Interaction Diagram:
...