Here is a C# .NET code example.
using System;using System.Text;using System.Xml;using System.IO;using System.Net;namespace ExampleXML{class Program{static string url =
"http://sms.message-platform.com/xml/send.aspx";static void Main(string[] args){// Set Debug to true to output request and response XMLbool debug = true;// Account Parametersstring username = "My_User";string password = "My_Pass";string content = "Mediaburst XML API Test - C# Example";/*Numbers to send toNormally this would come from your database/application*/string[] numbers = { "447000000001", "447000000002",
"447000000abc" };// Build the XML request to sendXmlDocument sendDoc = new XmlDocument();XmlDeclaration myDec = sendDoc.CreateXmlDeclaration("1.0",
"utf-8", null);XmlElement messageList = sendDoc.CreateElement("Message");sendDoc.AppendChild(messageList);XmlElement usernameTag = sendDoc.CreateElement("Username");usernameTag.InnerText = username;messageList.AppendChild(usernameTag);XmlElement passwordTag = sendDoc.CreateElement("Password");passwordTag.InnerText = password;messageList.AppendChild(passwordTag);// Create an SMS Element for each recipientforeach (string number in numbers){XmlElement smsTag = sendDoc.CreateElement("SMS");XmlElement toTag = sendDoc.CreateElement("To");toTag.InnerText = number;smsTag.AppendChild(toTag);XmlElement contentTag = sendDoc.CreateElement("Content");contentTag.InnerText = content;smsTag.AppendChild(contentTag);messageList.AppendChild(smsTag);}if (debug)Console.WriteLine("Request: " + sendDoc.OuterXml);try{XmlDocument respDoc = SendXmlDoc(sendDoc);if (debug)Console.WriteLine("Response: " + respDoc.InnerXml);int errNo = 0;string errDesc = String.Empty;foreach (XmlNode docChild in
respDoc.DocumentElement.ChildNodes){switch (docChild.Name){case "SMS_Resp":string msgTo = String.Empty;string msgId = String.Empty;int msgErrNo = 0;string msgErrDesc = String.Empty;foreach (XmlNode respNode in
docChild.ChildNodes){switch (respNode.Name){case "To":msgTo = respNode.InnerText;break;case "MessageID":msgId = respNode.InnerText;break;case "ErrNo":int.TryParse(respNode.InnerText,
out msgErrNo);break;case "ErrDesc":msgErrDesc = respNode.InnerText;break;}}if (msgErrNo > 0){Console.WriteLine("To: " + msgTo+" Error
"+msgErrNo+": "+msgErrDesc);}else{Console.WriteLine("To: " + msgTo + " ID:
" + msgId);}break;case "ErrNo":int.TryParse(docChild.InnerText ,out errNo);break;case "ErrDesc":errDesc = docChild.InnerText;break;}}if (errNo > 0){Console.WriteLine("Error in request");Console.WriteLine("Error Number: " + errNo + "
Description: " + errDesc);}}catch (WebException ex){Console.WriteLine("Web Exception: " + ex.Message);}catch (XmlException ex){Console.WriteLine("Xml Exception: " + ex.Message);}catch (Exception ex){Console.WriteLine("Exception: " + ex.Message);}}/// <summary>/// POSTs the XML document to Mediaburst API webserver/// </summary>/// <param name="myDoc">XML Document containing SMS
messages</param>/// <returns>XML Document from the API</returns>static private XmlDocument SendXmlDoc(XmlDocument myDoc){byte[] buffer = Encoding.UTF8.GetBytes(myDoc.OuterXml);WebRequest myRequest = WebRequest.Create(url);myRequest.ContentType = "text/xml";myRequest.ContentLength = buffer.Length;myRequest.Method = "POST";Stream myStream = myRequest.GetRequestStream();myStream.Write(buffer, 0, buffer.Length);WebResponse myResponse = myRequest.GetResponse();if (((HttpWebResponse)myResponse).StatusCode ==
HttpStatusCode.OK){XmlReaderSettings readSettings = new XmlReaderSettings();readSettings.IgnoreWhitespace = true;readSettings.ValidationType = ValidationType.None;XmlReader myXmlRead =
XmlReader.Create(myResponse.GetResponseStream(), readSettings);XmlDocument respDoc = new XmlDocument();respDoc.Load(myXmlRead);return respDoc;}else{throw new WebException("Non 200 Status Code:"+
((HttpWebResponse)myResponse).StatusCode.ToString());}}}}
using System; using System.Text; using System.Xml; using System.IO; using System.Net;namespace ExampleXML { class Program { static string url = "http://sms.message-platform.com/xml/send.aspx";
static void Main(string[] args) { // Set Debug to true to output request and response XML bool debug = true;
// Account Parameters string username = "My_User"; string password = "My_Pass";
string content = "Mediaburst XML API Test - C# Example";
/* Numbers to send to Normally this would come from your database/application */ string[] numbers = { "447000000001", "447000000002", "447000000abc" };
// Build the XML request to send XmlDocument sendDoc = new XmlDocument(); XmlDeclaration myDec = sendDoc.CreateXmlDeclaration("1.0", "utf-8", null); XmlElement messageList = sendDoc.CreateElement("Message"); sendDoc.AppendChild(messageList); XmlElement usernameTag = sendDoc.CreateElement("Username"); usernameTag.InnerText = username; messageList.AppendChild(usernameTag); XmlElement passwordTag = sendDoc.CreateElement("Password"); passwordTag.InnerText = password; messageList.AppendChild(passwordTag);
// Create an SMS Element for each recipient foreach (string number in numbers) { XmlElement smsTag = sendDoc.CreateElement("SMS"); XmlElement toTag = sendDoc.CreateElement("To"); toTag.InnerText = number; smsTag.AppendChild(toTag);
XmlElement contentTag = sendDoc.CreateElement("Content"); contentTag.InnerText = content; smsTag.AppendChild(contentTag);
messageList.AppendChild(smsTag); } if (debug) Console.WriteLine("Request: " + sendDoc.OuterXml);
try { XmlDocument respDoc = SendXmlDoc(sendDoc); if (debug) Console.WriteLine("Response: " + respDoc.InnerXml);
int errNo = 0; string errDesc = String.Empty;
foreach (XmlNode docChild in respDoc.DocumentElement.ChildNodes) { switch (docChild.Name) { case "SMS_Resp": string msgTo = String.Empty; string msgId = String.Empty; int msgErrNo = 0; string msgErrDesc = String.Empty; foreach (XmlNode respNode in docChild.ChildNodes) { switch (respNode.Name) { case "To": msgTo = respNode.InnerText; break; case "MessageID": msgId = respNode.InnerText; break; case "ErrNo": int.TryParse(respNode.InnerText, out msgErrNo); break; case "ErrDesc": msgErrDesc = respNode.InnerText; break; } } if (msgErrNo > 0) { Console.WriteLine("To: " + msgTo+" Error "+msgErrNo+": "+msgErrDesc); } else { Console.WriteLine("To: " + msgTo + " ID: " + msgId); } break; case "ErrNo": int.TryParse(docChild.InnerText ,out errNo); break; case "ErrDesc": errDesc = docChild.InnerText; break; } } if (errNo > 0) { Console.WriteLine("Error in request"); Console.WriteLine("Error Number: " + errNo + " Description: " + errDesc); } } catch (WebException ex) { Console.WriteLine("Web Exception: " + ex.Message); } catch (XmlException ex) { Console.WriteLine("Xml Exception: " + ex.Message); } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); } }
/// <summary> /// POSTs the XML document to Mediaburst API webserver /// </summary> /// <param name="myDoc">XML Document containing SMS messages</param> /// <returns>XML Document from the API</returns> static private XmlDocument SendXmlDoc(XmlDocument myDoc) { byte[] buffer = Encoding.UTF8.GetBytes(myDoc.OuterXml); WebRequest myRequest = WebRequest.Create(url); myRequest.ContentType = "text/xml"; myRequest.ContentLength = buffer.Length; myRequest.Method = "POST"; Stream myStream = myRequest.GetRequestStream(); myStream.Write(buffer, 0, buffer.Length); WebResponse myResponse = myRequest.GetResponse(); if (((HttpWebResponse)myResponse).StatusCode == HttpStatusCode.OK) { XmlReaderSettings readSettings = new XmlReaderSettings(); readSettings.IgnoreWhitespace = true; readSettings.ValidationType = ValidationType.None; XmlReader myXmlRead = XmlReader.Create(myResponse.GetResponseStream(), readSettings); XmlDocument respDoc = new XmlDocument(); respDoc.Load(myXmlRead); return respDoc; } else { throw new WebException("Non 200 Status Code:"+ ((HttpWebResponse)myResponse).StatusCode.ToString()); }
}
} }
You might find our Mobile site useful.