Aqui abordaremos com exemplos práticos de como os webhooks disparados em casos de envio de mensagem do tipo list.
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": "BAE5ECA88B35C1C1",
"messageUuid": "5a8ac0c7-f299-4b7f-a197-3fa4c7ae4dc9"
},
"message": {
"viewOnceMessage": {
"message": {
"messageContextInfo": {
"deviceListMetadataVersion": 2,
"deviceListMetadata": {}
},
"listMessage": {
"title": "Selecionar uma fruta",
"description": "Lista de frutas.",
"buttonText": "Visualizar opções",
"listType": "SINGLE_SELECT",
"sections": [
{
"title": "Products list",
"rows": [
{
"title": "Apple"
},
{
"title": "Mango"
},
{
"title": "Banana"
}
]
}
]
}
}
}
},
"messageTimestamp": {
"low": 1674323113,
"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