COM component

Send messages from Classic ASP and VBScripts

Using the IntelliSMS COM Component you can send SMS messages from any language that supports COM. This includes VB, VBScript, JScript, ASP, C++. This component is free to download and use.

Download:

 Download COM Component (IntelliSMS.dll)

Install:

1. Save IntelliSMS.dll to harddrive (e.g. C:\IntelliSMS\IntelliSMS.dll)
2. Start->Run..
3. Type 'regsvr32 C:\IntelliSMS\IntelliSMS.dll' and click OK

Properties:

AccessKey This is your AccessKey used to authenticate to you IntelliSoftware account
Click here to create an AccessKey / SecretKey pair
SecretKey This is your SecretKey used to authenticate to you IntelliSoftware account
Click here to create an AccessKey / SecretKey pair
MaxConCatMsgs Maximum number of concatenated SMS messages that will be sent per recipient (Default is 1)
ProxyAddress (Optional) If a proxy server is required to access the internet then set this property to the address of your proxy server

SendMessage Method

Sends an SMS message via the Internet Gateway.

SendMessage ( To As String, Text As String, From As String, MessageId As Variant ) As ResultCodes
			

Parameters:

To Input This is the destination phone number
Text Input The content of the text message
From Input This is the source/sender's phone number
MessageId Output Unique message ID
ResultCode Return See ResultCodes

ASP Example:

<%
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Result = IntelliSMS.SendMessage _
    ( "44771012345", "Hello", "SENDER_ID", MessageId )
%>

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Dim MessageId As Variant
Dim Result As INTELLISMSLib.ResultCodes

Result = IntelliSMS.SendMessage _
    ( "44771012345", "Hello", "SENDER_ID", MessageId )

SendMessageToMultipleRecipients Method

Sends an SMS message to multiple recipients via the Internet Gateway.

SendMessageToMultipleRecipients ( To As String, Text As String, From As String ) As SendStatusCollection

Parameters:

To Input

This is the destination phone number(s)
NOTE: Separate multiple numbers by a comma

Text Input The content of the text message
From Input This is the source/sender's phone number
SendStatusCollection Return

Collection containing the send status for each recipient. See SendStatusCollection

ASP Example:

<%
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Set SendStatusColl = IntelliSMS.SendMessageToMultipleRecipients _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

If SendStatusColl.OverallResult <> 1 Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    For Each Status In SendStatusColl
         Summary = Summary & "To=" & Status.To & _
             ", MessageId=" & Status.MessageId & _
             ", Result=" & Status.ResultCode & "<BR>"
    Next
End If

Response.Write Summary
%>
    		

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Dim SendStatusColl As INTELLISMSLib.SendStatusCollection

Set SendStatusColl = IntelliSMS.SendMessageToMultipleRecipients _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

Dim Summary As String

If SendStatusColl.OverallResult <> ResultCodes.rcOK Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    Dim Status As INTELLISMSLib.SendStatus
    For Each Status In SendStatusColl
        Summary = Summary & "To=" & Status.To & _
            ", MessageId=" & Status.MessageId & _
            ", Status=" & Status.ResultCode & vbCrLf
    Next
End If

MsgBox Summary
				

SendUnicodeMessage Method

Sends a Unicode SMS message to multiple recipients via the Internet Gateway. The Unicode format is used to send multilingual messages not support by the standard GSM character set.

SendUnicodeMessage ( To As String, Message As String, From As String ) As SendStatusCollection
SendUnicodeMessageHex ( To As String, MessageHex As String, From As String ) As SendStatusCollection
See Unicode Character Codes for more details.

Parameters:

To Input

This is the destination phone number(s)
NOTE: Separate multiple numbers by a comma

Message Input The content of the text message (70 Unicode characters max.)
MessageHex Input Unicode text encoded in hexadecimal (140 octets max, 70 unicode characters)
From Input This is the source/sender's phone number
SendStatusCollection Return

Collection containing the send status for each recipient. See SendStatusCollection

ASP Example:

<%
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Set SendStatusColl = IntelliSMS.SendUnicodeMessage _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

If SendStatusColl.OverallResult <> 1 Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    For Each Status In SendStatusColl
         Summary = Summary & "To=" & Status.To & _
             ", MessageId=" & Status.MessageId & _
             ", Result=" & Status.ResultCode & "<BR>"
    Next
End If

Response.Write Summary
%>
			

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Dim SendStatusColl As INTELLISMSLib.SendStatusCollection

