Anonymousprnt::Y
Click on images to see them in full screen

API

Using smsPULSE to send SMS from other applications is easy.
For details on how to handle incoming SMS using the smsROUTER (smsrouter task), see "Routing Rules".

SMS by email
The application comes with a database suitable for this purpose. The file, "sms.box", is created for you in the "smspulse" directory the first time you run the SMSPULSE server add-in. To enable the database to receive emails you must first define a mail-in database in the Domino Directory, pointing at "smspulse\sms.box" and name the mail-in, for example, SMS. To send messages create emails as follows:

  1. SendTo: The name or address of the mail-in you created above. If you use Foreign Domain, the format of this field is <number>@<domain>. See here Database 'sms.HELP', View 'Help Documents', Document 'Foreign Domain set-up'.
  2. Subject: Will hold the mobile number including country code, as described below. You may include multiple numbers by separating these with commas. If you use Foreign Domain addressing the subject field is used for the message body
  3. Body: Contains the message text. If you use Foreign Domain, this field is optional
  4. smsMobileFrom: Optional. Use this to override the name in the standard From field when your message is sent to the SMS gateway. Note: if you are using a gateway that dictates sender names you must use one of these here
  5. smsBodyUni: Optional. Unicode characters translated using the LotusScript routine listed below. From smsPULSE V4 Unicode conversion is automatic
  6. gsm: Optional. Set to "Y" to force the message to be sent via the attached GSM device. Dual-Mode or Multi-Mode only
  7. gsmQue: Optional. Set the queue number you wish your message to be sent through. This applies to smsPULSE MM V4 only when more then one device is attached. See here Database 'sms.HELP', View 'Help Documents', Document 'smsLINES Queues'
  8. smsDelayDate and smsDelayTime: These fields may be used to delay the delivery of the message until the desired time. The smsDelayTime field refines smsDelayDate
  9. smsRule: Optional. The name of the rule you wish executed should the sender reply again
  10. smsFlash: Optional. Set to "Y" to display the message on the users screen without opening it
  11. To send MMS messages instead of standard SMS you can add an image attachment. See below
  12. ReplyTo: Optional, use this field to insert an email address which will be used in case the SMS is rejected for any reason
smsPULSE will send your messages and report back to the sender, via email, on any problems

Note: if you cannot use the API but wish to use a "From Override", see here Database 'sms.HELP', View 'Help Documents', Document 'Form Overrides'.

Example:
Compose an email message or write a program to do the same (using your mail-in definition, assuming you have defined "sms" as a mail-in database pointing at the "smspulse\sms.box" database).
Using Mail-in
set doc = db.CreateDocument 'create a new document
with doc
.SendTo = "SMS" 'mail-in style addressing
.Subject = "44778712345,4459696845,4423452355" 'note that this number is made out of country code and mobile number
.Body = "Hello team, your afternoon meeting has been rescheduled for 15:00. "
call .send( false )
end with
Using Foreign Domain

set doc = db.CreateDocument 'create a new document
with doc
.SendTo = "44778712345@SMS,4459696845@SMS,4423452355@SMS"
.SendTo = Evaluate(|@Explode(SendTo;",")|, doc ) 'converts the list of numbers to an array
.Subject = "Hello team, your afternoon meeting has been rescheduled for 15:00. "
call .send( false )
end with

Sending MMS
You can easily send an MMS message by adding an image to your message. The server must be licensed and configured to send MMS messages. To configure an MMS Communication Line using the MM1 protocol, see here Database 'sms.HELP', View 'Help Documents', Document 'Communication Lines (MMS)', and enable MMS in the system profile, see here Database 'sms.HELP', View 'Help Documents', Document 'System Configuration'. You will need this check-box set in the system profile:

Note: smsPULSE is hard coded to limit the number of allowed attachments in an MMS message to 10.

To convert a message to MMS, simply attach an image and prefix the name with "mms_", for example "mms_newProd.jpg". Images must comply with the following criteria:
  1. File type must be one of the follwing: jpg, gif, bmp or png
  2. The image size must be smaller than the size listed in the system profile

Notes about MMS:
  1. If you send an image that does not start with "mms_" the message will be considered as normal SMS and only text will be sent
  2. A system that is not configured for MMS will ignore images or anything to do with MMS and messages will be sent as SMS
  3. If you send a file that starts with "mms_" but the file does not comply with the size and type rules, the message will be rejected and will not be sent at all
  4. If you attach more than one image which is OK for MMS, only the first one will be used

