SMS API
Overview
SMS Local SMS API allows you to test sending SMS messages to any destination through a REST API. Each message is identified by a unique random ID so that users can always check the status of a message using the given endpoint. SMS Local SMS API uses HTTP verbs and a RESTful endpoint structure with an access key (token) that is used as the API Authorization. Request and response payloads are formatted as JSON using UTF-8 encoding and URL encoded values.
API Endpoint
All URLs referenced in SMS Local CPaaS SMS API documentation have the base URL:
https:// {secure.smslocal.com} /api/service/enterprise-service/external/sms
Available HTTP methods
SMS Local API uses HTTP verbs to understand if you want to read (GET), or create (POST) an object.
POST {protocol}:// {secure.smslocal.com} /api/service/enterprise-service/external/sms GET {protocol}:// {secure.smslocal.com} /api/service/enterprise-service/external/sms
Authentication Parameters
Parameter | Description |
---|---|
Token | When calling our API, send your access key with the authentication type set as Token (Example: Token: {accessKey}). Required. |
Content-Type | Set to application/json |
Authentication Example:
curl -X POST https://test-cpaas.enabld.tech/api/service/enterprise-service/external/sms -H
“Token: 7K1aSEyjlE5FUf0“
“Token: 7K1aSEyjlE5FUf0“
The Message Object
Attributes | Type | Description |
---|---|---|
msgid | uuid | A unique random ID which is created on the Service Provider platform and is returned upon creation of the object. |
From | String | The sender of the message. This can be a telephone number (including country code) or an alphanumeric string. In the case of an alphanumeric string, the maximum length is 11 characters. |
to | int | Recipient number |
content | string | The content of the SMS message |
datacoding | int | Note: Using Unicode will limit the maximum number of characters to 70 instead of 160. If message character size exceeds the limit, messages will be concatenated, resulting in separately billed messages. |
SendOn | datetime | The date and time of the creation of the message in RFC3339 format (Y-m-dTH:i:sP) |
direction | string | Tells you if the message is sent or received. mt: mobile terminated (sent to mobile) mo: mobile originated (received from mobile) |
errorcode | int | Error code of message |
Message Object Example (SMS)
{“msgid“:”jsauGFsyuadssaiu”,
“from“:”new”,
“to“:”373795846855”,
“direction“:”mt”,
“content“:”This is a test message”,
“datacoding”:”0″,
“sendOn“:”2022-12-29T15:10:00+02:00”,
“errorcode”:”200″}
“from“:”new”,
“to“:”373795846855”,
“direction“:”mt”,
“content“:”This is a test message”,
“datacoding”:”0″,
“sendOn“:”2022-12-29T15:10:00+02:00”,
“errorcode”:”200″}
Send SMS
SMS Local Programmable SMS API enables you to programmatically send SMS messages from your web application. First, you need to create a new message object. SMS Local returns the created message object with each request. Send your first SMS message with this example request.
Example Request
curl –location –request POST https://test-cpaas.enabld.tech/api/service/enterprise-service/external/sms
-header Content-Type: application/json –header
“Token: 7K1aSEyjlE5FUf0“
data{“from”:”new”, “to”:”373795846855″,”content”:”This is a test message“}
-header Content-Type: application/json –header
“Token: 7K1aSEyjlE5FUf0“
data{“from”:”new”, “to”:”373795846855″,”content”:”This is a test message“}
Example Response
“msgid“: “d0skeudgeh2l”, “errorcode“: “200”
Handle Status Report
Status reports are HTTP GET or POST requests that are sent to your platform. The requests hold information about the status of a message that you have sent through our API. Status reports are only provided for SMS messages that have a reference defined when sending the message, and a status report URL is set as report URL when sending the message or configured in their account as callback Endpoint.
Attributes | Type | Description |
---|---|---|
msgid | string | The message ID allocated to the message by CPaaS system when has been originally submitted. |
recipient | int | The recipient MSISDN. |
status | int | null | Error code that describes the failure (optional, null if not available). It may hold a Network specific error code or an SMSC error code for the attempted delivery of the message. |
Status Error Code | string | The content of the SMS message |
subdate | datetime | The time and date at which the message has been submitted. In the case of a message which has been replaced, this is the date that the original message was replaced. The format is as follow: YYMMDDhhmm |
donedate | datetime | The time and date at which the message reached its final state. The format is the same as for the submit date. |
datacoding | string | The encoding of the message. Possible values: GSM7, Unicode. |
smspart | int | Indicates that SMS is part of long message. |
smsidentifier | int | The part number of long SMS. |
Response
The platform of Enterprise should respond with a 200 OK HTTP header. When the platform doesn’t receive a 200 OK header, it will try to deliver the receipt again (according to STFW policy).
Example Request
GET http://secure.smslocal.com/ report?msgid=gstafd4saftghsad& recipient=373798756364& status=Delivrd&statusDatetime=2017-09-01T10:00:05+00:00&datacoding=Gsm7
Example Response
200 OK