Version | Date | Changes |
---|---|---|
2.3.0 | 05/16/2025 | ๐ New Templates List resource and Error Incoming webhook added. You can now view IPs sending webhooks in the webhook section. |
2.2.0 | 01/31/2025 | ๐ Add reference and recipients attributes in the response of the message resource and add URL versioning (waba/1.1/json ) |
2.1.0 | 10/03/2024 | ๐ฉ๐ปโ๐ป Add interactive list and interactive button group for Whatsapp API. |
2.0.0 | 06/28/2024 | ๐ Start of the SMSBOX Documentation on github with our Whatsapp API documentation . |
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Text) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "text",
- "text": {
- "body": "Message sent via my WhatsApp Business agent."
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Audio) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "audio",
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Document) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "document",
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Image) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "image",
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Sticker) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "sticker",
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Video) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "video",
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (Location) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "location",
- "location": {
- "longitude": 6.075501230687077,
- "latitude": 43.08811078662267,
- "name": "SMSBOX",
- "address": "20 Av. รlie Gautier, 83320 Carqueiranne"
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (ReplyText) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "text",
- "context": {
- "message_id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, - "text": {
- "body": "Reply to a previous message."
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (ReplyReaction) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "reaction",
- "reaction": {
- "message_id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "emoji": "๐"
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
type required | string Value: "interactive" |
required | object |
{- "type": "interactive",
- "interactive": {
- "type": "list",
- "header": {
- "type": "text",
- "text": "string"
}, - "body": {
- "text": "string"
}, - "footer": {
- "text": "string"
}, - "action": {
- "button": "string",
- "sections": [
- {
- "title": "string",
- "rows": [
- {
- "id": "string",
- "title": "string",
- "description": "string"
}
]
}
]
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneId required | string WhatsApp Business Agent's Phone Number ID |
curl --request GET \ --url https://api.wababox.net/waba/1.1/json/<WABAID>/template/<PHONEID> \ --header 'Authorization: App <APIKEY>' \ --header 'Content-Type: application/json'
{- "response": {
- "response_code": "200",
- "response_desc": "Request successfully processed."
}, - "details": "List of the agent's templates",
- "data": [
- {
- "name": "myTemplate",
- "language": "en_US",
- "components": [
- {
- "type": "BODY",
- "parameters": null
}
], - "status": "APPROUVED",
- "category": "UTILITY",
- "id": "xxxxxxxxxxxxxxxx"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
recipients | Array of strings <= 5000 items |
object (OTPTemplateMessage) |
{- "recipients": [
- "+336XXXXXXXX"
], - "contentMessage": {
- "type": "template",
- "template": {
- "name": "otp",
- "language": {
- "code": "en"
}, - "components": [
- {
- "type": "body",
- "parameters": [
- {
- "type": "text",
- "text": "123456"
}
]
}, - {
- "type": "button",
- "sub_type": "url",
- "index": "0",
- "parameters": [
- {
- "type": "text",
- "text": "123456"
}
]
}
]
}
}
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
message_id | string Received message ID |
status | string Value: "read" |
{- "message_id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "status": "read"
}
{- "response": {
- "response_code": "202",
- "response_desc": "Request successfully queued."
}, - "details": "Request accepted for processing.",
- "reference": "XXXXXXXXXXXXXX",
- "recipients": [
- {
- "submitted": "+33xxxxxxxxx",
- "rewrited": "33xxxxxxxxx",
- "state": "ACCEPTED",
- "reason_code": "PROCESSING"
}
]
}
wabaId required | string WhatsApp Business Agent ID |
phoneID required | string WhatsApp Business Agent's Phone Number ID |
file_id required | string File ID received via webhook |
{- "file_id": "1234567890"
}
{- "response": {
- "response_code": "200",
- "response_desc": "Request successfully processed."
}, - "details": "Done.",
- "data": {
- "mime_type": "application/pdf",
- "sha256": "string",
- "file_size": "string",
- "caption": "string",
- "raw": "data:application/pdf;base64,xxxxxxxxxxxxxxxxxx"
}
}
Important:
You should pay close attention to the requestType
properties in your webhook payload.
If you are using a firewall, make sure to allow this IPv4 address (this is the address that emits the webhooks):
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "text": {
- "body": "Hello ๐"
}, - "type": "text"
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "type": "document",
- "document": {
- "filename": "filename.pdf",
- "mime_type": "application/pdf",
- "sha256": "string",
- "id": "1234567890",
- "caption": "string"
}
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "type": "image",
- "image": {
- "mime_type": "image/jpeg",
- "sha256": "string",
- "id": "1234567890",
- "caption": "string"
}
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "type": "video",
- "video": {
- "caption": "string",
- "mime_type": "video/mp4",
- "sha256": "string",
- "id": "1234567890"
}
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "type": "reaction",
- "reaction": {
- "message_id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "emoji": "๐"
}
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
object | |
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_message" |
{- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "type": "location",
- "location": {
- "address": "20 Av. รlie Gautier, 83320 Carqueiranne",
- "latitude": 43.0875153,
- "longitude": 6.0754154,
- "name": "SMSBOX",
}
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_message"
}
Message status
required | object |
wabaId required | string WhatsApp Business Agent ID |
phoneId required | string WhatsApp Business Agent's Phone Number ID |
phoneNumber required | string WhatsApp Business Agent's Phone Number |
clientId required | integer SMSBOX user account ID |
reference required | integer Internal ID of the sent message |
requestProd required | string Channel |
requestDate required | string <date-time> Datetime of the sent message |
requestUUID required | string <uuid> |
requestType required | string Value: "status_update" |
{- "data": {
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "status": "failed",
- "timestamp": "1719576000",
- "recipient_id": "33XXXXXXXXX",
- "errors": [
- {
- "code": 131047,
- "title": "Title of the error.",
- "message": "Error message.",
- "error_data": {
- "details": "Detaiils of the error.",
}
}
]
}, - "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "reference": 1234567890,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "status_update"
}
This webhook will be present if an error occurs when a user submits a document, image, or other file. In this case, a Error incoming type webhook will be triggered, and the errors
property will contain a JSON object with the error details.
wabaId | string WhatsApp Business Agent ID |
phoneId | string WhatsApp Business Agent's Phone Number ID |
phoneNumber | string WhatsApp Business Agent's Phone Number |
clientId | integer SMSBOX user account ID |
requestProd | string Channel Value: "WABA" |
requestDate | string <date-time> Datetime of the sent message |
requestUUID | string <uuid> |
requestType | string Value: "incoming_error" |
object |
{- "wabaId": "xxxxxx",
- "phoneId": "xxxxxx",
- "phoneNumber": "xxxxxx",
- "clientId": 123456,
- "requestProd": "WABA",
- "requestDate": "2024-06-01T14:00:00+02:00",
- "requestUUID": "xxxxxx",
- "requestType": "incoming_error",
- "data": {
- "from": "33XXXXXXXXX",
- "id": "wamid.xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "timestamp": "1719576000",
- "errors": [
- {
- "code": 123456,
- "title": "Message type unknown",
- "message": "Message type unknown",
- "error_data": {
- "details": "Message type is currently not supported."
}
}
]
}
}