Documentation Sending messages
DEVELOPER GUIDE

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!"
  }'
FieldMeaning
connection_idThe ID of your linked connection.
channel_typeThe provider code. Currently whatsapp.
toA canonical recipient identifier or registered group identifier.
typetext, image or images.
textText content or an optional accompanying caption.
mediaArray 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