{
"type": "disconnected",
"event_id": "01J5Q8ZK3M4N5P6Q7R8S9T0V1X",
"instance_id": "8f2a3c1e-6b7d-4e5f-9a0b-1c2d3e4f5a6b",
"momment": 1786971600000,
"disconnected": true,
"reason": "logged_out",
"error": "Device has been disconnected"
}Instância desconectada
reason diz o que aconteceu: network e stream_replaced são temporários (o engine reconecta sozinho); logged_out (dispositivo removido no celular) e banned exigem novo QR code; stopped é uma parada pela API/assinatura.
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": "disconnected",
"event_id": "01J5Q8ZK3M4N5P6Q7R8S9T0V1X",
"instance_id": "8f2a3c1e-6b7d-4e5f-9a0b-1c2d3e4f5a6b",
"momment": 1786971600000,
"disconnected": true,
"reason": "logged_out",
"error": "Device has been disconnected"
}Headers
Tipo do evento.
disconnected 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
disconnected ^[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 <= 9007199254740991true network, stream_replaced, logged_out, banned, stopped, engine_shutdown, unknown Response
Qualquer 2xx confirma o recebimento. Outros códigos (ou timeout de 10 s) agendam nova tentativa.