# Modelos de Autenticação (OTP): Regras, Criação e Envio

Os modelos de mensagem da categoria **Autenticação** (também conhecidos como OTP - *One Time Password*) são utilizados exclusivamente para enviar códigos de verificação, senhas temporárias ou tokens de login para os usuários do WhatsApp.

Devido à natureza sensível e de segurança desse tipo de mensagem, a Meta e a nossa plataforma possuem regras de funcionamento diferentes dos modelos de Marketing e Utilidade.

#### ⚠️ Regras Fundamentais (Leia Antes de Começar)

Para garantir a segurança e o funcionamento correto dos códigos de verificação, existem duas restrições técnicas importantes na nossa plataforma:

1. **Criação Exclusiva na Plataforma:** Diferente de outros modelos, os templates de Autenticação **DEVEM ser criados diretamente no nosso sistema**.
   * *Não é possível* criar o modelo no painel da Meta (Facebook) e depois sincronizá-lo/importá-lo para cá. O vínculo técnico precisa nascer na plataforma.
2. **Disparo Exclusivo via API:** Modelos de autenticação **não aparecem** para os atendentes na tela de atendimento e **não podem** ser usados em campanhas de marketing ou sequências.
   * Eles foram desenhados para serem disparados automaticamente pelo seu sistema (site/app) através da nossa API de Integração.

#### 1. Diretrizes da Meta para Autenticação

A Meta impõe um formato rígido para esses modelos. Você não tem liberdade criativa para escrever textos longos. O modelo segue um padrão fixo para garantir que o usuário reconheça imediatamente que se trata de um código de segurança.

**Estrutura Padrão:**

* **Texto fixo:** *"Seu código de verificação é {{codigo}}"* (ou variações muito similares).
* **Botão Obrigatório:** Um botão de "Copiar código" (ou "Toque para preencher") é inserido automaticamente.
* **Rodapé de Segurança (Opcional):** Você pode optar por exibir um aviso de segurança (*"Não compartilhe este código"*).
* **Validade:** O código também pode ter um tempo de expiração visível.

{% hint style="warning" %}
**Nota:** Imagens, vídeos e cabeçalhos personalizados não são permitidos nesta categoria.
{% endhint %}

#### 2. Como Criar um Modelo de Autenticação

Siga o passo a passo abaixo para cadastrar seu modelo corretamente:

1. Acesse o menu **Ajustes > Modelos de Mensagem**.
2. Clique no botão **+ Novo** no canto superior direito.
3. No modal de seleção de tipo, escolha a opção **Autenticação** (ícone de chave)

<figure><img src="/files/G26RI91D4skaTCoj3AA2" alt=""><figcaption></figcaption></figure>

4. Preencha os dados básicos:

* **Nome:** Identificador interno (sem espaços ou caracteres especiais).
* **Canal:** Selecione o canal oficial que enviará os códigos.

5. **Configuração de Segurança**:

* O corpo da mensagem já virá pré-preenchido conforme o padrão da Meta.
* **Adicionar recomendação de segurança:** Marque esta caixa se desejar incluir o aviso "Por segurança, não compartilhe este código".

6. Clique em **Salvar**.

O modelo será enviado para análise da Meta. Assim que o status mudar para **ATIVO**, ele estará pronto para uso via API.

<figure><img src="/files/6fMM2kl0rh8LhqpdRb0u" alt=""><figcaption></figcaption></figure>

#### 3. Como Disparar via API (Integração)

Uma vez aprovado, o disparo deve ser feito integrando o seu sistema ao nosso endpoint dedicado de OTP: **Modelos de Mensagem > Enviar OTP**

**Endpoint de Envio:** `POST https://api.xxx.run/chat/v1/template/otp/send`

**Parâmetros Principais:**

* `from`: Número do canal remetente.
* `to`: Telefone do destinatário.
* `templateId`: O ID do modelo de autenticação criado.
* `code` *(Opcional)*: O código numérico ou alfanumérico que será enviado.
  * ***Dica:*** Se você não enviar este campo, nossa plataforma pode gerar um código aleatório de 5 dígitos automaticamente para você.

<figure><img src="/files/5LGwD4bazjSdFTd7E8Tg" alt=""><figcaption></figcaption></figure>

**Exemplo de Requisição (cURL):**

```
curl --request POST \
  --url [https://api.XX.run/chat/v1/template/otp/send](https://api.xx.run/chat/v1/template/otp/send) \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
    "to": "5511999999999",
    "templateId": "auth_login_01",
    "code": "85294"
  }'
```

**Consultando o Status e Validação**

Após o envio, você pode consultar se a mensagem foi entregue ou verificar o status do código através do endpoint de consulta: **Modelos de Mensagem > Consultar OTP.**

**Endpoint de Envio:** `GET https://api.XXX.run/chat/v1/template/otp/{messageId}/status`

<figure><img src="/files/ZwJJC2ZGf385xbADgrEg" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flw.chat/guide/faq/modelos-de-autenticacao-otp-regras-criacao-e-envio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
