Developer API

HTTP API for sending SMS and voice messages from your own software.

Connect your own software to eSMS Africa with a simple HTTP API. Send text messages, place voice calls, convert text to speech, and read your account data. Every request goes to one endpoint and answers in JSON.

Endpoint: https://portal.esmsafrica.com/api/

Keep your credentials private. Your API username and password give full access to your account. Call the API from your own server, never from a web page or mobile app that other people can inspect, and always use https.

Send a text message

https://portal.esmsafrica.com/api/?username=user&password=pass&message=test&sender=welcome&mobiles=2348030000000,2348020000000

Replace user and pass with your account details. Separate several numbers with commas.

Example responses

Success

{"status":"OK","count":1,"price":2}

Failed

{"error":"Login denied.","errno":"103"}

Other optional parameters

ParameterDescription
contactsThe list of contact ids to send the message to.
groupsThe list of group ids to send the message to.
numbersThe list of number ids to send the message to.
typeThe type of message: text, call or tts.
messageThe message text, or an audio reference number.

Call message

https://portal.esmsafrica.com/api/?username=user&password=pass&message=391000&sender=2348030000000&mobiles=2348020000000&type=call

Upload audio

Use action=upload and give the address of the audio file in url. The response contains a reference you can use later to play the audio in a call.

https://portal.esmsafrica.com/api/?username=user&password=pass&action=upload&url=https://example.com/sample.mp3

Example response

{"status":"success","error":"","errno":"","data":{"reference":"ac798a79-f9e9-4662-c85b-f53ae1e62691","seconds":22,"size":"339.78KB"}}

Send text to speech (TTS)

https://portal.esmsafrica.com/api/?username=user&password=pass&message=welcome+to+eSMS+Africa&type=tts&sender=2348040000000&mobiles=2348030000000

Example response

{"status":"success","error":"","errno":"","data":{"f75cfaec-5565-2044-449a-71f474f9f7d7":"2348030000000"}}

Send audio

Put the audio reference in message and set type=call.

https://portal.esmsafrica.com/api/?username=user&password=pass&message=ac798a79-f9e9-4662-c85b-f53ae1e62691&type=call&sender=441120000000&mobiles=441130000000

Example response

{"status":"success","error":"","errno":"","data":{"b5703ef4-9730-c56e-d884-a314fe974cd6":441130000000}}

Fetch account data

https://portal.esmsafrica.com/api/?username=user&password=pass&action=balance

Change the action value to read other data:

ActionReturns
loginPerforms an account login to validate a user.
profileThe customer profile of the account.
balanceThe current balance on the account.
contactsThe saved contacts on the account.
numbersThe saved numbers on the account.
groupsThe groups on the account.
audiosThe saved audios on the account.
historyThe message history on the account.
scheduledThe scheduled messages on the account.
reportsThe delivery reports on the account.
paymentsThe payment history on the account.

Error codes

When a request fails, the response includes an errno from this list.

CodeMeaning
000Request successful
100Incomplete request parameters
101Request denied
110Login status failed
111Login status denied
120Message limit reached
121Mobile limit reached
122Sender limit reached
130Sender prohibited
131Message prohibited
140Invalid price setup
141Invalid route setup
142Invalid schedule date
150Insufficient funds
151Gateway denied access
152Service denied access
160File upload error
161File upload limit
162File restricted
190Maintenance in progress
191Internal error

Need API access?

Talk to our team and we will help you get started. Contact us or message us on WhatsApp.

Get messaging tips in your inbox

Occasional updates from eSMS Africa. Unsubscribe any time.