GetMessageStatus

From CDYNE Wiki
Jump to: navigation, search

The GetMessageStatus method uses the MessageID parameter to return the status of a message (sent, queued, or error description).

Contents

GetMessageStatus Request

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

HTTP Method: GET

Url: http://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID={MESSAGEID}

Url: https://sms2.cdyne.com/sms.svc/GetMessageStatus?MessageID={MESSAGEID}

GetMessageStatus Response


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.
  • NoError
  • STOPfromPhoneNumber
  • LicenseKeyInvalid
  • PhoneNumberInvalid
  • MessageInvalid
  • ScheduledDateTimeIsNotUTC
  • InvalidAssignedDID
  • NotFound (Occurs for Invalid MessageID)
  • InternalError
  • ContactCdyneAccountSuspended
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

XML Response

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>

Json Response

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)\/"
}

C#

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();

VB.NET

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

GetMessageStatus Code Examples

PHP

  • Returns the status of a single SMS message using the Message ID from the SMSResponse object.
 
 
$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);
 
 

PHP with cURL

  • Returns the status of a single SMS message using the Message ID from the SMSResponse object.
 
 
$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);
 
 

VBScript

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

Ruby

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

JAVA

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) {
}
}
}
Personal tools
Namespaces

Variants
Actions
Navigation
Tools

Trial Key