Set SendStatusColl = IntelliSMS.SendUnicodeMessage _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

Dim Summary As String

If SendStatusColl.OverallResult <> ResultCodes.rcOK Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    Dim Status As INTELLISMSLib.SendStatus
    For Each Status In SendStatusColl
        Summary = Summary & "To=" & Status.To & _
            ", MessageId=" & Status.MessageId & _
            ", Status=" & Status.ResultCode & vbCrLf
    Next
End If

MsgBox Summary
				

SendBinaryMessage Method

Sends a Binary SMS message via the Internet Gateway. Binary Messages can be used to send SmartMessages, such as Ringtones and Logos.

SendBinaryMessage ( To As String, UserDataHeaderHex As String, UserDataHex As String, From As String ) As SendStatusCollection

Parameters:

To Input

This is the destination phone number(s)
NOTE: Separate multiple numbers by a comma

UserDataHeaderHex Input (Optional) User Data Header
UserDataHex Input User Data (140 octets max)
From Input This is the source/sender's phone number
SendStatusCollection Return

Collection containing the send status for each recipient. See SendStatusCollection

ASP Example:

<%
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Set SendStatusColl = IntelliSMS.SendBinaryMessage ( _
    "44771012345,44771023456", "06050415820000", _
    "32F40100480E0100000000000000000000000000000000000000" & _
    "0000000000000000000001247803000000E0080120CC06400000" & _
    "40080120CC06C00000479E7124F0EFFADCF64448892479B6DAC6" & _
    "CD4448F9241DB6DACECF44488124CDB6CD96CC44488924CDB6CD" & _
    "96CDE446712478E66D9EC6000000000000000000000000000000" & _
    "000000", "SENDER_ID" )

If SendStatusColl.OverallResult <> 1 Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    For Each Status In SendStatusColl
         Summary = Summary & "To=" & Status.To & _
             ", MessageId=" & Status.MessageId & _
             ", Result=" & Status.ResultCode & "<BR>"
    Next
End If

Response.Write Summary
%>
    		

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.AccessKey = "MyUsername"
IntelliSMS.SecretKey = "MyPassword"

Dim SendStatusColl As INTELLISMSLib.SendStatusCollection

Set SendStatusColl = IntelliSMS.SendBinaryMessage ( _
    "44771012345,44771023456", "06050415820000", _
    "32F40100480E0100000000000000000000000000000000000000" & _
    "0000000000000000000001247803000000E0080120CC06400000" & _
    "40080120CC06C00000479E7124F0EFFADCF64448892479B6DAC6" & _
    "CD4448F9241DB6DACECF44488124CDB6CD96CC44488924CDB6CD" & _
    "96CDE446712478E66D9EC6000000000000000000000000000000" & _
    "000000", "SENDER_ID" )

Dim Summary As String

If SendStatusColl.OverallResult <> ResultCodes.rcOK Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    Dim Status As INTELLISMSLib.SendStatus
    For Each Status In SendStatusColl
        Summary = Summary & "To=" & Status.To & _
            ", MessageId=" & Status.MessageId & _
            ", Status=" & Status.ResultCode & vbCrLf
    Next
End If

MsgBox Summary
				

The above examples send an 'IntelliSoftware' operator logo to a handset.

GetBalance Method

Obtains the available credits on an account.

GetBalance ( Balance As Variant ) As ResultCodes

Parameters:

Balance Output Number of remaining credits
ResultCode Return

See ResultCodes

ASP Example:

<%
Dim IntelliSMS
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Dim Balance

ResultCode = IntelliSMS.GetBalance ( Balance )
%>

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Dim Balance As Variant
Dim Result As INTELLISMSLib.ResultCodes

Result = IntelliSMS.GetBalance ( Balance )
			

SendStatusCollection Class

Collection containing the send status for each recipient.

Methods:

Item(Index) As SendStatus Returns an individual SendStatus object from the collection

Properties:

OverallResult Indicates the overall success/failure. See ResultCodes
Count Number of SendStatus objects in the collection

ASP Example:

<%
Set IntelliSMS = Server.CreateObject("IntelliSoftware.IntelliSMS")

IntelliSMS.AccessKey = "Yva$ER%Uhs+UU[MzwEYe"
IntelliSMS.SecretKey = "F{kQ^s`wVpm!EU~Bx8yB^A$N$[l{pxJA"

Set SendStatusColl = IntelliSMS.SendMessageToMultipleRecipients _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

