Webhooks permitem receber mensagens e notificações de status por meio do método HTTP POST.
Status das mensagens
O webhook de status de mensagem recebe notificações sobre o estado das mensagens enviadas pelo WhatsApp. Uma mensagem pode apresentar um dos seguintes status: deleted, failed, sent, delivered e read. O WhatsApp fornece esses status.
Observações:
Quando o status de uma mensagem muda, o sistema envia uma notificação para a URL de callback especificada.
Se o cliente retornar 200 OK, a notificação será considerada entregue. Caso contrário, o sistema tentará reenviá-la.
Parâmetros de entrada
| Parameter | Type | Required | Example | Description |
| MessageId | String | Yes | 123456789 | ID exclusivo da mensagem. O ChatAPP gera esse ID. |
| To | String | Yes | 123456789 | ID do usuário que recebe a mensagem. |
| From | String | Yes | 123456789 | ID do usuário que envia a mensagem. |
| Status | String | Yes | sent | Status da mensagem. |
| StatusDescription | String | Yes | The message is sent to the channel provider. | Descrição do status. Para obter mais informações, consulte a tabela de Status. |
| Timestamp | String | Yes | 1591861777000 | Hora em que a mensagem entrou no estado atual, em GMT. |
| Error | String | No | OUT_OF_SERVICE | Código de erro retornado quando ocorre um erro específico. Para obter mais informações, consulte Códigos de erro. |
| ErrorDescription | String | No | The system is out of service. | Descrição do código de erro. Para obter mais informações, consulte Códigos de erro. |
| MsgFrameType | String | No | message | Tipo da mensagem.
|
| Type | String | No | image | Tipo do recurso de mídia contido na mensagem. Valores válidos:
|
Exemplo de notificação
[{
"MessageId": "123456789", // The unique ID of the message.
"To": "123456789", // The ID of the user that receives the message.
"From": "123456789", // The ID of the user that sends the message.
"Status": "sent", // The status of the message. Valid values: sent, delivered, read, failed, and deleted.
"StatusDescription": "The message is sent to the channel provider.", // The description of the status.
"Timestamp": "1591861777000", // The time when the message entered the state, in GMT.
"Error": "OUT_OF_SERVICE", // The returned error code.
"ErrorDescription": "The system is out of service.", // The description of the error code.
"MsgFrameType": "template",
"Type": "none"
}]
Status
|
Status |
Description |
|
sent |
A mensagem foi enviada ao provedor do canal. |
|
delivered |
A mensagem foi entregue ao dispositivo do usuário. Se o usuário já tiver lido a mensagem, o WhatsApp poderá retornar o status read em vez de delivered, pois a leitura pressupõe a entrega prévia. |
|
read |
O usuário leu a mensagem. |
|
failed |
Falha no envio da mensagem. |
|
deleted |
O usuário excluiu a mensagem. |
Parâmetros de saída
|
Parameter |
Type |
Required |
Description |
|
code |
Number |
Yes |
Código da resposta. O valor deve ser 0. |
|
msg |
String |
No |
Descrição da resposta. |
Exemplo de resposta
{
"code" : 0,
"msg" : "Message received."
}
Mensagens recebidas
O webhook de mensagens recebidas captura mensagens enviadas pelo WhatsApp.
Observações:
Os tipos de mensagem suportados incluem texto, localização, imagem, áudio e vídeo. Outros tipos, como sistema, documento e contatos, não são suportados.
Mensagens de grupo não são suportadas.
Se o cliente retornar 200 OK, a mensagem será considerada entregue. Caso contrário, o sistema tentará reenviá-la.
Parâmetros de entrada
|
Parameter |
Type |
Required |
Example |
Description |
|
MessageId |
String |
Yes |
123456789 |
ID exclusivo da mensagem. O ChatAPP gera esse ID. |
|
ChannelType |
String |
Yes |
|
Tipo do canal de mensagens. Exemplo: whatsapp. |
|
From |
String |
Yes |
86152345434311 |
ID do usuário que envia a mensagem. |
|
To |
String |
Yes |
123456789 |
ID do usuário que recebe a mensagem. |
|
Timestamp |
String |
Yes |
1591861777000 |
Hora em que a mensagem foi enviada, em GMT. |
|
Type |
String |
Yes |
text |
Tipo da mensagem. Valores válidos: text, location, image, audio e video. |
|
Message |
String |
No |
I received a message. |
Conteúdo da mensagem do tipo texto. |
Exemplo de mensagem
[{
"MessageId": "123456789", // The unique ID of the message.
"ChannelType": "whatsapp",// The type of the message channel. Valid values: whatsapp, messager, viber. and line.
"To": "123456789", // The ID of the user that receives the message.
"From": "86152345434311",// The ID of the user that sends the message.
"Timestamp": "1591861777000", // The time when the message was sent, in GMT.
"Type": "text", // The type of the message. Valid values: text, location, image, audio, and video.
"Message": "I received a message.",
}]