Eventos de webhook
Tudo o que pode chegar no seu webhook, com o formato do payload de cada evento.
Status da conexão
session.statusAPI OnZapAPI oficialA conexão mudou de status (ex.: WORKING → SCAN_QR_CODE quando o celular desconecta).
Campos do payload
statusstringobrigatórioSTOPPED, STARTING, SCAN_QR_CODE, WORKING ou FAILED.rawanyopcionalreasonstringopcional{
"event": "session.status",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"reason": "a conta da Meta revogou o acesso",
"status": "WORKING"
},
"provider": "onzap",
"timestamp": 1767225600000
}Mensagem recebida
messageAPI OnZapAPI oficialMensagem que chegou de outra pessoa (não inclui as enviadas por este número).
Campos do payload
chatIdstringobrigatório...@c.us) sempre que ele é conhecido, mesmo quando o WhatsApp manda o LID.fromobjectobrigatóriofrom.idstringobrigatório5511999999999@c.us (o número, sempre que conhecido), …@lid ou, na API oficial, BR.…@bsuid.from.bsuidstringopcionalfrom.lidstringopcional…@lid); o id já vem com o número.from.phonestringopcionalfrom.picturestringopcionalfrom.pushNamestringopcionalfrom.usernamestringopcionalfromMebooleanobrigatórioidstringobrigatórioisGroupbooleanobrigatóriotimestampintegerobrigatóriotypestringobrigatóriotext, image, video, audio, voice, document, sticker, location, contact, button_reply, list_reply, reaction, poll ou unknown.chatLidstringopcional...@lid). O chatId já vem com o número.chatNamestringopcionalchatPicturestringopcionalcontactsarray de stringopcionallocationobjectopcionallocation.latitudenumberobrigatóriolocation.longitudenumberobrigatóriolocation.addressstringopcionallocation.namestringopcionallocation.urlstringopcionalmediaobjectopcionalmedia.errorstringopcionalmedia.filenamestringopcionalmedia.mimetypestringopcionalmedia.urlstringopcionalquotedIdstringopcionalrawanyopcionalreplyobjectopcionalreply.idstringopcionalreply.titlestringopcionalsourcestringopcionalapi (enviada pela API) ou app (pelo celular), nas mensagens próprias.textstringopcional{
"event": "message",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"chatLid": "36576092528787@lid",
"chatName": "Maria Silva",
"chatPicture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"contacts": [
"texto"
],
"from": {
"bsuid": "BR.1349120865530274191",
"id": "5511999999999@c.us",
"lid": "36576092528787@lid",
"phone": "5511999999999",
"picture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"pushName": "Maria",
"username": "maria.silva"
},
"fromMe": false,
"id": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"isGroup": false,
"location": {
"address": "Av. Paulista, 1000 - São Paulo, SP",
"latitude": -23.5613,
"longitude": -46.6565,
"name": "Loja Centro",
"url": "https://exemplo.com.br/arquivos/pedido.jpg"
},
"media": {
"error": "número sem WhatsApp",
"filename": "pedido.pdf",
"mimetype": "image/jpeg",
"url": "https://exemplo.com.br/arquivos/pedido.jpg"
},
"quotedId": "false_5511999999999@c.us_3EB0A1A2A3A4A5A6A7",
"reply": {
"id": "confirmar",
"title": "Confirmação"
},
"source": "api",
"text": "Olá! Seu pedido foi confirmado.",
"timestamp": 1767225600,
"type": "text"
},
"provider": "onzap",
"timestamp": 1767225600000
}Reação
message.reactionAPI OnZapAPI oficialAlguém reagiu (ou removeu a reação) a uma mensagem.
Campos do payload
chatIdstringobrigatórioemojistringobrigatóriofromobjectobrigatóriofrom.idstringobrigatório5511999999999@c.us (o número, sempre que conhecido), …@lid ou, na API oficial, BR.…@bsuid.from.bsuidstringopcionalfrom.lidstringopcional…@lid); o id já vem com o número.from.phonestringopcionalfrom.picturestringopcionalfrom.pushNamestringopcionalfrom.usernamestringopcionalfromMebooleanobrigatórioidstringobrigatóriomessageIdstringobrigatóriotimestampintegerobrigatóriorawanyopcional{
"event": "message.reaction",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"emoji": "👍",
"from": {
"bsuid": "BR.1349120865530274191",
"id": "5511999999999@c.us",
"lid": "36576092528787@lid",
"phone": "5511999999999",
"picture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"pushName": "Maria",
"username": "maria.silva"
},
"fromMe": false,
"id": "false_5511999999999@c.us_3EB0AA11BB22CC33DD44",
"messageId": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Qualquer mensagem
message.anyAPI OnZapAPI oficialRecebidas e enviadas, inclusive as enviadas pelo celular ou por outro sistema (fromMe: true, source: app).
Campos do payload
chatIdstringobrigatório...@c.us) sempre que ele é conhecido, mesmo quando o WhatsApp manda o LID.fromobjectobrigatóriofrom.idstringobrigatório5511999999999@c.us (o número, sempre que conhecido), …@lid ou, na API oficial, BR.…@bsuid.from.bsuidstringopcionalfrom.lidstringopcional…@lid); o id já vem com o número.from.phonestringopcionalfrom.picturestringopcionalfrom.pushNamestringopcionalfrom.usernamestringopcionalfromMebooleanobrigatórioidstringobrigatórioisGroupbooleanobrigatóriotimestampintegerobrigatóriotypestringobrigatóriotext, image, video, audio, voice, document, sticker, location, contact, button_reply, list_reply, reaction, poll ou unknown.chatLidstringopcional...@lid). O chatId já vem com o número.chatNamestringopcionalchatPicturestringopcionalcontactsarray de stringopcionallocationobjectopcionallocation.latitudenumberobrigatóriolocation.longitudenumberobrigatóriolocation.addressstringopcionallocation.namestringopcionallocation.urlstringopcionalmediaobjectopcionalmedia.errorstringopcionalmedia.filenamestringopcionalmedia.mimetypestringopcionalmedia.urlstringopcionalquotedIdstringopcionalrawanyopcionalreplyobjectopcionalreply.idstringopcionalreply.titlestringopcionalsourcestringopcionalapi (enviada pela API) ou app (pelo celular), nas mensagens próprias.textstringopcional{
"event": "message.any",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"chatLid": "36576092528787@lid",
"chatName": "Maria Silva",
"chatPicture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"contacts": [
"texto"
],
"from": {
"bsuid": "BR.1349120865530274191",
"id": "5511999999999@c.us",
"lid": "36576092528787@lid",
"phone": "5511999999999",
"picture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"pushName": "Maria",
"username": "maria.silva"
},
"fromMe": false,
"id": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"isGroup": false,
"location": {
"address": "Av. Paulista, 1000 - São Paulo, SP",
"latitude": -23.5613,
"longitude": -46.6565,
"name": "Loja Centro",
"url": "https://exemplo.com.br/arquivos/pedido.jpg"
},
"media": {
"error": "número sem WhatsApp",
"filename": "pedido.pdf",
"mimetype": "image/jpeg",
"url": "https://exemplo.com.br/arquivos/pedido.jpg"
},
"quotedId": "false_5511999999999@c.us_3EB0A1A2A3A4A5A6A7",
"reply": {
"id": "confirmar",
"title": "Confirmação"
},
"source": "api",
"text": "Olá! Seu pedido foi confirmado.",
"timestamp": 1767225600,
"type": "text"
},
"provider": "onzap",
"timestamp": 1767225600000
}Status de entrega e leitura
message.ackAPI OnZapAPI oficialEnviada, entregue, lida, ouvida ou falhou.
Campos do payload
chatIdstringobrigatórioidstringobrigatóriostatusstringobrigatóriopending, sent, delivered, read, played ou failed.errorobjectopcionalfailed).error.messagestringobrigatórioerror.codeintegeropcionalpricinganyopcionalrawanyopcionaltimestampintegeropcional{
"event": "message.ack",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"error": {
"code": 0,
"message": "Olá! Seu pedido foi confirmado."
},
"id": "true_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"status": "read",
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Status de leitura em grupos
message.ack.groupAPI OnZapLeitura e entrega por participante em grupos.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
acknumberobrigatório-101234ackNamestringobrigatóriofromstringobrigatóriofromMebooleanobrigatórioidstringobrigatórioparticipantstringobrigatóriotostringobrigatório_dataobjectopcional{
"event": "message.ack.group",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"ack": -1,
"ackName": "READ",
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5511999999999@c.us",
"to": "5511999999999@c.us"
},
"provider": "onzap",
"timestamp": 1767225600000
}Mensagem aguardando
message.waitingAPI OnZapO WhatsApp avisou que há uma mensagem que ainda não pôde ser lida ("Aguardando mensagem").
Só na API OnZap. O payload segue o formato do WhatsApp Web.
{
"event": "message.waiting",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {},
"provider": "onzap",
"timestamp": 1767225600000
}Mensagem apagada
message.revokedAPI OnZapAPI oficialMensagem apagada para todos.
Campos do payload
chatIdstringobrigatóriofromMebooleanobrigatóriomessageIdstringobrigatóriorawanyopcionaltimestampintegeropcional{
"event": "message.revoked",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"fromMe": false,
"messageId": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Mensagem editada
message.editedAPI OnZapAPI oficialTexto de uma mensagem foi editado.
Campos do payload
chatIdstringobrigatóriofromobjectobrigatóriofrom.idstringobrigatório5511999999999@c.us (o número, sempre que conhecido), …@lid ou, na API oficial, BR.…@bsuid.from.bsuidstringopcionalfrom.lidstringopcional…@lid); o id já vem com o número.from.phonestringopcionalfrom.picturestringopcionalfrom.pushNamestringopcionalfrom.usernamestringopcionalfromMebooleanobrigatórioidstringobrigatóriomessageIdstringobrigatóriotextstringobrigatóriotimestampintegerobrigatóriorawanyopcional{
"event": "message.edited",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"from": {
"bsuid": "BR.1349120865530274191",
"id": "5511999999999@c.us",
"lid": "36576092528787@lid",
"phone": "5511999999999",
"picture": "https://app.onzap.io/v1/avatars/i01jabcdefghjkmnpqrstvwxyz/5511999999999@c.us?exp=1767229200&sig=…",
"pushName": "Maria",
"username": "maria.silva"
},
"fromMe": false,
"id": "false_5511999999999@c.us_3EB0EE55FF66AA77BB88",
"messageId": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"text": "Olá! Seu pedido foi confirmado.",
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Mudança de estado do aparelho
state.changeAPI OnZapEstado interno da conexão com o celular.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
{
"event": "state.change",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {},
"provider": "onzap",
"timestamp": 1767225600000
}Entrou em um grupo (legado)
group.joinAPI OnZapFormato antigo; prefira group.v2.join.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
{
"event": "group.join",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {},
"provider": "onzap",
"timestamp": 1767225600000
}Saiu de um grupo (legado)
group.leaveAPI OnZapFormato antigo; prefira group.v2.leave.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
{
"event": "group.leave",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {},
"provider": "onzap",
"timestamp": 1767225600000
}Entrou em um grupo
group.v2.joinAPI OnZapEste número foi adicionado ou entrou em um grupo.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatóriogroupobjectobrigatóriogroup.descriptionstringobrigatóriogroup.idstringobrigatóriogroup.membersCanAddNewMemberbooleanobrigatóriogroup.membersCanSendMessagesbooleanobrigatóriogroup.newMembersApprovalRequiredbooleanobrigatóriogroup.participantsarray de objectobrigatóriogroup.participants[].idstringobrigatóriogroup.participants[].rolestringobrigatórioleftparticipantadminsuperadmingroup.participants[].pnstringopcionalgroup.subjectstringobrigatóriogroup.invitestringopcionaltimestampnumberobrigatório{
"event": "group.v2.join",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"group": {
"description": "Group Description",
"id": "123456789@g.us",
"invite": "https://chat.whatsapp.com/1234567890abcdef",
"membersCanAddNewMember": false,
"membersCanSendMessages": false,
"newMembersApprovalRequired": false,
"participants": [
{
"id": "123456789@lid",
"pn": "123456789@c.us",
"role": "participant"
}
],
"subject": "Group Name"
},
"timestamp": 1666943582
},
"provider": "onzap",
"timestamp": 1767225600000
}Saiu de um grupo
group.v2.leaveAPI OnZapEste número saiu ou foi removido de um grupo.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatóriogroupobjectobrigatóriogroup.idstringobrigatóriotimestampnumberobrigatório{
"event": "group.v2.leave",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"group": {
"id": "123456789@g.us"
},
"timestamp": 1666943582
},
"provider": "onzap",
"timestamp": 1767225600000
}Grupo alterado
group.v2.updateAPI OnZapNome, descrição, foto ou configurações do grupo mudaram.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatóriogroupobjectobrigatóriotimestampnumberobrigatório{
"event": "group.v2.update",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"group": {},
"timestamp": 1666943582
},
"provider": "onzap",
"timestamp": 1767225600000
}Participantes alterados
group.v2.participantsAPI OnZapParticipantes entraram, saíram, foram promovidos ou rebaixados.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatóriogroupobjectobrigatóriogroup.idstringobrigatórioparticipantsarray de objectobrigatórioparticipants[].idstringobrigatórioparticipants[].rolestringobrigatórioleftparticipantadminsuperadminparticipants[].pnstringopcionaltimestampnumberobrigatóriotypestringobrigatóriojoinleavepromotedemote{
"event": "group.v2.participants",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"group": {
"id": "123456789@g.us"
},
"participants": [
{
"id": "123456789@lid",
"pn": "123456789@c.us",
"role": "participant"
}
],
"timestamp": 1666943582,
"type": "join"
},
"provider": "onzap",
"timestamp": 1767225600000
}Presença
presence.updateAPI OnZapOnline, digitando ou gravando áudio, para chats com presença assinada (POST /presence/{chatId}/subscribe).
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
idstringobrigatóriopresencesarray de objectobrigatóriopresences[].lastKnownPresencestringobrigatórioofflineonlinetypingrecordingpausedpresences[].participantstringobrigatóriopresences[].lastSeennumberopcional{
"event": "presence.update",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"id": "5511999999999@c.us",
"presences": [
{
"lastKnownPresence": "offline",
"lastSeen": 1686568773,
"participant": "5511999999999@c.us"
}
]
},
"provider": "onzap",
"timestamp": 1767225600000
}Voto em enquete
poll.voteAPI OnZapAlguém votou numa enquete enviada por este número.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
pollobjectobrigatóriopoll.fromstringobrigatóriopoll.fromMebooleanobrigatóriopoll.idstringobrigatóriopoll.tostringobrigatóriopoll.participantstringopcionalvoteobjectobrigatóriovote.fromstringobrigatóriovote.fromMebooleanobrigatóriovote.idstringobrigatóriovote.selectedOptionsarray de stringobrigatóriovote.timestampnumberobrigatóriovote.tostringobrigatóriovote.participantstringopcional_dataobjectopcional{
"event": "poll.vote",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"poll": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"to": "5511888888888@c.us"
},
"vote": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"selectedOptions": [
"Awesome!"
],
"timestamp": 1692861369,
"to": "5511888888888@c.us"
}
},
"provider": "onzap",
"timestamp": 1767225600000
}Voto não decifrado
poll.vote.failedAPI OnZapChegou um voto que não pôde ser decifrado.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
pollobjectobrigatóriopoll.fromstringobrigatóriopoll.fromMebooleanobrigatóriopoll.idstringobrigatóriopoll.tostringobrigatóriopoll.participantstringopcionalvoteobjectobrigatóriovote.fromstringobrigatóriovote.fromMebooleanobrigatóriovote.idstringobrigatóriovote.selectedOptionsarray de stringobrigatóriovote.timestampnumberobrigatóriovote.tostringobrigatóriovote.participantstringopcional_dataobjectopcional{
"event": "poll.vote.failed",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"poll": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"to": "5511888888888@c.us"
},
"vote": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"selectedOptions": [
"Awesome!"
],
"timestamp": 1692861369,
"to": "5511888888888@c.us"
}
},
"provider": "onzap",
"timestamp": 1767225600000
}Conversa arquivada
chat.archiveAPI OnZapUma conversa foi arquivada ou desarquivada.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
archivedbooleanobrigatórioidstringobrigatóriotimestampnumberobrigatório{
"event": "chat.archive",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"archived": false,
"id": "5511999999999@c.us",
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Chamada recebida
call.receivedAPI OnZapChamada de voz ou vídeo chegando (dá para recusar com POST /calls/reject).
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatórioidstringobrigatórioisGroupbooleanobrigatórioisVideobooleanobrigatóriotimestampnumberobrigatóriofromstringopcional{
"event": "call.received",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"from": "5511999999999@c.us",
"id": "ABCDEFGABCDEFGABCDEFGABCDEFG",
"isGroup": false,
"isVideo": false,
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Chamada atendida
call.acceptedAPI OnZapA chamada foi atendida em outro aparelho.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatórioidstringobrigatórioisGroupbooleanobrigatórioisVideobooleanobrigatóriotimestampnumberobrigatóriofromstringopcional{
"event": "call.accepted",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"from": "5511999999999@c.us",
"id": "ABCDEFGABCDEFGABCDEFGABCDEFG",
"isGroup": false,
"isVideo": false,
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Chamada recusada
call.rejectedAPI OnZapA chamada foi recusada.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
_dataobjectobrigatórioidstringobrigatórioisGroupbooleanobrigatórioisVideobooleanobrigatóriotimestampnumberobrigatóriofromstringopcional{
"event": "call.rejected",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"from": "5511999999999@c.us",
"id": "ABCDEFGABCDEFGABCDEFGABCDEFG",
"isGroup": false,
"isVideo": false,
"timestamp": 1767225600
},
"provider": "onzap",
"timestamp": 1767225600000
}Etiqueta criada ou alterada
label.upsertAPI OnZapSó na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
colornumberobrigatóriocolorHexstringobrigatórioidstringobrigatórionamestringobrigatório{
"event": "label.upsert",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"color": 0,
"colorHex": "#ff9485",
"id": "1",
"name": "Lead"
},
"provider": "onzap",
"timestamp": 1767225600000
}Etiqueta removida
label.deletedAPI OnZapSó na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
colornumberobrigatóriocolorHexstringobrigatórioidstringobrigatórionamestringobrigatório{
"event": "label.deleted",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"color": 0,
"colorHex": "#ff9485",
"id": "1",
"name": "Lead"
},
"provider": "onzap",
"timestamp": 1767225600000
}Etiqueta aplicada
label.chat.addedAPI OnZapUma etiqueta foi aplicada a uma conversa.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
chatIdstringobrigatóriolabelobjectobrigatóriolabel.colornumberobrigatóriolabel.colorHexstringobrigatóriolabel.idstringobrigatóriolabel.namestringobrigatóriolabelIdstringobrigatório{
"event": "label.chat.added",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"label": {
"color": 0,
"colorHex": "#ff9485",
"id": "1",
"name": "Lead"
},
"labelId": "1"
},
"provider": "onzap",
"timestamp": 1767225600000
}Etiqueta retirada
label.chat.deletedAPI OnZapUma etiqueta foi retirada de uma conversa.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
chatIdstringobrigatóriolabelobjectobrigatóriolabel.colornumberobrigatóriolabel.colorHexstringobrigatóriolabel.idstringobrigatóriolabel.namestringobrigatóriolabelIdstringobrigatório{
"event": "label.chat.deleted",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"chatId": "5511999999999@c.us",
"label": {
"color": 0,
"colorHex": "#ff9485",
"id": "1",
"name": "Lead"
},
"labelId": "1"
},
"provider": "onzap",
"timestamp": 1767225600000
}Resposta a evento
event.responseAPI OnZapAlguém respondeu a um evento (agenda).
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
eventCreationKeyobjectobrigatórioeventCreationKey.fromstringobrigatórioeventCreationKey.fromMebooleanobrigatórioeventCreationKey.idstringobrigatórioeventCreationKey.tostringobrigatórioeventCreationKey.participantstringopcionalfromstringobrigatóriofromMebooleanobrigatórioidstringobrigatórioparticipantstringobrigatóriosourcestringobrigatórioapiapptimestampnumberobrigatóriotostringobrigatório_dataobjectopcionaleventResponseobjectopcionaleventResponse.extraGuestCountnumberobrigatórioeventResponse.responsestringobrigatórioUNKNOWNGOINGNOT_GOINGMAYBEeventResponse.timestampMsnumberobrigatório{
"event": "event.response",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"eventCreationKey": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"to": "5511888888888@c.us"
},
"eventResponse": {
"extraGuestCount": 0,
"response": "UNKNOWN",
"timestampMs": 0
},
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"source": "api",
"timestamp": 1666943582,
"to": "5511999999999@c.us"
},
"provider": "onzap",
"timestamp": 1767225600000
}Resposta a evento não decifrada
event.response.failedAPI OnZapChegou uma resposta que não pôde ser decifrada.
Só na API OnZap. O payload segue o formato do WhatsApp Web.
Campos do payload
eventCreationKeyobjectobrigatórioeventCreationKey.fromstringobrigatórioeventCreationKey.fromMebooleanobrigatórioeventCreationKey.idstringobrigatórioeventCreationKey.tostringobrigatórioeventCreationKey.participantstringopcionalfromstringobrigatóriofromMebooleanobrigatórioidstringobrigatórioparticipantstringobrigatóriosourcestringobrigatórioapiapptimestampnumberobrigatóriotostringobrigatório_dataobjectopcionaleventResponseobjectopcionaleventResponse.extraGuestCountnumberobrigatórioeventResponse.responsestringobrigatórioUNKNOWNGOINGNOT_GOINGMAYBEeventResponse.timestampMsnumberobrigatório{
"event": "event.response.failed",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"_data": {},
"eventCreationKey": {
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"to": "5511888888888@c.us"
},
"eventResponse": {
"extraGuestCount": 0,
"response": "UNKNOWN",
"timestampMs": 0
},
"from": "5511999999999@c.us",
"fromMe": false,
"id": "false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA",
"participant": "5521988887777@c.us",
"source": "api",
"timestamp": 1666943582,
"to": "5511999999999@c.us"
},
"provider": "onzap",
"timestamp": 1767225600000
}Envio da fila concluído
queue.sentAPI OnZapAPI oficialUma mensagem da fila foi enviada.
Campos do payload
attemptsintegerobrigatórioidstringobrigatórioroutestringobrigatórioPOST /messages/text.statusstringobrigatóriosentfailedcancelledexpiredchatIdstringopcionalerrorstringopcionalmessageIdstringopcional{
"event": "queue.sent",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"attempts": 1,
"chatId": "5511999999999@c.us",
"error": "número sem WhatsApp",
"id": "3EB0C0A1B2C3D4E5F6",
"messageId": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"route": "POST /messages/text",
"status": "sent"
},
"provider": "onzap",
"timestamp": 1767225600000
}Envio da fila não concluído
queue.failedAPI OnZapAPI oficialUma mensagem da fila falhou, expirou esperando a reconexão ou foi cancelada.
Campos do payload
attemptsintegerobrigatórioidstringobrigatórioroutestringobrigatórioPOST /messages/text.statusstringobrigatóriosentfailedcancelledexpiredchatIdstringopcionalerrorstringopcionalmessageIdstringopcional{
"event": "queue.failed",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"attempts": 1,
"chatId": "5511999999999@c.us",
"error": "número sem WhatsApp",
"id": "3EB0C0A1B2C3D4E5F6",
"messageId": "false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6",
"route": "POST /messages/text",
"status": "sent"
},
"provider": "onzap",
"timestamp": 1767225600000
}Status de template
template.statusSó API oficialUm template foi aprovado, rejeitado, pausado ou desativado pela Meta.
Campos do payload
namestringobrigatóriostatusstringobrigatóriotemplateIdstringobrigatóriolanguagestringopcionalrawobjectopcionalreasonstringopcional{
"event": "template.status",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"language": "pt_BR",
"name": "Maria Silva",
"raw": {},
"reason": "falhas seguidas",
"status": "ok",
"templateId": "1234567890123456"
},
"provider": "meta",
"timestamp": 1767225600000
}Qualidade do número
phone.qualitySó API oficialA qualidade ou o limite de conversas do número mudou.
Campos do payload
eventstringobrigatóriocurrentLimitstringopcionalphonestringopcionalrawobjectopcional{
"event": "phone.quality",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"currentLimit": "TIER_1K",
"event": "message.any",
"phone": "5511999999999",
"raw": {}
},
"provider": "meta",
"timestamp": 1767225600000
}Evento de teste
webhook.testAPI OnZapAPI oficialEnviado por POST /webhooks/{webhookId}/test.
Campos do payload
messagestringobrigatóriowebhookIdstringobrigatório{
"event": "webhook.test",
"id": "evt_01jabcdefghjkmnpqrstvwxyz0",
"instanceId": "i01jabcdefghjkmnpqrstvwxyz",
"payload": {
"message": "Olá! Seu pedido foi confirmado.",
"webhookId": "whk_01jabcdefghjkmnpqrstvwxy"
},
"provider": "onzap",
"timestamp": 1767225600000
}