SMS SOAP API for Business Applications
Messaging Web Service overview
The Messaging Web Service provided by MessageMedia is a server-side API that may be integrated into client applications. It allows client applications to send and receive SMS and text to voice messages over the internet, and track delivery of text messages. This web service provides an interface to the MessageMedia Gateway. The MessageMedia Gateway provides intelligent carrier-switching and routes messages through different communication carriers to maximize efficiency and service.
Client applications communicate with the Messaging Web Service via XML documents. These XML documents may be transported to and from the web service via either SOAP or HTTP-POST.
Messaging Web Service features
The Messaging Web Service provides client applications with the following features:
- Communication with the MessageMedia gateway via XML over either SOAP or HTTP-POST
- Communication over either secure or non-secure HTTP
- Support of mobile-terminated (MT) and mobile-originated (MO) messaging
- Ability to send text to voice messages to both mobile and landline devices
- Support of multiple mixed-format message sending per transaction
- Support of delivery reporting (delivery status information for MT messages returned by the carrier network)
- Ability to receive multiple MO messages per transaction
- Support of concatenated SMS (i.e. SMS messages greater than 160 characters are not split up—they are concatenated into a single SMS message delivered to the recipient)
- Redundant service
Client requirements for service integration
The Messaging Web Service provides a server-side interface to client applications. It can be leveraged by any programming language and platform that can transfer XML data over the internet via either SOAP or generic HTTP-POST. Following are the minimum level of requirements necessary for integration of the web service:
- General web programming knowledge and experience
- Basic familiarity with either SOAP or HTTP-POST
- Basic understanding of XML
XML transport via SOAP
The Messaging Web Service is available as a SOAP 1.1 web service at http://soap.m4u.com.au. In general, it is much easier for developers to integrate with SOAP web services as opposed to communication via XML over HTTP-POST. The reason for this is that there are an abundance of third-party toolkits for generating client proxies for XML web services.
A client proxy is a software module (usually a set of classes) that is integrated into a client application. It provides the client application with the ability to communicate with a specific web service via function calls. Client proxies allow the developer to work at a higher level, focusing on objects and patterns rather than the manipulation and transport of raw XML. Most computing languages and platforms offer tools that take a WSDL file and associated XML schema files as input and automatically generate a client proxy for the developer.
The Messaging Web Service WSDL file can be found at http://soap.m4u.com.au/?wsdl. The Messaging Web Service implements a document/literal wrapped web service that conforms to WS-I Basic Profile 1.0. In general document/literal wrapped web services and in particular, WS-I Basic Profile compliant web services, provide the highest level of interoperability with client applications and third-party tools.
XML transport via HTTP-POST
In addition to SOAP the MessageMedia Messaging Web Service is also available via HTTP-POST. For ease of implementation it is recommended that developers integrate the Messaging service as a SOAP web service; given the prominence of SOAP development frameworks and tools, this saves having to generate and parse raw XML documents. If, for whatever reason, SOAP is not a viable option the HTTP-POST method is made available and provides the same level of functionality.
The Messaging Web Service is available as a HTTP-POST web service at http://xml.m4u.com.au. The HTTP-POST method follows the exact same XML format as the SOAP method—instead of the XML request being contained within the body of a SOAP envelope it is passed to the Messaging Web Service as a HTTP-POST message. The body of the POST should contain a single parameter, “XMLDATA”. The value of the parameter is a URL-encoded text string that contains the XML request document.
For a full detailed technical information to integrate this Web Service into your applications, please contact us.
Sample Code Available
Sample codes for you to connect to a SOAP API and get up and running on Windows, Linux/Unix or Mac in your preferred language are also available on GitHub in C#, Java, PHP, Bash & Python.