Developers
From zero to a delivered message
Four steps, and none of them involve talking to a salesperson. Test the whole flow in the sandbox first — it is free and it exercises the same code path.
- 1
Create a key
In the client portal, open API Credentials and create an HTTP key. It begins with ipl_ and is shown exactly once.
Authorization: Bearer ipl_your_api_key - 2
Send a sandbox message
Same request shape as production, but nothing is billed and nothing reaches a handset.
curl -X POST https://api.ipl.com.ng/api/client/sandbox/send \ -H "Authorization: Bearer ipl_your_api_key" \ -H "Content-Type: application/json" \ -d '{"recipient":"08031234567","sender_id":"IPLSMS","message":"Hello"}'
- 3
Point a webhook at your app
Set your dlr_url, then simulate a receipt from the sandbox and confirm your signature check passes before you go live.
PUT /api/client/webhooks { "dlr_url": "https://yourapp.com/webhooks/iplsms", "is_active": true } POST /api/client/sandbox/simulate-dlr { "message_id": 27041, "status": "delivered" }
- 4
Fund the wallet and go live
Switch the path from /sandbox/send to /sms/send. Nothing else about your integration changes.
- POST /api/client/sandbox/send + POST /api/client/sms/send
Snippets
Send in your language
curl -X POST https://api.ipl.com.ng/api/client/sms/send \ -H "Authorization: Bearer ipl_your_api_key" \ -H "Content-Type: application/json" \ -d '{"recipient":"08031234567","sender_id":"IPLSMS","message":"Your code is 4821"}'