If SendStatusColl.OverallResult <> 1 Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    For Each Status In SendStatusColl
         Summary = Summary & "To=" & Status.To & _
             ", MessageId=" & Status.MessageId & _
             ", Result=" & Status.ResultCode & "<BR>"
    Next
End If

Response.Write Summary
%>
			

VB Example:

Dim IntelliSMS As New INTELLISMSLib.IntelliSMS

IntelliSMS.Username = "MyUsername"
IntelliSMS.Password = "MyPassword"

Dim SendStatusColl As INTELLISMSLib.SendStatusCollection

Set SendStatusColl = IntelliSMS.SendMessageToMultipleRecipients _
    ("44771012345,44771023456", "Hello", "SENDER_ID")

Dim Summary As String

If SendStatusColl.OverallResult <> ResultCodes.rcOK Then
    Summary = "Failed, Result=" & SendStatusColl.OverallResult
Else
    Dim Status As INTELLISMSLib.SendStatus
    For Each Status In SendStatusColl
        Summary = Summary & "To=" & Status.To & _
            ", MessageId=" & Status.MessageId & _
            ", Status=" & Status.ResultCode & vbCrLf
    Next
End If

MsgBox Summary
			

SendStatus Values

Provides the send status for a recipient.

Properties:

To Recipient's phone number that this status report is relevant
MessageId ID for this message.
ResultCode Indicates the success/failure of message submission for this recipient.
See ResultCodes

ResultCodes Values

Indicates the success/failure of a request.

Returned by SendMessage, GetBalance, SendStatus.ResultCode and SendStatusCollection.OverallResult properties.

INTELLISMSLib.ResultCodes

Values:

0 rcUnknown Unknown error has occurred
1 rcOK Request was successfully actioned
2 rcNoUsername Username was not supplied (Set Username property)
3 rcNoPassword Password was not supplied (Set Password property)
4 rcNoTo Message recipient(s) not specified
5 rcNoText Message text not specified
6 rcLoginInvalid Username/Password not valid
7 rcInsufficientCredit Insufficient credit available to complete the request
8 rcGatewayError An error occurred on remote gateway (please retry later)
9 rcInternalError An error occurred on remote gateway (please retry later)
10 rcHTTPConnectionError Unable to make connection to remote gateway
11 rcInvalidNumber The recipient number is invalid
12 rcInvalidRequest The request was invalid
13 rcServerTooBusy Remote gateway too busy (please retry later)
14 rcMsgIdInvalid Supplied Message ID not valid
15 rcParameterMissing Mandatory parameter is missing
16 rcParameterInvalid A supplied parameter is invalid
17 rcAccountExists CreateSubaccount - subaccount already exists
18 rcTooManyNumbers Too many recipients specified
19 rcNoMsgId MsgId paramter was missing
20 rcDailyAllowanceExceeded Your Daily Allowance is exceeded
21 rcMonthlyAllowanceExceeded Your Monthly Allowance is exceeded
22 rcAuthParameterMissing Auth Parameter is missing
23 rcAuthParameterInvalid Auth Parameter is invalid
24 rcConnectionNotSecure Could not action request as connection is not secure

Advanced Features

Send to Distribution Lists (or Group Send)

Our gateway allows you to send SMS messages to preconfigured Distribution Lists or Groups. To send to a Distribution List or Group simply insert the Group Name were you would normally place the recipient's phone number. Distribution Lists or Groups are setup in your online account login on the Contacts page.

Reply Tracking:

The IntelliSoftware platform provides tracking of SMS replies, allowing you to determine which particular message a mobile user is replying to. When you submit a message to the SMS Gateway you can supply a User Context parameter. When a reply is received, the IntelliSoftware platform will included the User Context parameter when forwarding the message to your server.

The User Context can be supplied to the IntelliSoftware platform in the following ways:

.Net Component use SendMsgWithUserContext method
COM Component use SendMessageWithUserContext method
HTTP Interface add 'usercontext' POST/GET parameter
SMTP Interface (Email to SMS) add 'UserContext:' parameter
PHP SDK use SendMessageWithUserContext method
Java SDK use SendMessageWithUserContext method

The IntelliSoftware platform will forward the User Context for received messages in the following ways:

HTTP Interface 'usercontext' POST/GET parameter
SMTP Interface (SMS to Email) User Context appears in Subject line
Registered in England Number 3549137.
Registered in the UK for VAT Number 712 1836 61
© 2018 IntelliSoftware Limited.