Aqui abordaremos com exemplos práticos de como os webhooks disparados em casos de envio de mensagem do tipo vídeo.
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": "BAE5B392147D9D94",
"messageUuid": "f146f26b-6749-46a7-9ccb-68e4bf378c45"
},
"message": {
"videoMessage": {
"url": "https://zapfy-bucket.sfo3.digitaloceanspaces.com/temp-files/BAE5B392147D9D94.mp4",
"mimetype": "video/mp4",
"fileSha256": "cZRNdDDEYfDNbn/RDO5+tyeGNSo2ePx7wK49QQ9yrs4=",
"fileLength": "1570024",
"mediaKey": "jANsoq6OauLnSCSMUrz8FNqt6zcFlQwEzS+Wi6hOkNk=",
"caption": "Uma mensagem de video direto da Zapfy :)",
"fileEncSha256": "QKU/YO7hao0Fn43p+AtXV+ZR9i89uJ1qs5D2irUq8CQ=",
"directPath": "/v/t62.7161-24/40880609_505528668380135_7808135890529526492_n.enc?ccb=11-4&oh=01_AdT2050_QbtNY4GlR4_TqUzqkJEiPy6Fi7Uw5j4DoNis3A&oe=63F3AAD4",
"mediaKeyTimestamp": "1674324856"
}
},
"messageTimestamp": {
"low": 1674324856,
"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