HTTP API (REST)
Designed for web, mobile and business applications: your code calls the API when an event must trigger an SMS (sign-up, payment, alert).
- SMS sending
- Delivery report collection
- Number check with the e-PNC API
- Inbound SMS reception
An HTTP API (REST) and SMPP to connect your systems to the e-MC platform, plus a Phone Number Checker API. The previews below show their structure with fictitious values; the base URL, credentials and full documentation are provided during integration.
The e-MC REST API sends your SMS from your server and returns their delivery status. Here is the structure of a send, with fictitious values.
POST {{baseUrl}}/sms
Authorization: Basic YOUR_ENCODED_CREDENTIALS
Content-Type: application/json
{
"from": "YOUR_SENDER_ID",
"to": "229XXXXXXXXX",
"content": "Your verification code is 482913"
}HTTP 200
{
"data": {
"Success": "Please save this id",
"messageId": "YOUR_MESSAGE_ID"
}
}GET {{baseUrl}}/sms/YOUR_MESSAGE_ID/status
Authorization: Basic YOUR_ENCODED_CREDENTIALS
{
"data": {
"msgid": "YOUR_MESSAGE_ID",
"status": "DELIVERED",
"destination_addr": "229XXXXXXXXX",
"created_at": "YYYY-MM-DD HH:MM:SS",
"status_at": "YYYY-MM-DD HH:MM:SS"
}
}{{baseUrl}} — Base URL provided by e-MC during integration. All values shown are fictitious.
The e-PNC API validates an international phone number and returns its country, operator and line type in a single call. It is called from your backend, for example before sending an OTP.
POST {{baseUrl}}/[resource]
x-api-key: YOUR_API_KEY
Content-Type: application/json
{
"phone": "+229XXXXXXXXX"
}HTTP 200
{
"valid": true,
"phone_e164": "+229XXXXXXXXX",
"phone_local": "229XXXXXXXXX",
"country_code": "BJ",
"country": "Benin",
"network": "MTN",
"type": "mobile",
"recommended_action": "proceed"
}HTTP 200
{
"valid": false,
"reason": "invalid_number"
}{{baseUrl}} — Base URL provided by e-MC. The resource path is given in the documentation. All values shown are fictitious.
Designed for web, mobile and business applications: your code calls the API when an event must trigger an SMS (sign-up, payment, alert).
Standard protocol for system-to-system connection with a short message centre. It is meant for platforms and messaging systems, for companies that already run an SMPP infrastructure, and for large volumes.
Illustration: indicative mockup, not contractual.
| Criterion | HTTP API (REST) | SMPP |
|---|---|---|
| Connection | HTTP requests issued by your application | Continuous system-to-system session |
| Typical use | Web, mobile and business applications: OTP, alerts, notifications | Sending platforms, resellers, significant traffic |
| SMS sending | Yes | Yes |
| Delivery reports | Yes | Yes |
| Inbound SMS | Yes | Yes |
| Number check | Yes, with the e-PNC API | Yes, with the e-PNC API |
| Account and documentation | Provided on request | Provided on request |
Through the HTTP API (REST) or SMPP, to Africa and worldwide.
Collect the status of every message.
With the Phone Number Checker (e-PNC) API: validity, country, operator and line type.
Retrieve inbound SMS from your contacts.
Recipient, sender and text, through the HTTP API or SMPP.
e-MC picks the route to the recipient's operator according to the configured routing.
Each message gets a status and, on failure, an error code.
The status arrives as a delivery report; recipients' replies come back as inbound SMS.
The previews on this page are deliberately simplified: full parameters, response formats and code examples are in the documentation provided with the account.
Access to the platform goes through a dedicated account, opened after a discussion with our team.
HTTP API and SMPP accounts are opened on request, based on your use case and estimated monthly volume.
Your connection credentials and the technical documentation are sent to you when the account is opened. The authentication method is detailed there.
A test of the SMS API can be set up on request, before going live.
A message goes through several states before it is delivered or rejected. On failure, an error code gives the cause. Excerpt of the reference, currently under review.
| Code | Group | Name | Description |
|---|---|---|---|
| 0 | OK | NO_ERROR | No Error |
| 1 | HANDSET ERROR | EC_UNKNOWN_SUBSCRIBER | Unknown Subscriber |
| 5 | HANDSET ERROR | EC_UNIDENTIFIED_SUBSCRIBER | Unidentified Subscriber |
| 6 | HANDSET ERROR | EC_ABSENT_SUBSCRIBER_SM | Absent Subscriber |
| 9 | HANDSET ERROR | EC_ILLEGAL_SUBSCRIBER | Illegal Subscriber |
| 10 | OPERATORS_ERRORS | EC_BEARER_SERVICE_NOT_PROVISIONED | Bearer Service Not Provisioned |
The examples on this page show the structure of our APIs.
Through the contact form, describing your use case.
Together we validate the right service, your destination countries and your estimated monthly volume.
A test account is set up on request to validate your integration.
You connect your applications over HTTP API or SMPP, with help from our team.
You launch your sends and follow every message through delivery reports.
Yes. A test of the SMS API can be set up on request, so you can validate your project before committing. Use the form and choose “Request a test account”.
An HTTP API (REST) and an SMPP connection.
HTTP API and SMPP accounts, as well as the documentation, are provided on request. Contact us with your use case.
Yes, with 2-way SMS: it can use a short code, a long code or a virtual number. See the dedicated page.
Our team helps with interoperability with your databases and information system. Describe your architecture and we will tell you which connection mode fits.