Mensagem de texto
Exemplo de body recebido no webhook
Envio via Endpoint
{
"event": "MESSAGE", // Webhooks de envio/recebimento de mensagem vem com esse status
"data": {
"message": {
"key": {
"remoteJid": "557999070094@s.whatsapp.net",//Número da conversa
"fromMe": true,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
"id": "BAE5A871E8A0A143"// ID da mensagem no WhatsApp
},
"message": {
"extendedTextMessage": {
"text": "Hello World 🌎" // String da mensagem de texto enviada
}
},
"messageTimestamp": "1686785122",
"status": "PENDING" // Webhooks de envio de mensagens via endpoint vem com esse status
},
"instanceId": 4 // id da instancia que enviou a mensagem
}
}
Envio via celular
{
"event": "MESSAGE",
"data": {
"message": {
"key": {
"remoteJid": "5799999@s.whatsapp.net",
"fromMe": true,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
"id": "541AF675B7B0C4C3615D717F969E9FE6"// ID da mensagem no WhatsApp
},
"messageTimestamp": 1686785288,
"pushName": "Amor E Vida",// nome de quem enviou a mensagem
"status": 2,// Webhooks de envio de mensagens via celular irão chegar com esse status
"message": {
"conversation": "Oi" // Diferente do envio via endpoint objeto message virá o campo conversation e não extendedTextMessage.text
},
"verifiedBizName": "Amor E Vida"
},
"instanceId": 4
}
}
Se liga na dica! Resumindo para não passar batido as diferenças:
O envio via endpoint o status da mensagem virá como "PENDING", e se for via celular virá como 2.
O envio via endpoint o texto da mensagem vem dentro de message.extendedTextMessage.text, já via celular é apenas acessar message.convesation dentro da mensagem. Ou seja quando for uma mensagem de texto recomendamos validar essas duas possibilidades
Recebimento
{
"event": "MESSAGE",
"data": {
"message": {
"key": {
"remoteJid": "5595959@s.whatsapp.net",//Número da conversa
"fromMe": false,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
"id": "3EB0788C1518D8C2422C66"
},
"messageTimestamp": 1686786344,
"pushName": "teste",// nome de quem enviou a mensagem
"message": {
"conversation": "Hello World 🌎 de volta",// texto da mensagem
"messageContextInfo": {
"deviceListMetadata": {
"senderKeyHash": "AofW3u2YzeOX8g==",
"senderTimestamp": "1686702226",
"recipientKeyHash": "ncAa2ZCPTc5sxA==",
"recipientTimestamp": "1686681282"
},
"deviceListMetadataVersion": 2
}
}
},
"instanceId": 4
}
}
Se liga na dica! Como pode ver no recebimento não vem um status, e a mensagem vem em "message.conversations".
Last updated