Basics
This document will help you to get started with the basics such as authorization, sending and receiving messages.
Base URL
CBOT On-Promise API | CBOT Cloud API |
---|---|
Ask for URL | Ask for URL |
If you want to send a message using the /v1/messages/ endpoint, you must append the endpoint to your base URL then make the POST request. Below is an example of a full POST request to the resource:
- https://{OnPremiseURL}/v1/messages
- https://{CloudUrl}/messages
Authorization
Currently, there is only 1 method of authorization available
API KEY
Retrieve your API Key
Sending Messages
You can send messages by making a POST call to the /messages node regardless of message type. The content of the JSON message body differs for each type of message (text, image, etc.).
Below is a simple example to send a text message:
POST {{base-url}}/v1/messages
{
"recipient_type": "individual",
"to": "whatsapp-id",
"type": "text",
"text": {
"body": "your-message-content"
}
}
Receiving Messages
You must configure a callback (webhook URL) to receive messages.
Webhooks are used for:
-
Inbound message notifications: Use it to get a notification you when you have received a message + message content
-
Message status notifications: Monitor the status of sent messages.
If a webhook event isn't delivered for any reason (e.g., the client is offline) or if the webhook request returns a HTTP status code other than 200, we will retry the webhook delivery. We continue retrying delivery with increasing delays up to a certain timeout (typically 24 hours, though this may vary), or until the delivery succeeds.
Webhook Requirements
To deploy a live webhook that can receive webhook events from the WhatsApp Business API, your code must have the following:
- HTTPS support
- A valid SSL certificate
Your webhook must respond with status 200 for all incoming requests.
Set your callback URL
Send a POST request to the /v1/configs/webhook endpoint to set the resource.
Callback URL Header Authentication (Optional)
If the callback URL needs to be authorized by user, USER and PASS should be provided in the header Authorization that contains Basic base64(USER:PASS).
Request body example for USER=testuser and PASS=testpass
Now, when a message is sent or received, you will receive a message notification to your webhook URL.