The GetMessageStatus method uses the MessageID parameter to return the
status of a message (sent, queued, or error description).
Parameter Name | Data Type | Sample Input |
---|---|---|
MessageID: Input unique Guid ID that is returned with every SMS message sent. | Guid | B01d89fd-5155-5455-5585-e84ab8de8591 |
HTTP Method: GET
Url:
http://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID={MESSAGEID}
Url:
https://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID={MESSAGEID}
Parameter Name |
Data Type |
Sample Output |
---|---|---|
Cancelled: Returns true or false if the SMS message has been cancelled. |
Boolean |
False |
MessageID: Returns unique Guid ID for every SMS message sent. |
Guid |
B01d89fd-5155-5455-5585-e84ab8de8591 |
Queued: Returns true or false if the SMS message has been queued. |
Boolean |
True |
ReferenceID: Returns a unique ID that is assigned during request input. (Not a required Input) |
String |
CDYNE Test |
SMSError: Returns a string indicating if there was an error sending the SMS message.
|
String |
NoError |
SMSIncomingMessages: Returns an array of type SMSIncomingMessage |
SMSIncomingMessage[] |
See Table Below |
Sent: Returns true or false if the SMS message has been sent to the carrier. |
Boolean |
False |
SentDateTime: Returns the UTC Date and Time of when the message was sent. |
Datetime |
0001-01-01T00:00:00 |
SMSIncomingMessage Parameter Name | Data Type | Sample Output |
---|---|---|
FromPhoneNumber: Returns the phone number that sent this incoming message. | String | 17575449510 |
IncomingMessageID: Returns a unique Guid ID for this incoming message. | Guid | 1835fecd-8402-4b02-91a4-5f4f9e036fe6 |
MatchedMessageID: Returns a unique Guid ID that matches the outgoing MessageID that this message is in response to. | Guid | B01d89fd-5155-5455-5585-e84ab8de8591 |
Message: Returns the content of the incoming message. | String | Ok. |
ResponseReceiveDate: Returns the UTC Date and Time of when the message was received. | DateTime | 0001-01-01T00:00:00 |
ToPhoneNumber: Returns the destination phone number of this incoming message. | String | 17577698337 |
The following is an example response Xml body:
<SMSResponse xmlns="http://sms2.cdyne.com">
<Cancelled>true</Cancelled>
<MessageID>1627aea5-8e0a-4371-9022-9b504344e724</MessageID>
<Queued>true</Queued>
<ReferenceID>String content</ReferenceID>
<SMSError>NoError</SMSError>
<SMSIncomingMessages>
<SMSIncomingMessage>
<FromPhoneNumber>String content</FromPhoneNumber>
<IncomingMessageID>1627aea5-8e0a-4371-9022-9b504344e724</IncomingMessageID>
<MatchedMessageID>1627aea5-8e0a-4371-9022-9b504344e724</MatchedMessageID>
<Message>String content</Message>
<ResponseReceiveDate>1999-05-31T11:20:00</ResponseReceiveDate>
<ToPhoneNumber>String content</ToPhoneNumber>
</SMSIncomingMessage>
<SMSIncomingMessage>
<FromPhoneNumber>String content</FromPhoneNumber>
<IncomingMessageID>1627aea5-8e0a-4371-9022-9b504344e724</IncomingMessageID>
<MatchedMessageID>1627aea5-8e0a-4371-9022-9b504344e724</MatchedMessageID>
<Message>String content</Message>
<ResponseReceiveDate>1999-05-31T11:20:00</ResponseReceiveDate>
<ToPhoneNumber>String content</ToPhoneNumber>
</SMSIncomingMessage>
</SMSIncomingMessages>
<Sent>true</Sent>
<SentDateTime>1999-05-31T11:20:00</SentDateTime>
</SMSResponse>
The following is an example response Json body:
{
"Cancelled":true,
"MessageID":"1627aea5-8e0a-4371-9022-9b504344e724",
"Queued":true,
"ReferenceID":"String content",
"SMSError":0,
"SMSIncomingMessages":[{
"FromPhoneNumber":"String content",
"IncomingMessageID":"1627aea5-8e0a-4371-9022-9b504344e724",
"MatchedMessageID":"1627aea5-8e0a-4371-9022-9b504344e724",
"Message":"String content",
"ResponseReceiveDate":"\/Date(928164000000-0400)\/",
"ToPhoneNumber":"String content"
}],
"Sent":true,
"SentDateTime":"\/Date(928164000000-0400)\/"
}
Add a service reference to http://sms2.cdyne.com/sms.svc?wsdl
Get Message Status
WSDL.IsmsClient client = new WSDL.IsmsClient("sms2wsHttpBinding");
WSDL.SMSResponse resp = client.GetMessageStatus(new Guid("MESSAGE ID HERE"));
Console.WriteLine(resp.SentDateTime + " " + resp.SMSError );
Console.ReadLine();
client.Close();
Send Message Then Get Message Status
IsmsClient client = new IsmsClient("sms2wsHttpBinding");
SMSResponse resp = client.SimpleSMSsend("17575449510", "CDYNE Test Message", new Guid("YOUR LICENSE KEY"));
DateTime sentTime = DateTime.Now;
TimeSpan span = DateTime.Now - sentTime;
while (!sent && span.TotalSeconds < 5)
{
Thread.Sleep(5000);
resp = client.GetMessageStatus(resp.MessageID);
sent = resp.Sent;
span = DateTime.Now - sentTime;
}
Console.WriteLine("Message Sent: " + resp.Sent + "\n" + "Error: " + resp.SMSError + "\n" + "Message ID: " + resp.MessageID);
Console.ReadLine();
client.Close();
Add a service reference to http://sms2.cdyne.com/sms.svc?wsdl
Get Message Status
Imports GetMessageStatus.WSDL
Module Module1
Sub Main()
Dim client As New GetMessageStatus.WSDL.IsmsClient("sms2wsHttpBinding")
Dim resp As GetMessageStatus.WSDL.SMSResponse = client.GetMessageStatus(New Guid("MESSAGE ID HERE"))
Console.WriteLine(resp.SentDateTime & " " & resp.SMSError)
Console.ReadLine()
client.Close()
End Sub
End Module
Send Message Then Get Message Status
Imports VBapp.SMS
Module Module1
Dim WithEvents T As System.Timers.Timer = New System.Timers.Timer(5000)
Dim messageID As Guid
Dim client As IsmsClient = New IsmsClient("sms2wsHttpBinding")
Sub Main()
Dim res As SMS.SMSResponse = client.SimpleSMSsend("7575449510", "Hi Tom", Guid.Empty)
messageID = res.MessageID
T.Start()
Console.ReadLine()
End Sub
Private Sub ttick(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles T.Elapsed
Console.WriteLine("Tick")
Dim resp As SMS.SMSResponse = client.GetMessageStatus(messageID)
If resp.SMSIncomingMessages.Length > 0 Then
Console.WriteLine(resp.SMSIncomingMessages(0).Message)
T.Stop()
Console.WriteLine("Timer Close")
End If
End Sub
End Module
$client = new SoapClient('http://sms2.cdyne.com/sms.svc?wsdl');
$param = array(
'MessageID' => '(your message ID here)'//MessageID from SMSResponse Object
);
$result = $client->GetMessageStatus($param);
print_r($result);
$url='http://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID=(MESSAGE ID HERE)';
$cURL = curl_init();
curl_setopt($cURL,CURLOPT_URL,$url);
curl_setopt($cURL,CURLOPT_HTTPGET,true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Accept: application/json'));
$result = curl_exec($cURL);
curl_close($cURL);
print_r($result);
Dim oXMLHTTP
Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")
Set oDoc = CreateObject("MSXML2.DOMDocument")
Call oXMLHttp.Open("GET", "http://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID=MESSAGE ID HERE", False)
Call oXMLHttp.setRequestHeader("Content-Type", "text/xml")
Call oXMLHTTP.send
MsgBox oXMLHTTP.responseText
require 'net/http'
require 'URI'
puts URI.methods
url = URI.parse('http://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID=MESSAGE ID HERE')
res = Net::HTTP.get_response(url)
data = res.body
puts data
gets data
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public final class GetMessageStatus{
public static void main(String[] args) {
try{
URL url = new URL("http://sms2.cdyne.com/sms.svc/GetMessageStatus?"
+ "MessageID=YOUR MESSAGEID");
try{
InputStream in = url.openStream();
StreamSource source = new StreamSource(in);
printResult(source);
}catch(java.io.IOException e){
e.printStackTrace();
}
}catch (MalformedURLException e){
e.printStackTrace();
}
}
private static void printResult(Source source) {
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
StreamResult sr = new StreamResult(bos);
Transformer trans = TransformerFactory.newInstance().newTransformer();
Properties oprops = new Properties();
oprops.put(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperties(oprops);
trans.transform(source, sr);
System.out.println("**** Response ******");
System.out.println(bos.toString());
bos.close();
System.out.println();
} catch (Exception e) {
}
}
}