Pular para o conteúdo
LFD

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

FIG. 06 — Atendimento via WhatsAppCada mensagem é validada, gravada e só então confirmada; a resposta sai uma única vez.
resposta idempotente · janela de 24 h01WHATSAPPCloud API · Meta02WEBHOOKHMAC · dedupe03CAIXA DE ENTRADASQL Server04ANTIVÍRUSmídias05CONSOLEvários atendentes06PUSHnavegador

05 · Stack

BackendASP.NET Core 9 · SQL Server · Web Push (VAPID)
IntegraçãoWhatsApp Cloud API (Meta) · HMAC-SHA256
FrontReact 18 · Vite · Service Worker · IndexedDB
QualidadexUnit · 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.