Case 06 · Integrações
Atendimento via WhatsApp
Caixa de atendimento compartilhada sobre a WhatsApp Cloud API: vários atendentes, um número, histórico e autoria — sem perder mensagem.
- Cliente
- Fitacabo
- Área
- Integrações
- Período
- 2026
01 · Contexto
O suporte interno da Fitacabo chegava pelo WhatsApp, em celulares individuais.
02 · Problema
Sem histórico central, sem saber quem respondeu o quê e com conversas perdidas quando alguém não estava.
03 · O que a LFD construiu
- Webhook da Meta que valida a assinatura HMAC sobre o corpo original e só confirma o recebimento depois de gravar — nenhum evento se perde.
- Caixa de entrada com deduplicação e falha fechada: sem configuração válida, o sistema recusa em vez de descartar.
- Console web para vários atendentes, com envio idempotente e a janela de 24 horas validada no servidor.
- Mídias baixadas pelo servidor, verificadas por antivírus e entregues sem expor endereços da Meta ao navegador.
- Notificações push no navegador para cada atendente, com reenvio e backoff.
- Arquivar, fixar, marcar como não lida, reações, recibos de leitura e contador de não lidas no portal.
04 · Arquitetura
05 · Stack
| Backend | ASP.NET Core 9 · SQL Server · Web Push (VAPID) |
|---|---|
| Integração | WhatsApp Cloud API (Meta) · HMAC-SHA256 |
| Front | React 18 · Vite · Service Worker · IndexedDB |
| Qualidade | xUnit · FluentAssertions · Vitest |
06 · Resultado
- Em produção desde setembro de 2026.
- 18 endpoints e 188 testes automatizados (140 no backend, 48 no front).
- Do webhook ao push no navegador em cerca de dez dias, em etapas publicadas uma a uma.
07 · Aprendizado
Webhook confiável é o que nunca perde evento: confirma só depois de gravar, deduplica tudo e falha fechado quando algo está errado.