Sending messages
A consistent request format for every connected provider.
Text messages
POST /api/v1/messages
curl -X POST 'https://notif.sabco24.com/api/v1/messages' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"connection_id": "YOUR_CONNECTION_ID",
"channel_type": "whatsapp",
"to": "+971501234567",
"type": "text",
"text": "Hello from my workflow!"
}'| Field | Meaning |
|---|---|
| connection_id | The ID of your linked connection. |
| channel_type | The provider code. Currently whatsapp. |
| to | A canonical recipient identifier or registered group identifier. |
| type | text, image or images. |
| text | Text content or an optional accompanying caption. |
| media | Array of base64 media with MIME type and file name. |
Send an image or album
Image message body
{
"connection_id": "YOUR_CONNECTION_ID",
"channel_type": "whatsapp",
"to": "+971501234567",
"type": "images",
"text": "Your order is ready.",
"media": [
{
"data": "BASE64_IMAGE_DATA",
"mime_type": "image/jpeg",
"filename": "order.jpg",
"caption": "Packed with care."
}
]
}Send raw base64 content without the data:image/…;base64, prefix. For multiple images, use type: images and add one object per image.
Billing and retries
Each successfully sent text or image consumes one message unit. Five images consume five units. A group message counts once, regardless of membership. Failed attempts and delivery receipts do not consume additional units. Messages sent directly in your phone’s WhatsApp app are not billed as API sends.
Read activity
Open the connection’s Logs action to see All, Inbound or Outbound activity. A record can include the API request, provider result, webhook attempt and receiver status. Stored credentials are redacted.
Need help with an integration?Talk to support