SMS API

ESMS SMS API allows you to send and receive SMS messages to and from any country in the world 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.

API Endpoint

Markup
https://login.esms.com.bd/api/v3/sms/send
Parameters
Parameter Required Description
Authorization
Yes
When calling our API, send your api token with the authentication type set as Bearer (Example: Authorization: Bearer {api_token})
Accept
Yes
Set to application/json
Send outbound SMS

ESMS’s Programmable SMS API enables you to programmatically send SMS messages from your web application. First, you need to create a new message object. ESMS returns the created message object with each request.

Send your first SMS message with this example request.

API Endpoint

Markup
https://login.esms.com.bd/api/v3/sms/send
Parameters
Parameter Required Type Description
recipient
Yes
string Number to send message. Use comma (,) to send multiple numbers. Ex. 31612345678,8801721970168
sender_id
Yes
string The sender of the message. This can be a telephone number (including country code) or an alphanumeric string. In case of an alphanumeric string, the maximum length is 11 characters.
type
Yes
string The type of the message. For text message you have to insert plain as sms type.
message
Yes
string The body of the SMS message.
schedule_time
No
datetime The scheduled date and time of the message in RFC3339 format (Y-m-d H:i)
Example request for Single Number
PHP
curl -X POST https://login.esms.com.bd/api/v3/sms/send \
-H 'Authorization: Bearer 7|xs6pv2dspHJq8sWLhrpNFH5YLilMRQcVxLwSw2Sd' \
-d "recipient=31612345678" \
-d "sender_id=YourName" \
-d "type=plain" \
-d "schedule_time=2021-12-20 07:00" \
-d "message=This is a test message"
Example request for Multiple Numbers
PHP
curl -X POST https://login.esms.com.bd/api/v3/sms/send \
-H 'Authorization: Bearer 7|xs6pv2dspHJq8sWLhrpNFH5YLilMRQcVxLwSw2Sd' \
-d "recipient=31612345678,8801721970168" \
-d "sender_id=YourName" \
-d "type=plain" \
-d "schedule_time=2021-12-20 07:00" \
-d "message=This is a test message"
Returns

Returns a contact object if the request was successful.

JSON
{
    "status": "success",
    "data": "sms reports with all details",
}

If the request failed, an error object will be returned.

JSON
{
    "status": "error",
    "message" : "A human-readable description of the error."
}
View an SMS

You can use ESMS’s SMS API to retrieve information of an existing inbound or outbound SMS message.

You only need to supply the unique message id that was returned upon creation or receiving.

API Endpoint

Markup
https://login.esms.com.bd/api/v3/sms/{uid}
Parameters
Parameter Required Type Description
uid
Yes
string A unique random uid which is created on the ESMS platform and is returned upon creation of the object.
Example request
PHP
curl -X GET https://login.esms.com.bd/api/v3/sms/606812e63f78b \
-H 'Authorization: Bearer 7|xs6pv2dspHJq8sWLhrpNFH5YLilMRQcVxLwSw2Sd'
Returns

Returns a contact object if the request was successful.

JSON
{
    "status": "success",
    "data": "sms data with all details",
}

If the request failed, an error object will be returned.

JSON
{
    "status": "error",
    "message" : "A human-readable description of the error."
}
View all messages

API Endpoint

Markup
https://login.esms.com.bd/api/v3/sms/
Example request
PHP
curl -X GET https://login.esms.com.bd/api/v3/sms \
-H 'Authorization: Bearer 7|xs6pv2dspHJq8sWLhrpNFH5YLilMRQcVxLwSw2Sd'
Returns

Returns a contact object if the request was successful.

JSON
{
    "status": "success",
    "data": "sms reports with pagination",
}

If the request failed, an error object will be returned.

JSON
{
    "status": "error",
    "message" : "A human-readable description of the error."
}