Webhook de HSM WhatsApp
Configuração:
POST /whatsapp/config/com o campourl_hsm_callback
Este webhook traz callbacks com o resultado dos disparos de WhatsApp.
Payload
| Campo | Tipo | Descrição |
|---|---|---|
event_id | string (uuid) | Identificador único do evento (UUID v4). |
id | integer | null | Id da mensagem. |
from | string | null | Número de telefone de origem. |
to | string | Número de telefone de destino. |
bsuid | string | null | Business Scoped User ID do destinatário. |
username | string | null | Username do perfil WhatsApp do destinatário. |
status | string | Status da notificação (ver tabela abaixo). |
campaign_id | integer | Id da campanha. |
request_id | string | null | ID da requisição original (UUID v4). |
cost_center_id | integer | Id do centro de custo. |
data | object | null | Dados adicionais incluídos no envio. |
document | string | null | Documento CPF ou CNPJ do destinatário. |
contract | string | null | Contrato do destinatário. |
message | string | null | Mensagem enviada. |
datetime | string (date-time) | Data e hora do envio (ISO 8601 UTC-3). |
is_retry | boolean | Se é uma retentativa de contato. |
retry_index | integer | null | Índice da retentativa. |
reason | string | null | Motivo da falha (apenas em FAILED). |
blocklistResponse | boolean | null | Se a resposta é de blocklist (apenas em REPLIED). |
Sobre
bsuideusername: o BSUID (Business Scoped User ID) é o identificador único do usuário no escopo da sua conta, e permite mensagear sem conhecer o número de telefone. Os dois campos chegam apenas nos eventosSERVER,DEVICE,READ,FAILEDeREPLIED; nos demais as chaves não aparecem no payload. Ousernamedepende da adoção do recurso pelo usuário final no WhatsApp e, até lá, chega comonull.
Status possíveis
| Status | Descrição |
|---|---|
ENQUEUED | Mensagem enfileirada para envio. |
SENT | Mensagem enviada. |
SERVER | Mensagem recebida pelo servidor do WhatsApp. |
DEVICE | Mensagem entregue no dispositivo. |
READ | Mensagem lida pelo destinatário. |
REPLIED | Destinatário respondeu a mensagem. |
EXPIRED | Mensagem expirou sem resposta. |
FAILED | Falha no envio da mensagem. |
Exemplo - ENQUEUED
{
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"from": null,
"to": "5511988888888",
"status": "ENQUEUED",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": null,
"datetime": "2024-12-06T17:49:55.610-03:00",
"is_retry": false,
"retry_index": null
}Exemplo - SENT
{
"event_id": "650e9500-f39c-42e5-b827-557766551111",
"from": "5511977777777",
"to": "5511988888888",
"status": "SENT",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": "Mensagem de texto",
"datetime": "2024-12-06T17:49:55.610-03:00",
"is_retry": false,
"retry_index": null
}Exemplo - REPLIED
{
"event_id": "950e9800-i62f-65h8-e150-880099884444",
"from": "5511977777777",
"to": "5511988888888",
"status": "REPLIED",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": "Mensagem de texto",
"datetime": "2024-12-06T17:49:55.610-03:00",
"bsuid": "IN.1648738043044942",
"username": null,
"is_retry": false,
"retry_index": null,
"blocklistResponse": false
}Exemplo - REPLIED (Blocklist)
{
"event_id": "a60ea900-j73g-76i9-f261-991100995555",
"from": "5511977777777",
"to": "5511988888888",
"status": "REPLIED",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": "Mensagem de texto",
"datetime": "2024-12-06T17:49:55.610-03:00",
"bsuid": "IN.1648738043044942",
"username": null,
"is_retry": false,
"retry_index": null,
"blocklistResponse": true
}Exemplo - EXPIRED
{
"event_id": "b70eba00-k84h-87j0-g372-aa2211aa6666",
"from": null,
"to": "5511988888888",
"status": "EXPIRED",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": null,
"datetime": "2024-12-06T17:49:55.610-03:00",
"is_retry": false,
"retry_index": null
}Exemplo - FAILED
{
"event_id": "c80ecb00-l95i-98k1-h483-bb3322bb7777",
"from": null,
"to": "5511988888888",
"status": "FAILED",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": null,
"datetime": "2024-12-06T17:49:55.610-03:00",
"bsuid": "IN.1648738043044942",
"username": null,
"is_retry": false,
"retry_index": null,
"reason": "META ERROR: 131047 - Re-engagement message"
}Exemplo - RETRY
{
"event_id": "d90edc00-ma6j-a9l2-i594-cc4433cc8888",
"from": "5511977777777",
"to": "5511988888888",
"status": "SENT",
"campaign_id": 54321,
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cost_center_id": 12345,
"data": {
"key1": "value1",
"key2": "value2"
},
"document": "00000000000",
"message": "Mensagem de texto",
"datetime": "2024-12-06T17:49:55.610-03:00",
"is_retry": true,
"retry_index": 0
}