Files
SeConectai_Web/Schema/10-exportacao-pdf-e-notificacoes.md
T

2.2 KiB

10 — Exportação em PDF e notificações

Contexto do projeto (leia sempre)

Sistema web "Briefing de Site" da SeConectai: o cliente se cadastra e depois preenche o briefing de criação do site, com um botão Ajuda em cada pergunta que abre um popup com o texto do guia auxiliar. O dono (Tiago) acompanha tudo por um painel admin. Stack fixa: Next.js 14+ (App Router) + TypeScript, PostgreSQL 16, Prisma, Tailwind + shadcn/ui, React Hook Form + Zod, Auth.js v5 (Credentials, estratégia JWT), Docker Compose. Idioma da interface: pt-BR. Regras gerais: leia 00-arquitetura-briefing-site.md e 99-progresso.md antes de começar; não avance se a etapa anterior estiver incompleta; ao terminar, devolva o 99-progresso.md atualizado. Não invente dependências fora da stack. Nada de senhas de clientes em lugar nenhum.

Pré-requisito

Etapa 09 concluída.

Tarefa

  1. PDF do briefing (/api/briefings/[id]/pdf, dono ou ADMIN): documento com dados do cliente, 19 seções, perguntas e respostas (opções marcadas com ☒/☐), lista de anexos (nomes, sem o conteúdo) e a confirmação do cliente com data/hora. Gerar no servidor (ex.: @react-pdf/renderer). Botão "Baixar PDF" para o cliente (após envio) e para o admin.
  2. E-mails (SMTP, lib/mail.ts, templates simples em pt-BR): confirmação de cadastro, briefing enviado (ao cliente, com resumo e PDF), aviso de novo briefing enviado (ao admin).
  3. WhatsApp opcional (Evolution API): se EVOLUTION_API_URL/KEY/INSTANCE e ADMIN_WHATSAPP estiverem definidos, avisar o admin quando um briefing for enviado. Antes de implementar, consultar a versão da Evolution API da instância e confirmar o formato do payload (não assumir). Falha de WhatsApp/e-mail nunca pode impedir o envio do briefing: registrar erro e seguir (fila simples com retry ou tabela EnvioNotificacao com status).
  4. Dados sensíveis: PDF e e-mails não incluem CPF completo.

Critérios de aceite

  • PDF gerado corretamente com todas as seções e acentuação; abre em leitor comum.
  • Falha de SMTP/WhatsApp não quebra o envio do briefing.
  • Nenhum CPF completo em PDF, e-mails ou logs.

Atualize 99-progresso.md (10).