👣Alteração de status da mensagem
Esse webhook é disparado toda vez que uma mensagem é enviada com sucesso e há alterações em seu status.
Mas o que são os status de uma mensagem?
À grosso modo, os status são literalmente os estágios que uma mensagem no WhatsApp é tratada, ela estará presente nos eventos de NEW-MESSAGE
e MESSAGE-UPDATED
, mas é aconselhado apenas à olhar o evento de MESSAGE-UPDATED
, pois é nele que haverá mais consistência.
Quais são os status disponíveis?
Basicamente, existem seis status, sendo eles:
0 - Esse status indica erro no envio da mensagem, ocorreu algum problema no momento de enviar a mensagem até o contato do WhatsApp.
1 - Aguardando envio, a mensagem já saiu da fila e está aguardando o WhatsApp receber a mensagem.
2 - O servidor do WhatsApp recebeu a mensagem e deu o primeiro sinal de ACK.
3 - A mensagem foi enviada com sucesso para o contato e o servidor do WhatsApp deu o sinal de confirmação ACK para a mensagem.
4 - A mensagem foi lida pelo usuário.
5 - Apenas para casos de áudio e vídeo, essa propriedade indica que o usuário deu play no áudio ou vídeo, ou seja, além de visualizar ele também abriu o arquivo.
SIGNIFICADO DE ACK:
[Ing. Forma reduzida para acknowledgement] (Confirmação). Código de comunicação enviado por uma unidade receptora à uma estação transmissora, com o objetivo de confirmar que está pronta para receber um pacote de dados ou que o pacote enviado chegou sem erros. Cf. Nak.
Formatos recebidos via Webhook em casos de MESSAGE-UPDATED
O exemplo abaixo é para casos de quando a mensagem foi enviada via Zapfy, é possível notar o messageUuid e id, essas propriedades são utilizadas para identificar de qual mensagem esse evento se refere. Se preferir, você também pode utilizar o identificador id dentro de key.
{
"type": "MESSAGE-UPDATED",
"instanceKey": "b08f4262-b74f-4b7b-9958-1c7d5d1dc5e7",
"id": "c53b047e-687f-4775-aa64-9bea0bd7ad78",
"data": [
{
"key": {
"remoteJid": "5527997320619:[email protected]", // Contato que recebeu / enviou a mensagem
"id": "BAE598CD990F9514", // ID de identificação da mensagem no whatsapp
"fromMe": true, // Propriedade que indica se a mensagem foi enviada pelo número conectado à instância
"messageUuid": "c53b047e-687f-4775-aa64-9bea0bd7ad78"
},
"update": {
"status": 3 // Status da mensagem
}
}
],
"ids": [
"c53b047e-687f-4775-aa64-9bea0bd7ad78"
]
}
Agora, vemos um exemplo de quando sua instância recebe uma mensagem, perceba que a estrutura se mantém a mesma, a única alteração é na propriedade id
fora de key
e messageUuid
, os valores são nulos pois a mensagem não foi enviada via Zapfy.
{
"type": "MESSAGE-UPDATED",
"instanceKey": "b08f4262-b74f-4b7b-9958-1c7d5d1dc5e7",
"id": null,
"data": [
{
"key": {
"remoteJid": "[email protected]", // Contato que recebeu / enviou a mensagem
"id": "3EB054EA40CA962D1FF7", // ID de identificação da mensagem no whatsapp
"fromMe": false, // Propriedade que indica se a mensagem foi enviada pelo número conectado à instância
"messageUuid": null
},
"update": {
"status": 4
}
}
],
"ids": [
null
]
}s
Last updated