## Visão geral

Os contratos enviam duas mensagens ao cliente: o **pedido de assinatura** e a **confirmação de
assinado**. Aqui você personaliza o **corpo** de cada uma **por idioma**, sem depender de IA. O que não
personalizar continua usando a mensagem embutida da Conversa Labs.

Além do corpo, você edita os **rótulos auxiliares** da mensagem e configura, **para cada tipo de mensagem
e cada idioma**, o **modelo aprovado do WhatsApp** usado quando a janela de 24h está fechada.

## Pré-requisitos

- Contratos habilitado na conta e permissão de administrador.
- Para configurar o envio fora da janela: uma caixa de entrada de **WhatsApp Cloud** com modelos
  aprovados na Meta.

## Passo a passo

1. Abra **Contratos → Configurações → Mensagens**.
2. Escolha o **idioma** no seletor do topo. Ele abre no **idioma da conta** e lista **todos os idiomas
   habilitados na instalação** (até 40), mostrando quantos já têm texto seu ("N de M idiomas com
   conteúdo").
3. Escreva o corpo do **pedido de assinatura** e da **confirmação** em **Markdown**. Vazio = mensagem
   padrão do idioma (selo **Padrão**).
4. Use as **variáveis** (`{x}`) para inserir dados do contato, da conta e do próprio contrato. O seletor
   oferece **apenas as variáveis que realmente resolvem** naquela mensagem.
5. Abra o bloco **Rótulos auxiliares** para ajustar os **3** rótulos (legendas e texto do botão).
6. O bloco **Fora da janela de 24h (WhatsApp Cloud)** aparece **aberto, logo abaixo de cada tipo de
   mensagem**. Escolha o modelo aprovado **daquele tipo naquele idioma**, mapeie os parâmetros `{{1}}`,
   `{{2}}`… e preencha o botão de link, se houver. Se ainda não houver um modelo, use **Criar a partir do
   meu texto** para gerá-lo a partir do corpo que você escreveu.
7. Confira a **prévia** por canal, use **Enviar teste** se quiser validar numa conversa real e clique em
   **Salvar mensagens** — inclusive depois de criar um modelo, porque **criar o modelo não grava a
   configuração**. **Restaurar padrão** remove a personalização **no servidor**, não só na tela.

## Configurações & opções

### Idiomas e fallback

O idioma é um **seletor** com todos os idiomas habilitados na instalação. No envio, a Conversa Labs procura o
texto nesta ordem: idioma do **contato** → mesmo idioma-base (`pt_BR` ↔ `pt`) → **idioma da conta** →
mensagem **padrão embutida**.

### Rótulos auxiliares

São **3** rótulos (legendas e o texto do botão), num bloco recolhível abaixo do corpo. Seguem as mesmas
regras de idioma e de restauração.

### Fora da janela de 24h (WhatsApp Cloud)

O bloco aparece **aberto e embutido logo abaixo de cada tipo de mensagem** — não é uma seção que você
precisa expandir. O modelo é **por tipo de mensagem e por idioma** — pedido e confirmação têm o seu, em
vez de um único modelo para o módulo inteiro. Nele você tem:

- **Escolher o modelo aprovado** entre os do catálogo.
- **Sincronizar da Meta** e **Criar a partir do meu texto** ficam **sempre visíveis**. Quando a ação não
  está disponível, o botão aparece **desabilitado com o motivo escrito ao lado**: a caixa não é WhatsApp
  Cloud, a conta não tem o **WhatsApp Inbox Suite**, ou o seu perfil não gerencia caixas de entrada.
- **Sincronizar da Meta** atualiza a lista de modelos aprovados.
- **Criar a partir do meu texto** gera o modelo **a partir do texto daquele tipo naquele idioma**,
  enviando-o à Meta como modelo **UTILITY**, convertendo cada `{{ variável }}` em `{{1}}`, `{{2}}`… e já
  deixando o mapeamento pronto. Sem texto para gerar, o botão fica desabilitado e a tela pede para
  **escrever o texto primeiro**.
- Depois do envio, o modelo **ainda não está aprovado**: ele aparece no seletor marcado como
  **aguardando aprovação** e só passa a entregar quando a Meta aprovar e você sincronizar. Enviar de novo
  com o **mesmo nome substitui o rascunho pendente**, em vez de falhar.
- **Criar o modelo não salva a configuração** — clique em **Salvar mensagens** para gravar o mapeamento.
- **Mapeamento dos parâmetros `{{n}}`** e o campo do **botão de link** — ideal para levar o cliente
  direto ao link de assinatura.
- **Entrega**: escolhe de **qual caixa do WhatsApp** o catálogo de modelos aprovados é consultado. O
  envio continua saindo pela caixa da própria conversa. Tudo que depende dessa caixa — por que
  sincronizar/criar está indisponível, quantos modelos ficaram de fora, o link para gerenciá-los e o
  botão **Sincronizar da Meta** — aparece **uma vez** ali, e não repetido embaixo de cada mensagem.
- **Botão nativo "Assinar"**: o pedido de assinatura sai com um **botão de verdade** no WhatsApp
  (Cloud e Web). Antes o link ia como uma **segunda linha de texto solta** — o botão que a tela
  prometia nunca chegou ao cliente. Você desliga em **Entrega → Botões nativos**; o texto do botão e a
  linha acima dele continuam editáveis em **Rótulos auxiliares**, por idioma.

Modelos cujo **cabeçalho exige mídia ou uma variável** não entram nesta lista — este envio não tem como
preencher esse cabeçalho — e a tela informa **quantos ficaram de fora**. Eles continuam utilizáveis pela
aba **Modelos** da própria caixa de entrada, com link direto a partir desta tela.

Observações: **WhatsApp Web (WazMeow) não tem janela de 24h** (o bloco nem aparece); **360dialog** pode
selecionar um modelo, mas não criar; a Meta casa **nome + idioma + aprovado**, então um modelo no idioma
errado é sinalizado na tela e seria recusado no envio.

### Prévia e envio de teste

A prévia é **renderizada no servidor**, por canal, e mostra só os canais que a conta realmente tem.
Também exibe o **modelo resolvido para fora da janela**, com os valores que cada parâmetro vai carregar.
O **Enviar teste** manda a mensagem para uma conversa escolhida respeitando a janela de 24h: com a janela
fechada e sem modelo configurado, o teste é **pulado com o motivo escrito na tela**.

### Variáveis de contrato

Além de **contato**, **conta**, **conversa**, **caixa de entrada**, **agente**, **CRM** e **organização**
— que agora renderizam de verdade —, estas mensagens oferecem os dados do contrato:

| Variável | Substituída por |
|---|---|
| `{{ contract.title }}` | Título do contrato |
| `{{ contract.status }}` | Situação atual |
| `{{ contract.signature_tier }}` | Nível de assinatura exigido |
| `{{ contract.expires_at }}` | Prazo para assinar |
| `{{ contract.counterparty }}` | Contraparte |
| `{{ contract.sign_url }}` | Link para assinar |
| `{{ contract.verification_url }}` | Link de verificação do documento |

### Relação com as configurações do módulo

Estas mensagens são distintas das **configurações do módulo** (assinatura padrão, retenção, certificado
A1) — aqui você mexe só no texto ao cliente.

## Dicas, limites e boas práticas

- Markdown por canal: anexos somem em LINE/TikTok/X; HTML some no e-mail/widget; `*negrito*` no WhatsApp
  vira um par de asteriscos.
- Configure o modelo fora da janela **no mesmo idioma** do corpo — são pares, não uma configuração única.
- No pedido de assinatura, inclua sempre `{{ contract.sign_url }}` (ou use-o no botão de link do modelo)
  e o prazo em `{{ contract.expires_at }}`.
- Depois de "Criar a partir do meu texto", o modelo fica **aguardando aprovação** na Meta — use
  **Sincronizar da Meta** para ver quando ele for aprovado e passar a entregar.

## Solução de problemas

- **Saiu no padrão:** o tipo estava vazio (selo **Padrão**) naquele idioma, ou o idioma do contato não tem
  texto e o fallback chegou ao padrão embutido.
- **Fora da janela não enviou:** confirme o **modelo aprovado** daquele tipo **naquele idioma**.
- **O modelo aparece sinalizado:** está num idioma diferente do da mensagem — troque por um aprovado no
  idioma certo.
- **"Criar a partir do meu texto" está desabilitado:** o motivo aparece escrito ao lado do botão — a
  caixa não é WhatsApp Cloud (em 360dialog você escolhe um modelo já aprovado), a conta não tem o
  WhatsApp Inbox Suite, seu perfil não gerencia caixas de entrada, ou não há texto naquele tipo e idioma
  para gerar o modelo.
- **Criei o modelo, mas ele não aparece / não é usado:** logo após o envio ele fica **aguardando
  aprovação** — só entrega depois que a Meta aprovar e você usar **Sincronizar da Meta**. E confirme que
  clicou em **Salvar mensagens**: criar o modelo não grava a configuração.
- **Não encontro um modelo na lista:** modelos com **cabeçalho de mídia ou com variável no cabeçalho**
  não são listados aqui; use-os pela aba **Modelos** da própria caixa de entrada.
- **O envio de teste foi pulado:** a conversa estava fora da janela de 24h e a mensagem não tinha modelo
  configurado — a tela informa o motivo.

## Veja também

- Configurações do módulo de Contratos
- [WhatsApp Inbox Suite: Templates, Flows e Chamadas](/hc/ajuda/articles/inboxes-channels-whatsapp-inbox-suite-pt-br)