data
varia por tipo de evento. O payload é normalizado pela Zapfy — não muda quando a
conexão com o WhatsApp muda.
Envelope
string
Tipo do evento, em
UPPER_SNAKE. Um dos valores abaixo.string
ID da instância na Zapfy que originou o evento.
string
ID único do evento. Use como chave de idempotência (a entrega é at-least-once).
string
Momento da emissão, ISO 8601 (UTC).
object
Payload específico do evento — descrito abaixo. Os exemplos a seguir mostram o evento
completo (envelope +
data).Tipos de evento
MESSAGE_RECEIVED / MESSAGE_SENT
Mensagem em conversa de contato (1:1):chat é o grupo (phone: null) e sender é o participante que enviou:
data:
string
ID da mensagem no WhatsApp. Reaproveite em
delete/edit.boolean
true se foi você quem enviou (MESSAGE_SENT); false se recebeu.object
A conversa — o contato ou grupo onde a mensagem está. É aqui que você responde.
object
Quem enviou esta mensagem. Em conversa de contato é o próprio contato; em grupo, o participante.
string
TEXT · IMAGE · AUDIO · VIDEO · DOCUMENT · STICKER · LOCATION ·
CONTACT · INTERACTIVE.string
Conteúdo de texto. Em mídias, traz a legenda.
object | null
Presente em mídias:
{ mimeType, url, filename, caption }.MESSAGE_STATUS
Status de uma mensagem que você enviou —data traz chat (mesma forma), sem sender:
string
PENDING · SENT · DELIVERED · READ · FAILED.object | null
Presente em
FAILED: { code, message }.CONNECTION_UPDATE
string
CONNECTING · CONNECTED · DISCONNECTED.string | null
Número da conta conectada, em E.164.
null enquanto não há sessão (ex.: CONNECTING ou DISCONNECTED).string | null
Motivo da queda quando
DISCONNECTED (ex.: LOGGED_OUT, BANNED).QRCODE_UPDATED
string
QR Code em data URL (PNG base64) para parear o número.
string
Expiração do QR, ISO 8601 (UTC).