Example:
Compose an email message or write a program to do the same... (using your mail-in definition, assuming you have defined "sms" as a mail-in database pointing at the "smspulse\sms.box" database).
set doc = db.CreateDocument 'create a new document
with doc
.SendTo = "SMS" 'mail-in style addressing
.Subject = "44778712345,4459696845,4423452355" 'note that this number is made out of country code and mobile number
.Body = "Hello team, your afternoon meeting has been rescheduled for 15:00. "
'prepare and add an attachment which will send the email as MMS instead of normal SMS
Set rtitem = New NotesRichTextItem( doc, "atta" ) 'use any name but "body" as the above will be overwritten
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\mms_newProd.jpg")
'file name must start with "mms_"
call .send( false )
end with

SMS/MMS by saving records in sms.OUT
The application allows you to write records to this database, which again is created the first time the add-in is run. To create records in the database add the following fields for each message you wish to send:
  1. Form: "SMS" or "SMSMULTI"
  2. smsCountry: Country code you want to send the message to, eg "1" for the USA, "44" the UK etc. If the mobile phone numbers include the country code simply set this field to blank ("")
  3. smsMobile: The mobile number, but without the country code or other marks such as +
  4. smsBody: Your message text. If the text is long it may be split into a number of messages and possibly truncated
  5. smsMobileFrom: Optional. A mobile number which may identify your messages to the receiver. Note: if you are using a gateway that dictates sender names you must use one of these here
  6. deleteMe: "Y". Tells smsPULSE to delete sent messages. This is case sensitive so use "Y" if you wish the records to be deleted
  7. Submit: "Y". Tells smsPULSE that a message is ready for delivery. Any other value will keep documents in the database but not deliver them. You can later change this field to "Y" and your messages will be sent
  8. smsBodyUni: Optional. Unicode characters translated using the LotusScript routine listed below. From smsPULSE V4 Unicode conversion is automatic
  9. gsm: Optional. Set to "Y" to force the message to be sent via the attached GSM device. Dual-Mode or Multi-Mode only
  10. gsmQue: Optional. Set the queue number you wish your message to be sent through. This applies to smsPULSE MM V4 only when more then one device is attached. See here Database 'sms.HELP', View 'Help Documents', Document 'smsLINES Queues'
  11. smsRule: Optional. The name of the rule you wish executed should the sender reply again
  12. smsDelayDate and smsDelayTime: These fields may be used to delay the delivery of the message until the desired time. The smsDelayTime field refines smsDelayDate
  13. smsFlash: Optional. Set to "Y" to display the message on the users screen without opening it
smsPULSE will send the messages and if it encounters a problem with a message it will mark it with a red cross. Good messages will be deleted automatically unless the field "deleteMe" does not have the value of "Y"

Example:
set doc = smsMainDB.CreateDocument 'create a new document
with doc
.form = "SMS"
.smsCountry = "44" 'assuming the receiver is in the UK, for a full list check Country Code set-up in this db
.smsMobile = "07787538925" 'no country code here
.smsBody = "Dear John, our system indicates that you have not updated your records today. Please login to..."
.smsBodyUni = makeUnicode( .smsBody(0) ) 'For use with non-Germanic strings. Not required from smsPULSE V4
.smsMobileFrom = "4477872424353" 'this is optional
.deleteMe = "Y" 'must be caps Y
.submit = "Y"
.createdBy = session.UserName

.smsCallback = "Y" 'optional, see note below (caps Y)
.gsm = "Y" 'optional, relevant in dual mode only, forces delivery via GSM (caps Y)
.gsmQue = "6" 'optional. Specifies that the GSM device in 7th position should handle the message
.smsFlash = "Y" 'optional.

'now set Authors and Reader for the document
nameList(0) = "LocalDomainServers"
nameList(1) = session.UserName
nameList(2) = "[Admin]"
Set item1 = New NotesItem( doc, "Authors", nameList, AUTHORS)
Set item2 = New NotesItem( doc, "Readers", nameList, READERS)

