Aqui abordaremos com exemplos práticos de como os webhooks disparados em casos de envio de mensagem do tipo document.
No geral, quando se envia uma mensagem no Zapfy, após a fila executar a mensagem, é disparado um webhook inicial do tipo NEW-MESSAGE, esse webhooks é disparado toda vez que uma instância envia ou recebe uma nova mensagem.
Exemplo real
Adicionamos comentários nas propriedades para melhor entendimento.
{
"type": "NEW-MESSAGE",
"instanceKey": "b08f4262-b74f-4b7b-9958-1c7d5d1dc5e7", // key de identificação da instância que recebeu/enviou a mensagem
"id": "fc0345bc-d5f4-4592-ab2b-f263c12c8c42", // ID da mensagem (esse ID só terá valor caso a mensagem seja enviada via API zapfy)
"data": {
"isOnWhatsApp": [
{
"exists": true, // Propriedade que diz se o contato existe ou não no WhatsApp
"jid": "5527997320619@s.whatsapp.net" // Contato que foi o destinatário da mensagem
}
],
"messageStubParameters": [],
"labels": [],
"userReceipt": [],
"reactions": [],
"pollUpdates": [],
"key": {
"remoteJid": "5527997320619@s.whatsapp.net",
"fromMe": true,
"id": "BAE546603BC1DED6",
"messageUuid": "0d5f9971-7dbd-4ecb-b82f-ab097d7ea5d8"
},
"message": {
"documentMessage": {
"url": "https://zapfy-bucket.sfo3.digitaloceanspaces.com/temp-files/BAE546603BC1DED6.pdf",
"mimetype": "application/pdf",
"fileSha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=",
"fileLength": "3028",
"mediaKey": "Y5KI6t9baOsE8iinfURG93/2Gq+3+kJgUlO2VxXL/ig=",
"fileName": "sample-pdf",
"fileEncSha256": "AchpG6SUdJe1OYXkWNyVU5oAZ47cd/l8ESJQjl4mhBE=",
"directPath": "/v/t62.7119-24/35203101_3305632729652223_2954952569580637450_n.enc?ccb=11-4&oh=01_AdTU8r8sywWnBOHu_izjQR22dzAoOSmDNei4-sQ198idCQ&oe=63F39300",
"mediaKeyTimestamp": "1674326977",
"caption": "Uma mensagem de pdf direto da Zapfy :)"
}
},
"messageTimestamp": {
"low": 1674326977,
"high": 0,
"unsigned": true
},
"status": 1
},
"ids": [
"fc0345bc-d5f4-4592-ab2b-f263c12c8c42"
]
}
Dica
É importante lembrar que todo envio ou recebimento de mensagem gera eventos do tipo MESSAGE-UPDATED, dê uma olhada para entender melhor do que se trata em Alteração de status da mensagem.
Sempre se baseie na propriedade fromMe para saber se foi sua instância que enviou a mensagem.
Se essa propriedade for false, significa que a mensagem foi recebida, e não enviada, ou seja, alguém mandou essa mensagem para o número conectado na sua instância