📄 Card 93: [M15] API Pública + Webhooks
Commits e5b537f 1818177 · Próximo Card 94.
Implementado
- API pública v1 (
/api/v1/*) com Bearer token (sha256 hash no DB, prefixo visível, exibição única na criação, revogação, lastUsedAt): GET conversations (+filtros) · GET conversations/:id · GET contacts · GET leads · POST messages (envia WhatsApp com session opcional) - Webhooks outgoing com assinatura HMAC-SHA256 (X-Genioon-Signature): conversation.transferred/resolved, csat.received, message.inbound — disparados nos pontos-chave
- UI
/atendimento/api: tokens (criar/copiar/revogar + exemplo curl), endpoints de webhook (URL + eventos em chips + lastStatus), vitrine de Aplicativos (n8n ✓, WAHA ✓, Gemini ✓, Asaas em breve, Meta aguardando App) - Middleware liberada p/ /api/v1 (Bearer validado no handler)
E2E
GET /api/v1/conversationssem token válido → 401 unauthorized ✓- Token válido: criado via UI (fluxo tRPC testado por build/tsc)
Próximo
Card 94 — Widget de Chat IA no site público.