BH Escape
Backoffice de automação de reservas para uma rede de escape rooms — sincroniza o Bookeo, confirma clientes por WhatsApp via Kaptha, coleta fotos no Drive e emite vendas fiscais na Conta Azul.
BH Escape é o painel operacional interno de uma rede de escape rooms, integrando quatro sistemas que não conversam entre si: Bookeo (onde o cliente efetivamente agenda), WhatsApp via agente de IA Kaptha (confirmação e envio de fotos), Google Drive (armazenamento de fotos do evento) e Conta Azul (ERP fiscal). O sistema sincroniza reservas do Bookeo, dispara confirmações automáticas, cria pastas de upload de fotos e emite vendas fiscais mapeando cada sala reservada a um serviço fiscal específico.
É um monorepo Turborepo/Bun com apps/web (Next.js 16, dashboard + oRPC + webhooks) e apps/jobs (worker BullMQ sem HTTP), com pacotes isolando cada integração — bookeo e conta-azul como clientes HTTP sem conhecimento de domínio, packages/api concentrando toda a lógica de negócio em routers oRPC. Autenticação em duas camadas: sessão Better-Auth para o dashboard, e segredo compartilhado ou token HMAC assinado para webhooks e upload público sem login.
A sincronização do Bookeo roda a cada hora; um job diário às 8h enfileira confirmação por WhatsApp via Kaptha (uma mensagem por cliente, espaçadas em 30s), e o webhook do Kaptha atualiza o status da reserva pelo kapthaAskId. A confirmação de pagamento dispara a emissão de venda na Conta Azul — se falhar, o erro é logado mas não reverte a confirmação já feita. Fotos do evento usam um link tokenizado (HMAC, válido 24h) para o cliente subir direto ao Google Drive, sem precisar de login.
Desafios técnicos
- –Sincronizar reservas do Bookeo e manter o estado consistente entre 4 sistemas externos sem uma camada transacional entre eles
- –Emissão fiscal não-transacional com o pagamento: lidar com falha na Conta Azul sem reverter a confirmação já feita
- –Autenticação em duas camadas — sessão de usuário para o dashboard e HMAC/segredo compartilhado para webhooks e upload público
O que aprendi
- →Integração de múltiplos serviços externos (agendamento, WhatsApp, storage, ERP fiscal) mantendo cada cliente HTTP isolado sem conhecimento de domínio
- →Uso de tokens HMAC assinados como alternativa leve à autenticação de sessão em fluxos públicos, como o upload de fotos