Skip to content
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. 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. 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. 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. 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"}'