{
"type": "received",
"event_id": "01J5Q8ZK3M4N5P6Q7R8S9T0V1X",
"instance_id": "8f2a3c1e-6b7d-4e5f-9a0b-1c2d3e4f5a6b",
"momment": 1786968300000,
"message_id": "3EB0A9C6D2F1E4B5A7C8",
"phone": "5511988887777",
"chat_lid": "98765432109876@lid",
"sender_lid": "98765432109876@lid",
"from_me": false,
"from_api": false,
"is_group": false,
"is_newsletter": false,
"is_edit": false,
"forwarded": false,
"broadcast": false,
"waiting_message": false,
"status": "RECEIVED",
"chat_name": "Maria",
"sender_name": "Maria",
"text": {
"message": "Olá! Tudo bem?"
}
}Mensagem recebida
Disparado para cada mensagem que chega ao número conectado (e para as enviadas pelo próprio celular ou pela API quando notify_sent_by_me está ligado — nesse caso from_me: true; from_api diz se saiu pela API). O conteúdo vem em um bloco opcional conforme o tipo: text, image, audio, video, document, sticker, location, contact/contacts, reaction, poll, poll_vote, buttons_response, list_response, buttons, list, event, event_response, newsletter_invite, product, order — ou notification para eventos de chat (grupo alterado, mensagem apagada, chamada perdida…). URLs de mídia são assinadas e expiram: copie o arquivo para o seu storage. waiting_message: true é um placeholder enquanto a mensagem real ainda está sendo decifrada.
Headers de toda entrega: Content-Type: application/json, User-Agent: Wabox-Webhook/1.0, X-Wabox-Event: <type>, X-Wabox-Event-Id: <event_id>, X-Wabox-Instance-Id: <instance_id> e X-Wabox-Signature: t=<unix>,v1=<hex> (HMAC-SHA256 do corpo cru com o secret da instância). Responda 2xx em até 10 s; caso contrário o Wabox tenta de novo em 10 s, 1 min, 10 min, 1 h e 6 h. Entregas são ordenadas por instância e podem repetir (event_id é a chave de idempotência).
{
"type": "received",
"event_id": "01J5Q8ZK3M4N5P6Q7R8S9T0V1X",
"instance_id": "8f2a3c1e-6b7d-4e5f-9a0b-1c2d3e4f5a6b",
"momment": 1786968300000,
"message_id": "3EB0A9C6D2F1E4B5A7C8",
"phone": "5511988887777",
"chat_lid": "98765432109876@lid",
"sender_lid": "98765432109876@lid",
"from_me": false,
"from_api": false,
"is_group": false,
"is_newsletter": false,
"is_edit": false,
"forwarded": false,
"broadcast": false,
"waiting_message": false,
"status": "RECEIVED",
"chat_name": "Maria",
"sender_name": "Maria",
"text": {
"message": "Olá! Tudo bem?"
}
}Headers
Tipo do evento.
received Id único do evento (ULID). Use para deduplicar.
Instância que gerou o evento.
t=<unix seconds>,v1=<hex> — v1 = HMAC-SHA256(secret, "<t>.<corpo cru>"). Ausente quando a instância não tem segredo.
Body
received ^[0-9A-HJKMNP-TV-Z]{26}$^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$0 <= x <= 900719925474099111^(\d{5,20}|\d+@lid|\d+(-\d+)?-group|\d+@g\.us|\d+@newsletter|\d+@broadcast|status@broadcast)$PENDING, SENT, RECEIVED, READ, READ_BY_ME, PLAYED 1^(\d{5,20}|\d+@lid|\d+(-\d+)?-group|\d+@g\.us|\d+@newsletter|\d+@broadcast|status@broadcast)$1-9007199254740991 <= x <= 90071992547409910 <= x <= 9007199254740991Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
REVOKE, GROUP_CREATE, GROUP_CHANGE_SUBJECT, GROUP_CHANGE_DESCRIPTION, GROUP_CHANGE_ICON, GROUP_PARTICIPANT_ADD, GROUP_PARTICIPANT_REMOVE, GROUP_PARTICIPANT_PROMOTE, GROUP_PARTICIPANT_DEMOTE, GROUP_PARTICIPANT_LEAVE, GROUP_PARTICIPANT_INVITE, MEMBERSHIP_APPROVAL_REQUEST, CALL_RECEIVED, CALL_MISSED, CALL_MISSED_VOICE, CALL_MISSED_VIDEO, E2E_ENCRYPTED, CIPHERTEXT, PROFILE_NAME_UPDATED, PROFILE_PICTURE_UPDATED Show child attributes
Show child attributes
Response
Qualquer 2xx confirma o recebimento. Outros códigos (ou timeout de 10 s) agendam nova tentativa.