SMS Server SMTP based interface for application developers and ISV integration

 


Email based approach to application integration

 

BNS Enterprise SMS Server is Windows server VM running in your datacentre or your private cloud.

 

Using internal email allows any application programmer to send an SMS with minimal effort.

 

Benefits of using internal email together with the platform include:

 

The maximum size of an SMS request via SMTP is determined by which SMS Service provider(s) are used with the deployment. Contact your system administrator to determine what is the maximum you can send from your application to be within the SMS Service provider limit. 

 

Internal email such as Microsoft Exchange server directs specific address space eg:   @Brand1.sms   @Brand2.sms to one or more SMS servers. 

 

Exchange administrators route the SMS traffic to specific SMS servers to control the flow of messaging. 

 

Applications have to be registered within the SMS server.   Applications are registered based upon a sender e-mail address.

 

A business application can use the Email subject or the email body to create the SMS message.  The default for a business application is using the subject.   If an application can only use the message body of an email the administrator must add a keyword into any of the Custom fields of the application profile. 

 

Keywords:

 

 

 

 

Example using Outlook. 

 

The example below shows how you application could send an SMS using the subject and also inject custom fields. 

 

Custom fields what are they?  

Custom fields are values which are written to the SQL database for that transaction.   Examples include:  Campaign reference, Customer account number,  invoice number etc.  Any reference data which is meaningful to your organisation.  

 

 

 

In the example above, the application creates a simple e-mail, the subject of which is the SMS message to be transmitted. The recipient mobile number should be in the full international format plus any key words in the message body.

 

The SMS platform can be configured to auto replace prefixes such as 04 with 614 so that Outlook users can supply a mobile number in the form 0412869531@Brand1.sms because msXsms will parse the number based upon a rule set to present the correct international number.  However, applications should be responsible for presenting the full international number eg: 61412001002.

 

If an application is a proxy for another logical application or business unit a keyword [FromEmail=BusinessApplicationEmailAddress] would be supplied in the message body to identify to msXsms which business application table controls to use. More on that later. 

 

SMTP/MIME parameters

 

There are 3 important parameters to supply when sending an SMS message using SMTP/MIME.

 

Applications which set the Recipient Display Name can also make use of the intelligent caching of msXsms. 

Recipient Display Name in msXsms is limited to 100 characters.

 

System architects can leverage the Recipient Display Name to contain any information about the recipient of the SMS such as: customer account number, Campaign ID etc. 

 

If 2 way dialog with SMS recipients is required, it is highly recommended that the tools used by your development team can supply the Recipient Display Name when constructing the SMTP/MIME message.

 

To best illustrate this, the example below uses Outlook as an application which does this.

 

If your application can supply the Recipient Display Name then any message replies from your SMS recipients will provide meaningful information to users of those applications.

 

This example shows how a Recipient Display Name could contain customer account information so that a reply (inbound SMS) is then presented as that sender of the SMS. 

By way of example only, refer to the Outlook contact screen below to see the recipient display name (Display as) in that context.  

 

 

 

Notice how a reply SMS  sender display name contains Customer number AU1234567, followed by the Customer’s name plus other information.

 

Default values established for each application sender email address

 

Administrators register details of all business applications in SQL via a configuration program called the Web Console.

 

The configuration program allows default values to be established some of which can be overridden by the application on a per message basis.

 

Firstly, lets understand what the administrator of the system can setup for your application.

 

Example shows:

 

  1. your application's email address app1@yourdomain.
  2. Company name for reporting
  3. Sender SMS ID.  Example here is an approved alpha value 'BNSGroup'.   Alpha is one way SMS. 
  4. Cost centre for reporting and billing
  5. Send confirmations back to your application for failed SMS
  6. Not to send confirmations back to  your application for successful SMS. 
  7. No custom field defaults or commands (so your application will use the subject of the SMTP message you create for the SMS message).  

 

 

 

Keywords your application can inject into the message body to override the default application profile settings for your business application

 

Keywords must be on separate lines in the message body.

 

 

Rules around the use of keywords which you can put into the message body of emails sent to the SMS Server.  

 

Note: All keywords are optional. 

 

 

Keyword in message body

Data type / length

Format

Rules

comments

[FromEmail=email address]

String 100

Email address

only use this if there is a need to override the sender business application

 

[ReplyToEmailSuccess=email address]

String 100

Email address

If supplied by the application this will be used irrespective of any other settings.

If the business application control defaults require a confirmation to sent then the value supplied in the application table defaults will be used. If that value is blank then the confirmation will be sent to the purported sender.

Purported sender is [FromEmail=] if supplied as a keyword.  If that keyword is not set then the actual SMTP Sender email address is used.

 

 

[ReplyToEmailFailed=email address]

String 100

Email address

If supplied by the application this will be used irrespective of any other settings.

If the business application control defaults require a confirmation to sent then the value supplied in the application table defaults will be used. If that value is blank then the confirmation will be sent to the purported sender.

Purported sender is [FromEmail=] if supplied as a keyword.  If that keyword is not set then the actual SMTP Sender email address is used.

 

 

[DoNotSendBefore=hhmm]

Numeric  4

Hhmm

If not supplied then the default values in msXsms SMS number  table will be used.  If the msXsms SMS Number table values are blank then the message will be sent without delay.

 

[DoNotSendAfter=hhmm]

Numeric  4

Hhmm

If not supplied then the default values in msXsms SMS number  table will be used.  If the msXsms SMS Number table values are blank then the message will be sent without delay.

 

[Custom1=string]

String 100

Any character

 

Entirely up to the application

[Custom2= thru Custom10=

9 additional values 100 chars maximum

 

 

 

 

       
       

 

 

Notes about the internal tables used by the platform in relation to applications

The SMS platform maintains pre-defined values when the application relationship is established by the respective business units and the Messaging / Collaboration team.

 

The following values are established upon setting up the relationship and can’t be overridden via message keywords:

sms Application entries which cannot be overridden by keywords from applications

format

usage

Default Priority

String (1)

Priority of SMS for this application cannot be changed using a keyword  

Default SMS number (Sender)

String (20)

This is the number to be used when sending SMS messages for this application

Disclaimer text/url

String (59)

if blank then no disclaimer. If a disclaimer is set up by the administrator the application cannot override it. 

 

Message Size Limits for applications when disclaimers are used

If a disclaimer is established in the application table then the message length in the subject or email body for use in creating the SMS is the maximum supported for the application less 60 characters.

Applications should therefore restrict their message length to their allotted maximum less 60 characters if application disclaimers are to be used.

 

If application disclaimers are not used, the application can send a message subject or message body up to the maximum number of characters supported for the application or limit imposed by the SMS Service provider. Contact your system administrator for more information.

Create your own Knowledge Base