Quick start
- Log in to Zivo and open Settings.
- Make sure WhatsApp Cloud is connected and online-ready.
- Open the Zivo WhatsApp API card and generate an API key.
- Save the API key securely. It is shown only once.
- Send a test message to
https://zivo.co.ke/api/zivo/zchat/services/sendwhatsapp.
The API sends direct WhatsApp text messages. The customer should already be in a valid WhatsApp service window unless your Meta account and templates allow otherwise.
Authentication
Every request needs your Zivo partnerID and API key.
| Field | Required | Description |
|---|---|---|
partnerID |
Yes | Your Zivo business ID, shown in the Zivo WhatsApp API settings card. |
apikey |
Yes | Your generated Zivo API key. You may also send it as a Bearer token. |
Send a WhatsApp message
POST https://zivo.co.ke/api/zivo/zchat/services/sendwhatsapp
Send one WhatsApp text message through the connected Zivo inbox.
curl -X POST "https://zivo.co.ke/api/zivo/zchat/services/sendwhatsapp" \
-H "Content-Type: application/json" \
-d '{
"partnerID": "123",
"apikey": "zivo_live_xxx",
"mobile": "254700000000",
"message": "Hello, your order is ready.",
"clientwhatsappid": "order-1001"
}'
Response
{
"responses": [
{
"response-code": 200,
"respose-code": 200,
"response-description": "Success",
"mobile": "254700000000",
"messageid": "88421",
"provider_message_id": "wamid.xxx",
"networkid": "whatsapp",
"channel": "whatsapp",
"status": "sent"
}
]
}
Request fields
| Field | Required | Description |
|---|---|---|
mobile |
Yes | Customer WhatsApp number. Use international format such as 2547.... Kenyan local 07... is accepted and normalized before sending. |
message |
Yes | The WhatsApp text to send. |
clientwhatsappid |
No | Your own reference ID for matching the message in your system. |
Bulk WhatsApp send
POST https://zivo.co.ke/api/zivo/zchat/services/sendbulk
Send up to 100 WhatsApp messages in one request. Use whatsapplist. For compatibility, smslist is accepted but still sends WhatsApp messages only.
curl -X POST "https://zivo.co.ke/api/zivo/zchat/services/sendbulk" \
-H "Content-Type: application/json" \
-d '{
"partnerID": "123",
"apikey": "zivo_live_xxx",
"whatsapplist": [
{
"mobile": "254700000001",
"message": "Hello Mary, your quote is ready.",
"clientwhatsappid": "quote-101"
},
{
"mobile": "254700000002",
"message": "Hello John, your delivery has been scheduled.",
"clientwhatsappid": "delivery-202"
}
]
}'
Delivery report
GET https://zivo.co.ke/api/zivo/zchat/services/getdlr
Check the local Zivo send status for a message. Use the messageid returned from send.
curl "https://zivo.co.ke/api/zivo/zchat/services/getdlr?partnerID=123&apikey=zivo_live_xxx&messageID=88421"
Account status
GET https://zivo.co.ke/api/zivo/zchat/services/account
Confirm that the API key is valid and WhatsApp is enabled for the business.
curl "https://zivo.co.ke/api/zivo/zchat/services/account?partnerID=123&apikey=zivo_live_xxx"
Error responses
| Status | Meaning | Fix |
|---|---|---|
401 |
Invalid partnerID or apikey. |
Generate a new key in Zivo settings and update your integration. |
422 |
Required field missing or invalid. | Send mobile and message. |
400 |
WhatsApp send failed after authentication. | Check WhatsApp Cloud setup, service window, Meta token, and phone number ID. |
404 |
Delivery report message was not found. | Use the Zivo messageid returned by send. |
Security and limits
- Keep the API key private. Do not expose it in frontend JavaScript.
- Rotate the key if it is shared with the wrong person.
- Requests are throttled to protect the workspace.
- Use HTTPS only.
- For automated marketing or template messages, confirm your Meta WhatsApp policy and approved templates first.