F3 — Broadcast consentido por município + micro-consultas #60

Open
opened 2026-07-27 13:24:31 -03:00 by navigator · 1 comment
Owner

O diretório/candidato compõe mensagem ou enquete (1–3 perguntas) escopada aos municípios
do seu diretório; a plataforma envia só a quem consentiu (F2); respostas agregam;
promoção a Consulta pública (liga no consultations + loop de consequência).

  • Rate-limit + teto de frequência por destinatário; opt-out 1 clique; auditado
  • Reusa mailer send_html + padrão de lote do invite_campaign + consultations
  • Carro-chefe: "o que o município X sente que precisa?" -> lista priorizada
  • Nunca expõe lista crua; envio mediado pela plataforma
O diretório/candidato compõe mensagem ou enquete (1–3 perguntas) escopada aos municípios do seu diretório; a plataforma envia **só a quem consentiu** (F2); respostas agregam; **promoção a Consulta pública** (liga no `consultations` + loop de consequência). - [ ] Rate-limit + teto de frequência por destinatário; opt-out 1 clique; auditado - [ ] Reusa mailer `send_html` + padrão de lote do `invite_campaign` + `consultations` - [ ] Carro-chefe: "o que o município X sente que precisa?" -> lista priorizada - [ ] Nunca expõe lista crua; envio mediado pela plataforma
Author
Owner

Fatia 1 (broadcast consentido) entregue e no ar — imagem 0.69.0-campaign-broadcast, commit ed754a1.

  • migration 0655 campaign_broadcast (auditoria + cooldown 24h/diretorio)
  • POST /admin/parties/{sigla}/directories/{id}/broadcast (EN): gating (platform OU party_administrator nacional/diretorio), resolucao de alcance cruzando consent 0654 x domicilio 0652 (match municipio case-insensitive), envio via INTERCOMS/SmtpProvider em background, opt-out no rodape, lista nunca exposta, so diretorios municipais
  • UI: form de comunicado no AdminPartiesPanel
  • Verificado: rota 401 sem auth; resolucao de alcance validada contra dados reais do prod (rollback) — domicilio RJ + consent alcanca o cidadao certo

Fatias restantes do #60:

  • Micro-consulta estruturada (1-3 perguntas concordo/neutro/discordo) + agregacao de respostas
  • Promocao a Consulta publica (reusa consultations + loop de consequencia)
  • Opt-out tokenizado 1-clique (hoje link p/ /configuracoes#campanha)
  • Escopo federal/estadual (hoje so municipal)
  • Normalizar municipio do diretorio p/ IBGE (hoje texto livre; match case-insensitive)
Fatia 1 (broadcast consentido) entregue e no ar — imagem 0.69.0-campaign-broadcast, commit ed754a1. - migration 0655 campaign_broadcast (auditoria + cooldown 24h/diretorio) - POST /admin/parties/{sigla}/directories/{id}/broadcast (EN): gating (platform OU party_administrator nacional/diretorio), resolucao de alcance cruzando consent 0654 x domicilio 0652 (match municipio case-insensitive), envio via INTERCOMS/SmtpProvider em background, opt-out no rodape, lista nunca exposta, so diretorios municipais - UI: form de comunicado no AdminPartiesPanel - Verificado: rota 401 sem auth; resolucao de alcance validada contra dados reais do prod (rollback) — domicilio RJ + consent alcanca o cidadao certo Fatias restantes do #60: - [ ] Micro-consulta estruturada (1-3 perguntas concordo/neutro/discordo) + agregacao de respostas - [ ] Promocao a Consulta publica (reusa consultations + loop de consequencia) - [ ] Opt-out tokenizado 1-clique (hoje link p/ /configuracoes#campanha) - [ ] Escopo federal/estadual (hoje so municipal) - [ ] Normalizar municipio do diretorio p/ IBGE (hoje texto livre; match case-insensitive)
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
brasil/democracia-social#60
No description provided.