2.3 KiB
2.3 KiB
Sexta — Lista de Tarefas
Backend — Endpoints que faltam
GET /api/admin/notification-errors— listar falhas definitivas de envio WhatsApp (tabelanotification_errors, paginação, filtro por phone/data)GET /api/admin/nw-events— listar eventos recebidos via webhook NewWhats (tabelanw_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 idempotentePATCH /api/me/optin— controller liareq.body.optinmas frontend enviavawhatsapp_optin. Corrigido: aceita ambosfindByUserCpfno Ticket retornavaraffle_titulomas Dashboard esperavaraffle_name. Corrigido alias pararaffle_name- Dashboard usava
t.created_atmas campo correto édata_compra. Corrigido com fallback
Customer-app — Testar e corrigir páginas
DashboardPage— campos corrigidos (raffle_name,data_compra), optin corrigidoCarteirinhaPage— rota/carteirinha/:cpf, campos dogetCardOK (club_name,plan_name,user_cpf,user_nome)ClubePage— planos OK, parceiros OK (camposname,specialty,discount_percent), modal de adesão OKRafflePage— campostitulo,preco_numero,total_numeroscorretos; endpoint/api/raffle/:id/ticketsOKDashboardPage— 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 ✓