Files
mercado.clube67.com/docs/sexta.md
T

2.3 KiB

Sexta — Lista de Tarefas

Backend — Endpoints que faltam

  • GET /api/admin/notification-errors — listar falhas definitivas de envio WhatsApp (tabela notification_errors, paginação, filtro por phone/data)
  • GET /api/admin/nw-events — listar eventos recebidos via webhook NewWhats (tabela nw_event_logs, filtro event/instance/data)
  • Adicionar tipos de clube nos TYPE_TABS do endpoint /analytics/whatsapp-logs (club_welcome, club_payment_confirmed, club_payment_overdue, club_suspended, club_canceled, club_payment_reminder)

Admin-app — WhatsApp Logs

  • Atualizar WhatsAppLogs.tsx: adicionar tabs para todos os tipos de clube
  • Adicionar aba Falhas Definitivas na página WhatsApp Logs — consome notification_errors, exibe phone, error_message, payload, data
  • Adicionar aba Inbox (Recebidos) — consome nw_event_logs, exibe instance_id, direction, chat_id, msg_type, payload resumido, data

Correções de bugs

  • club_partners — tabela criada com colunas PT (nome, especialidade…) mas model usa EN (name, specialty…). Corrigido: CREATE TABLE agora usa EN + migração RENAME COLUMN idempotente
  • PATCH /api/me/optin — controller lia req.body.optin mas frontend enviava whatsapp_optin. Corrigido: aceita ambos
  • findByUserCpf no Ticket retornava raffle_titulo mas Dashboard esperava raffle_name. Corrigido alias para raffle_name
  • Dashboard usava t.created_at mas campo correto é data_compra. Corrigido com fallback

Customer-app — Testar e corrigir páginas

  • DashboardPage — campos corrigidos (raffle_name, data_compra), optin corrigido
  • CarteirinhaPage — rota /carteirinha/:cpf, campos do getCard OK (club_name, plan_name, user_cpf, user_nome)
  • ClubePage — planos OK, parceiros OK (campos name, specialty, discount_percent), modal de adesão OK
  • RafflePage — campos titulo, preco_numero, total_numeros corretos; endpoint /api/raffle/:id/tickets OK
  • DashboardPage — toggle WhatsApp opt-in (PATCH /api/me/optin) corrigido

Build e deploy

  • Build customer-app → sem erros de TypeScript ✓
  • Build admin-app → sem erros de TypeScript ✓
  • Servidor reiniciado e smoke tests passando ✓