Documentação / Funcionalidades do usuário (visão produto)

Funcionalidades do usuário (visão produto)

Entrar

Funcionalidades do usuário (visão produto)

Este documento lista funcionalidades e “lacunas comuns” para a experiência do usuário no Pilot Status, sem expor detalhes internos de infraestrutura (provedores, filas, workers, etc).

O que você já tem (base do produto)

  • Multi-projetos: um usuário pode ter vários projetos; tudo opera no escopo do projeto.
  • Números: usuário pode usar o próprio número ou o número da plataforma para enviar mensagens.
  • Opt-in/anti-spam: destinatário precisa autorizar enviando uma mensagem de autorização para o número que vai disparar.
  • Templates: criação de templates com variáveis; envio de mensagem a partir do template.
  • Webhooks: usuário configura webhook para receber resposta (reply) mesmo usando o número da plataforma.
  • Logs: status de fila, enviado, lido e falha.
  • Ambientes: TEST e PRODUÇÃO (produção requer aprovação de admin).

Sugestões de funcionalidades (do ponto de vista do usuário)

Conta e projeto

  • Convites e time: membros por projeto (ex.: Admin, Developer, Finance).
  • Permissões por área: separar “pode enviar”, “pode ver logs”, “pode gerenciar chaves”, “pode faturamento”.
  • Ambiente por projeto: permitir isolar TEST/LIVE por projeto e deixar explícito no UI.
  • Auditoria: histórico de ações (criou API key, alterou webhook, aprovou template, etc).

Números e autorização (opt-in)

  • Lista de consentimentos: ver quem autorizou, quando, por qual número/ambiente e status (ativo/revogado).
  • Revogação/opt-out: bloquear envios para contatos que pediram para parar (palavras-chave e/ou lista manual).
  • Expiração de consentimento: opcional (ex.: renovar opt-in após X dias sem interação).
  • Mensagem padrão de opt-in: permitir editar o texto e idioma, com placeholders e links.
  • Fluxo de “testar opt-in”: ferramenta no painel para simular/validar a autorização de um número.

Contatos e segmentação

  • Agenda de contatos por projeto: salvar contatos e metadados (nome, tags, campos customizados).
  • Listas/segmentos: agrupar contatos por tags/regras para uso em campanhas e fluxos recorrentes.
  • Bloqueios: blacklist por número, domínio, país/DDD, horários, etc.

Templates (governança e qualidade)

  • Validação do template: checar JSON/variáveis obrigatórias antes de salvar e antes de enviar.
  • Pré-visualização real: render do template com variáveis de exemplo e “mensagem final” que será enviada.
  • Versionamento com rollback: permitir voltar para uma versão aprovada anterior.
  • Aprovação por ambiente: permitir aprovar em TEST e promover para LIVE.
  • Biblioteca e organização: categorias, tags, busca, clonagem, duplicar versão.

Envio e API (ergonomia e confiabilidade)

  • Idempotência: permitir um “idempotency key” para evitar envios duplicados por retry do cliente.
  • Correlação ponta-a-ponta: permitir “correlationId” do cliente e exibir em logs/webhooks.
  • Regras de rate-limit visíveis: mostrar limites do plano e consumo (diário/mensal) por projeto/ambiente.
  • Modo “dry-run” em TEST: validar template+variáveis sem efetivar envio.
  • Reenvio controlado: permitir reprocessar mensagens falhas (com botão no log e limites de segurança).

Logs (investigação e operação)

  • Busca avançada: por correlationId, messageId, número, template, janela de tempo, status, ambiente e projeto.
  • Drill-down por mensagem: timeline (criada → na fila → enviada → lida/falha) com campos relevantes.
  • Exportação: CSV e/ou webhook de auditoria para integração com BI.
  • Retenção e privacidade: configurar retenção de logs (ex.: 30/90/180 dias) e mascarar conteúdo sensível.

Webhooks (confiabilidade e segurança)

  • Assinatura: assinatura HMAC por ambiente, com secret rotacionável.
  • Retry com backoff: retries automáticos em falha (5xx/timeout) com limite e “dead-letter” para inspeção.
  • Logs de entrega de webhook: status, tempo, payload, tentativas, última falha e replay manual.
  • Eventos adicionais: webhook de “read”, “delivered”, “queued/accepted”, “template.approved/rejected”, “quota.exceeded”.
  • Teste de webhook: botão “enviar evento de teste” no painel para validar integração.

UX de ambiente TEST x PRODUÇÃO

  • Guardrails: banners e cores diferentes para evitar confusão entre TEST e LIVE.
  • Checklist de produção: itens que o usuário precisa concluir (opt-in OK, webhook OK, template aprovado, etc).
  • Sandbox com limites claros: erros com mensagens acionáveis quando atingir limite diário/mensal.

Segurança e compliance

  • Rotação e escopo de API keys: expiração opcional, permissões por chave, última utilização e IP allowlist.
  • LGPD: exportar dados do projeto, deletar contato, anonimizar logs sob demanda.
  • Termos e política: mostrar regras anti-spam e responsabilização do cliente (opt-in obrigatório).

Faturamento e plano

  • Dashboard de uso: consumo por projeto/ambiente, taxa de falha, custo estimado e previsão.
  • Overages/pacotes: compra de pacotes extras e bloqueio/alerta quando atingir limites.
  • Alertas: notificar por e-mail/webhook quando estiver perto do limite mensal/diário.

Suporte e confiabilidade percebida

  • Status page: página pública com incidentes e histórico.
  • Alertas de incidentes: inscrição para receber avisos (e-mail) por projeto.
  • Guia de integração: snippets (curl/Node/Python), erros comuns, boas práticas e checklist de go-live.

Checklist rápido (MVP + próximos passos)

  • MVP essencial: consentimentos (ver/gerir), assinatura de webhook, logs detalhados por mensagem, rate-limit visível, idempotência.
  • Recomendado: retry de webhook com replay, exportação de logs, papéis por projeto, opt-out/blacklist.
  • Opcional: agenda/segmentos, status page pública, retenção configurável, overages e alertas avançados.