P1.3 · Relatório em PDF e entrega
Depende de P1.2. Skill obrigatória: `/identidade-ecomsmart`.
O prompt
Leia a skill /identidade-ecomsmart inteira antes de escrever CSS. Use brand/tokens.css e brand/base.html deste repositório como base.
Este relatório é a peça que o lojista encaminha para o sócio. Precisa parecer cara.
1. HTML
Template renderizando o RaioX em A4 retrato, item 14 do manual:
- Capa em degradê Profundo nas três camadas, logo branco, período em caixa alta (rótulo 11–12 px, peso 500, tracking +8%), nome da loja em Figtree 700, dado principal em
#8DB0FFna base (usereceita_adormecida), símbolo recortado no canto - Internas claras com cabeçalho, título 24 pt, corpo 10,5 pt, legenda 8 pt
- KPIs em Figtree 700, azul,
tabular-nums, tracking -3%, sempre com período e base - Gráficos monocromáticos em escala de azul de
#EEF4FFa#0A5BF0. Verde, âmbar e vermelho só para variação - Margens 20 mm,
@page{size:A4;margin:0},.page{width:210mm;height:297mm;overflow:hidden;zoom:.96}em@media print
Páginas: capa · resumo executivo com 4 KPIs e 3 frases · faturamento · recompra · receita adormecida · curva RFV · produtos · próximos passos com CTA para o Hub.
Gráficos em SVG gerado no servidor, sem biblioteca JS — precisa funcionar no Chromium headless e no e-mail. Módulo raiox/graficos.py com barras_mensais, barras_horizontais, donut_segmentos.
2. PDF
chrome --headless=new --disable-gpu --no-pdf-header-footer \
--virtual-time-budget=8000 --print-to-pdf=saida.pdf file:///caminho/arquivo.html
Não há Chrome na imagem base. Adicione Chromium ao Dockerfile ou use sidecar — escolha e justifique o tradeoff de tamanho.
Tarefa gerar_pdf_raiox(raiox_id) salvando em object storage, com URL assinada de 30 dias.
3. Entrega
E-mail por SMTP2GO (credenciais no Secret ecomsmart-hub-app já existente). Item 18: 600 px, coluna única, banner Profundo, 1 CTA, rodapé com descadastro, fallback Arial.
Assunto com até 45 caracteres e um número: R$ 84.300 parados na sua base. Corpo com até 120 palavras e um botão. Pixel de abertura dispara o +5 do score.
WhatsApp para quem deixou telefone, tom SmartConversas, API Oficial. Se a integração não existir ainda, deixe interface e stub.
4. Nutrição
Cinco e-mails em 14 dias, cada um com um número do Raio-X do próprio lojista:
| Dia | Assunto | Conteúdo |
|---|---|---|
| 0 | R$ {adormecida} parados na sua base | O relatório |
| 2 | {pct}% compraram uma vez só | Quanto custa por mês |
| 5 | Seu campeão está mais caro? | Radar de Preço, R$ 97/ano |
| 9 | {n} produtos sem venda há 90 dias | Capital parado |
| 14 | Como recuperar {adormecida} | Convite para falar com o time |
Como Campanha e Etapa com agendamento Celery, editável sem deploy. Cancele quando o lead compra ou entra na fila A ou B.
Critérios de aceite
- Passe o checklist do manual pergunta por pergunta, e me mostre cada resposta
- PDF das 3 lojas de teste conferido: nada cortado, nada na borda, KPIs tabulares, sem sombra fora de modal
- E-mail testado em Gmail e Outlook
- Nutrição cancelada ao comprar
- Teste automatizado de palavras proibidas em todos os templates. Escreva esse teste de verdade