- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24) - apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004) - apps/web: React 19 + Vite 8 (ESM) - libs/shared/api-interface: Zod contract base - Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit - WDS artifacts: - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs) - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact) - Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md - AGENTS.md + README.md como entrada para devs/agentes Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
132 lines
6.5 KiB
Markdown
132 lines
6.5 KiB
Markdown
# Tone of Voice — SAR (Força de Vendas)
|
|
|
|
**Confirmed:** 2026-05-26
|
|
**Step:** 11 — Tone of Voice
|
|
|
|
> Tom de voz para **microcopy de UI** (botões, labels, erros, estados, notificações). Conteúdo estratégico (headlines, value propositions) será definido em Phase 1 Block B (Content & Language).
|
|
|
|
---
|
|
|
|
## 5 atributos canônicos
|
|
|
|
| # | Atributo | Por quê |
|
|
|---|---|---|
|
|
| **1** | **Direto** | Rafael precisa de info em 2 segundos no celular; Sandra decide num clique. Floreio mata fluxo. |
|
|
| **2** | **Profissional sem ser frio** | B2B BR respeita formalidade, mas burocratês mata vendas. Sério mas humano. |
|
|
| **3** | **Confiante** | SAR é ferramenta de trabalho, não conselheiro tímido. Afirmação > tentativa. |
|
|
| **4** | **Específico** | "3 clientes pararam de comprar há 60+ dias" > "Há alertas". Números/dados criam confiança imediata. |
|
|
| **5** | **Empático nos momentos difíceis** | Quando algo dá errado, explica o problema E o caminho, sem culpar o usuário. |
|
|
|
|
---
|
|
|
|
## Variações por cockpit (mesmos atributos, registros diferentes)
|
|
|
|
| Cockpit | Registro | Exemplo |
|
|
|---|---|---|
|
|
| **🟢 Rafael (Rep)** | Mais informal, frases curtas, foco em ação | "Sem sinal. Envio depois." · "Meta de junho: faltam R$ 12.400." |
|
|
| **🟡 Sandra (Supervisora)** | Direto + decisivo, contexto rápido | "3 aprovações pendentes." · "Rep João sem visita há 2 dias." |
|
|
| **🔵 Daniel (Dono)** | Executivo, focado em insight | "Faturamento em junho: +18% vs maio. Liderado por OPENFRIOS." |
|
|
| **🟣 Alice (Admin)** | Técnico-preciso, mas humano | "Pauta atualizada. 1.247 produtos afetados." |
|
|
|
|
---
|
|
|
|
## Exemplos canônicos
|
|
|
|
### Botões
|
|
|
|
| Ação | ❌ Burocrata | ✅ SAR |
|
|
|---|---|---|
|
|
| Salvar | "Confirmar Operação" | **Salvar** |
|
|
| Enviar pedido | "Submeter para Aprovação" | **Enviar pedido** |
|
|
| Cancelar | "Desistir da Operação" | **Cancelar** |
|
|
| Pedir desconto | "Solicitar Aprovação de Desconto" | **Pedir desconto** |
|
|
|
|
### Estados vazios
|
|
|
|
| Tela | ❌ Genérico | ❌ Forçado | ✅ SAR |
|
|
|---|---|---|---|
|
|
| Funil sem propostas | "Nenhum registro encontrado" | "Ops, vazio!" | "Sem propostas em andamento. Cadastre a primeira em **Nova proposta**." |
|
|
| Inativos zerado | "Nenhum cliente com restrição" | "Tudo certo!" | "Nenhum cliente inativo nos últimos 60 dias." |
|
|
| Sem pedidos hoje | "Não há registros" | "Hoje não rolou nada" | "Nenhum pedido lançado hoje. Bom dia para mudar isso." |
|
|
|
|
### Erros / problemas
|
|
|
|
| Situação | ❌ Burocrata | ✅ SAR |
|
|
|---|---|---|
|
|
| Sem sinal ao salvar | "ERRO: Falha de conexão" | "Sem sinal. Seu pedido fica salvo aqui e envia quando você se conectar." |
|
|
| Cliente bloqueado | "O sistema identificou que o cliente apresenta restrição que impede a continuidade." | "Cliente **OPENFRIOS** está bloqueado: limite de crédito estourado. Peça liberação ao supervisor ou ajuste o valor." |
|
|
| Senha errada | "Credenciais inválidas" | "Senha incorreta. Tente de novo ou **recupere sua senha**." |
|
|
| Desconto além da alçada | "Operação não permitida" | "Esse desconto precisa de aprovação do supervisor. Quer enviar agora?" |
|
|
|
|
### Confirmações e notificações
|
|
|
|
| Evento | ❌ Vago | ✅ SAR |
|
|
|---|---|---|
|
|
| Pedido aprovado | "Operação concluída com sucesso" | "Pedido #1234 aprovado pela Sandra." |
|
|
| Cliente esfriando | "Atenção necessária" | "**OPENFRIOS** não compra há 47 dias. Visite ou ligue." |
|
|
| IA insight (Daniel) | "Análise disponível" | "Você aprovou 3 descontos acima de 10% essa semana, todos para OPENFRIOS. Reavaliar tabela?" |
|
|
|
|
### Loading states
|
|
|
|
| ❌ Genérico | ✅ SAR |
|
|
|---|---|
|
|
| "Carregando..." | "Carregando catálogo (8.234 produtos)..." |
|
|
| "Aguarde" | "Sincronizando pedidos do dia..." |
|
|
| "Processing..." | "Enviando pedido..." |
|
|
|
|
---
|
|
|
|
## Do's & Don'ts
|
|
|
|
### ✅ Do's
|
|
- **Voz ativa:** "Sandra aprovou", não "Foi aprovado por Sandra"
|
|
- **pt-BR coloquial profissional:** "Salvar", "Editar", "Excluir" (não "Salve", "Edite")
|
|
- **Dados específicos** sempre que possível
|
|
- **Problema E caminho** para resolver (não só o que deu errado)
|
|
- **Nomes reais** quando aplicável (`OPENFRIOS`, `Rafael`, `Sandra`) — humaniza
|
|
|
|
### ❌ Don'ts
|
|
- ❌ Emoji em texto de produção. Brand é clean Apple-inspired.
|
|
- ❌ Caps lock para erros
|
|
- ❌ Burocratês ("operação", "registro", "sistema", "movimentação", "documento")
|
|
- ❌ "Por favor" e "obrigado" excessivos
|
|
- ❌ Trocadilhos, gírias regionais, jokes (produto é multi-empresa/multi-região)
|
|
- ❌ Anglicismos onde tem pt-BR claro (Submit → Enviar; Loading → Carregando)
|
|
- ❌ Frases dúbias ou condicionais ("Talvez", "Possivelmente", "Acreditamos que...")
|
|
|
|
---
|
|
|
|
## Vocabulário canônico (entra no Design System)
|
|
|
|
Termos consistentes no produto inteiro. **Padrão único** — nunca sinônimos.
|
|
|
|
| Termo | Escolha canônica | Não usar |
|
|
|---|---|---|
|
|
| Pessoa que compra do cliente do SAR | **Cliente** | "Comprador", "consumidor", "shopper" |
|
|
| Pessoa que vende (Rafael) | **Representante** ou **Rep** | "Vendedor", "promotor", "agente" |
|
|
| Documento de venda em negociação | **Orçamento** | "Cotação", "proposta orçamentária" |
|
|
| Documento de venda confirmado | **Pedido** | "Ordem de compra", "ordem de venda" |
|
|
| Documento de venda concluído | **Faturado** | "Finalizado", "concluído", "fechado" |
|
|
| Saída para visitar cliente | **Visita** | "Atendimento", "round" |
|
|
| Carteira ativa do rep | **Carteira** | "Base de clientes", "lista" |
|
|
| Cliente que parou de comprar | **Inativo** | "Frio", "perdido", "stand-by" |
|
|
| Painel inicial | **Painel** | "Dashboard", "tela inicial" |
|
|
| Aprovação de desconto | **Aprovação** | "Autorização", "validação", "endosso" |
|
|
|
|
---
|
|
|
|
## Implicações
|
|
|
|
1. **Vocabulário vira tokens i18n** — entrar no projeto como constantes em `libs/shared/api-interface` ou similar. Termos centralizados, não strings espalhadas.
|
|
2. **Tom de voz vai no Design System (Phase 6)** como documento de referência para todos que escrevem microcopy.
|
|
3. **PRs com microcopy** devem verificar contra este documento; eventual lint customizado pode detectar termos proibidos.
|
|
4. **Atributos guiam decisões de IA generativa** quando IA escrever texto (alertas do Daniel, sugestões da Alice). Prompt da IA inclui esses 5 atributos + vocabulário canônico.
|
|
|
|
---
|
|
|
|
## Lacunas conscientemente adiadas
|
|
|
|
- Conteúdo estratégico (headlines, value propositions do site) — Steps 13-18 (Block B Content & Language)
|
|
- Tom para emails transacionais (confirmação de pedido para cliente final) — Step 15
|
|
- Tom para WhatsApp programático (mensagem ao cliente do cliente) — Step 15 ou 29
|