'optional attachment of an image, which will route the message as MMS
Set rtitem = New NotesRichTextItem( doc, "atta" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\mms_newProd.jpg")
'file name must start with "mms_"

'ready to save - smsPULSE will pick message within 2 seconds if its queue is empty
call .save( true, false )
end with
MMS
To send your message as an MMS message just attach an appropriate image file to it, as described above.

Multi SMS/MMS by saving records in sms.OUT
This method is very similar to a single message delivery with the following differences:
  1. Form name is "SMSMULTI"
  2. No need to provide values in the fields smsCountry or smsMobile
  3. You need a new field, "smsMobiles", which contains the list of mobile numbers you wish to send your messages to. This is a Notes text list field where each item is in the format <countryCode><mobileNumber>. You may include up to 6000 entries in such a field. If you are unable to create a Notes text list field you may simply assign the field a text value of all the numbers, separated by commas. In this case the maximum numbers you may include must not exceed 250
  4. To force a subset of numbers to be sent via the attached GSM device use a field name "bygsm".
Please note that upon receipt of such a record, smsPULSE breaks the list to a set of records, each containing 250 numbers, then it continues with the delivery.

Example:

set doc = smsMainDB.CreateDocument 'create a new document
with doc
.form = "SMSMULTI"
.smsMobiles = "4459696845,4423452355,3423462666,7835682383" 'upto 250 in this format, Must be a Notes List
.smsBody = "Dear member, our system indicates that you have not updated your records today. Please login to..."
.smsBodyUni = makeUnicode( .smsBody(0) ) 'For use with non-Germanic strings. Not required from smsPULSE V4
.smsMobileFrom = "4477872424353" 'this is optional
.deleteMe = "Y" 'must be caps Y, this is ignored if some messages have failed to deliver
.submit = "Y"
.createdBy = session.UserName

.smsCallback = "Y" 'optional, see note below (caps Y)
.gsm = "Y" 'optional. Dual mode only, forces delivery via GSM (caps Y). Do not use if "bygsm" is used.
.gsmQue = "34089" 'optional. Specifies that the GSM device with a phone number containing "34089" is used.
.smsFlash = "Y" 'optional
.bygsm = "4423452355,3423462666" 'optional. Multi-mode only, forces delivery via GSM of these nos, Must be a Notes List.
'gsm field must Not be set to "Y" in this case.

'now set Authors and Reader for the document
nameList(0) = "LocalDomainServers"
nameList(1) = session.UserName
nameList(2) = "[Admin]"
Set item1 = New NotesItem( doc, "Authors", nameList, AUTHORS)
Set item2 = New NotesItem( doc, "Readers", nameList, READERS)

'optional attachment of an image, which will route the message as MMS
Set rtitem = New NotesRichTextItem( doc, "atta" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\mms_newProd.jpg")
'file name must start with "mms_"

'ready to save - smsPULSE will pick message within 2 seconds if its queue is empty
call .save( true, false )
end with
MMS
To send your message as an MMS message just attach an appropriate image file to it, as described above.

Unicode characters
Please note that the maximum number of letters in such messages is limited to 70. You are still able to chain up to four messages as with standard text. The smsPULSE main application supports Unicode as an integral part of the application. Using the API requires that a new field is added to each document, in either single message format or with multi SMS format. From smsPULSE V4 Unicode conversion is automatic and now handled inside the add-in.

Add the following field: smsBodyUni - Please note that from smsPULSE MM V4, you no longer need to perform this calculation or use this field.
This field works with all methods of submitting Unicode SMS to smsPULSE.

To calculate the text contents of the above field please use the following function. The function was tested in Notes only and may not work on other platforms:

function makeUnicode( inp As String) As String
Dim newStr As String
Dim fLen as Integer
fLen = Len( inp )
For i = 1 To fLen
'the following line obtains each char, gets its unicode value, generate an hex value from that
'and, pads it with zeros so that each letter is represented with exactly four characters
newStr = newStr & Right( "0000" & Hex( Uni(Mid( inp ,i, 1))), 4)
Next
makeUnicode = newStr
end function

Delivery Confirmation
From version 2.2, smsPULSE enables delivery confirmation to the Mobile phone. To enable this feature see the installation notes. To enable each message with this feature you must set an additional field as follows:
smsCallback = "Y"
Please note that this feature will only work if you have completed the installation procedure both on your smsPULSE server and on the smsPULSE website. It is not available in GSM mode if you use smsPULSE V3. However, from smsPULSE V4, delivery confirmation is available in GSM too. Delivery confirmation is not available in MMS messages.

Using standard email
To use the delivery confirmation feature using standard Notes mail, please select the "Return Receipt" delivery option. (Version 2.2.1 upwards)

Number formats
Using email:
When sending messages using the email method, the subject line must include a number in the following format:
<countryCode><mobileNumber>
The mobile number must be stripped of any leading zeros. Any leading zeros or other characters ahead of the country code will be removed. Then the SMS is sent.

Using database records:
When creating database records in this database (smspulse.nsf), the mobile number can remain in its common format but must not have the country code included if the smsCountry field contains data. smsPULSE will "clean" the number from signs and leading zeros and then add the data in smsCountry to the front of it, then send it out.