{"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".