Get started
1. Create an account (or sign in). 2. Generate credentials under API Keys → Generate Key in your dashboard. 3. Call the API below.
Authentication
Every request authenticates one of two ways:
api_key = your Access ID or Secret Keyusername (login email) + password1HTTP API — send a message
GET / POSThttps://bulksms.ontech.co.zm/smsservice/httpapi
| Param | Req | Description |
|---|---|---|
api_key | Yes* | Your Access ID or Secret Key (* or use username+password) |
phone | Yes | Recipient MSISDN (e.g. 26097XXXXXXX) |
msg | Yes | Message text |
sender_id | No | Approved sender ID (max 11 chars) |
shortcode | No | Short code, if provisioned |
# curl curl "https://bulksms.ontech.co.zm/smsservice/httpapi?\ api_key=YOUR_ACCESS_ID&\ phone=260970000000&\ sender_id=ONTECH&\ msg=Hello%20from%20the%20API" # → {"status": 0, "message": "..."} (status 102 = Invalid User / bad key)
# Python
import requests
r = requests.get("https://bulksms.ontech.co.zm/smsservice/httpapi", params={
"api_key": "YOUR_ACCESS_ID",
"phone": "260970000000",
"sender_id": "ONTECH",
"msg": "Hello from the API",
})
print(r.json())
2JSON API
POSThttps://bulksms.ontech.co.zm/smsservice/jsonapi — credentials in auth, one or many recipients in messages (handy for bulk sends).
curl -X POST https://bulksms.ontech.co.zm/smsservice/jsonapi \
-H "Content-Type: application/json" \
-d '{"auth":{"api_key":"YOUR_ACCESS_ID","sender_id":"ONTECH"},
"messages":[{"phone":"260970000000","message":"Hi"},
{"phone":"260960000000","message":"Hello"}]}'
# → {"status": 100, "message": "Success", "sent": 2} (101 = Insufficient Credit)
3SMPP (for high volume / persistent binds)
Bind an SMPP 3.4 client directly to the platform:
bulksms.ontech.co.zm2775Guides
How the SMS API works · SMS gateway · SMPP connectivity · Delivery reports & statuses · Sending OTPs · Receiving replies · Glossary
← Ontech BulkSMS · Sign in for the full API hub, Postman collection & key management