Skip to content
Overview

Getting started

Unicom360 API documentation

Send SMS, email and WhatsApp from your own software over one HTTPS API, with delivery callbacks and a direct SMPP bind for high volumes. Start here: get a key, send a message, read the response.

What you can do

  • Send SMS to up to 2,000 Zambian numbers per request, with a message ID per recipient and delivery callbacks. See Send SMS.
  • Send email from a sender address registered on your account, plain text or HTML. See Send email.
  • Send WhatsApp: approved templates to up to 1,000 recipients, free-form replies inside a customer's 24-hour window, status lookups and a list of your templates. See WhatsApp.
  • Check balances so your systems can warn before a bundle runs out. See Balance.
  • Receive delivery status on a URL you choose, and inbound WhatsApp messages as signed callbacks. See Delivery webhooks.
  • Bind over SMPP 3.4 for high-volume SMS from an existing messaging stack. See SMPP.

Base URL and format

Every endpoint is served from https://api.unicom360.com over HTTPS. Requests and responses are JSON encoded in UTF-8, except the legacy XML endpoint, which takes form-encoded fields and answers in XML.

Quickstart

1. Get an API key

  1. Sign up at app.unicom360.com and top up an SMS bundle.
  2. Register a sender ID for SMS (your brand name, 2 to 11 characters) and wait for it to be approved. Sends from an unregistered or unapproved sender ID are refused.
  3. Open Developer in the portal, choose the API tab and create a credential. The key is a 64-character string; copy it somewhere safe. You can add an IP allow-list to the credential and regenerate the key at any time.

2. Send your first SMS

Replace YOUR_API_KEY with your key, Unicom360 with your sender ID, and the number with a phone you can check.

curl -X POST https://api.unicom360.com/api/v1/json/bulk/sms \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Unicom360",
    "to": "260971234567",
    "message": "Hello from Unicom360. Your first message was sent through the API."
  }'

3. Read the response

200 OK
{
  "api_reference": "1764184470578998353",
  "data": [
    {
      "message_id": "dff31690-b450-4000-a6b7-141d8523ef10",
      "status": "ACKNOWLEDGED",
      "mobile_number": "260971234567"
    }
  ],
  "message": "successful",
  "success": true
}

success tells you whether the message was accepted. data has one entry per recipient; keep its message_id, which is how the delivery callback and the portal refer to the message. api_reference identifies the request itself; quote it if you contact support about a call.

Refusals also come back as HTTP 200

An unknown sender ID, an empty bundle or a reused reference ID is a business refusal, not a transport error, and the gateway answers 200 with success: false and a message. Check success, not the status code. Missing or malformed fields are 400; a bad key is 401.

4. Next steps

  • Authentication: the three ways to send the key, rate limits and IP allow-lists.
  • Messaging basics: number format, message length and character set, and reference IDs that make retries safe.
  • Delivery webhooks: get SENT, DELIVERED and FAILED pushed to your server, and WhatsApp replies from your customers.
  • Errors: every code the gateway returns, in one place.