SMS-over-IP API Documentation (Beta)
M2M Short Messaging Service (SMS) offerings (which operate on the circuit switched service) are typically very costly when compared to the equivalent amount of data service that would be needed to send the same lengths of data; however, SMS is often needed for notifications and certain system integrations.
To provide more competitive SMS rates for your connected devices portfolio, we offer an SMS-over-IP solution that leverages the over-the-air data service (i.e. much less expensive cellular data) and modern SMS gateway partners. This service is available for all Internet-connected devices, whether on our cellular network or not.
Using the API
We offer two API endpoints – one for low-level, TCP/IP socket connectivity (which minimizes the amount of cellular data needing to be consumed) and one that is web-friendly, RESTful HTTP.
Non-REST IP Endpoint
Our low-level, non-REST TCP/IP API endpoint (characters sent and received over low-level socket connections) allows devices to consume very minimal data compared to REST and HTTP
IP: 22.214.171.124, Port: 9999
REST HTTP API Endpoint
Our RESTful HTTP API endpoint is web-friendly (HTTP GET/POST, responses are in JSON format) and makes higher-level integrations easy
Authentication is performed by providing Source Credentials, which consist of a 4-byte Source ID and a 4-byte Key. Source Credentials are random bytes created by our servers, and new Source Credentials can be created on the Services page of our Portal. Future versions of our SMS-over-IP service will allow devices on our cellular network to send SMS-over-IP without needing to authenticate with Source Credentials, leaving only devices outside of our cellular network requiring authentication. Note that unique Source Credentials should be used for each device.
Low-level, non-REST TCP/IP API example
- S, the procedure name, must be capitalized
- ABCD is a 4-byte (4-character) Source Credential authentication identifier for the device, obtainable on the Services tab within the Portal
- WXYZ is a 4-byte (4-character) Source Credential authentication key for the device, obtainable on the Services tab within the Portal
- +11234567890 is the SMS destination country code and telephone number
- Hello! is the message to send, followed by two newline characters
- Clients initiate the conversation, and connections will timeout after several seconds of inactivity (waiting for the client to send a message
- Responses are characters, not integers; on success, a response of 00 should be received
RESTful HTTP API example