Skip to content

Push devices

Endpoints pra integrar com WppHub Monitor (app mobile Android). Registra device do operador, dispara push quando chip cai. Admin key.

Pra integradores (CRMs, atendimento) — esses endpoints sao internos do app mobile. Voce provavelmente nao precisa chamar diretamente. Documentado aqui pra completude.

POST /v1/push/devices

Registra (ou re-registra por token) um device.

POST /v1/push/devices
Authorization: Bearer ADMIN_KEY
Content-Type: application/json
{
"label": "Pixel 8 do Gustavo",
"expo_push_token": "ExponentPushToken[xxx...]",
"platform": "android",
"notification_prefs": {
"chip_logged_out": true,
"chip_banned": true,
"chip_disconnected": false,
"chip_qr_loop": true,
"chip_bad_session_streak": true,
"chip_silent": true
}
}

expo_push_token e gerado pelo app mobile via Notifications.getExpoPushTokenAsync(). Upsert por token — reinstall do app que gera token igual atualiza o registro existente.

201 Created retorna o device com ID ULID.

GET /v1/push/devices

Lista todos.

PATCH /v1/push/devices/:id

Atualiza apenas o label.

PATCH /v1/push/devices/:id/prefs

Atualiza preferencias (toggles por tipo de evento).

POST /v1/push/devices/:id/test

Dispara push de teste pro device.

{ "ok": true }

DELETE /v1/push/devices/:id

Remove (para de receber push).

Tipos de notificacao

TipoDefaultQuando dispara
chip_logged_outONchip vira logged_out (terminal)
chip_bannedONdetector de ban marca chip como banned
chip_disconnectedOFF (ruido)qualquer close terminal nao-loggedOut
chip_qr_loopONchip em pairing >5min
chip_bad_session_streakONconsecutiveBadSession==2 (preventivo)
chip_silentONchip connected sem atividade >2h

Como o hub envia push

Hub usa Expo Push API (https://exp.host/--/api/v2/push/send). Free tier: 600 notif/sec sem token, ~1800 com EXPO_ACCESS_TOKEN. Pra operador unico, irrelevante.

Tokens invalidados (device desinstalou app, etc) sao limpos automaticamente apos resposta com errorCode=DeviceNotRegistered ou InvalidCredentials.