> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1to1ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mensagens

> As quatro formas de enviar uma mensagem e qual se aplica conforme a janela de 24h.

A API oferece quatro formas de enviar uma mensagem de WhatsApp em nome do seu
negócio. Qual delas você pode usar depende do estado da
[janela de 24h](/pt/conversations) da conversa.

## Qual modo se aplica conforme a janela

| Modo         | Janela aberta | Janela fechada      |
| ------------ | ------------- | ------------------- |
| Texto        | ✅             | ❌ `WINDOW_CLOSED`   |
| Mídia        | ✅             | ❌ `WINDOW_CLOSED`   |
| Quick reply  | ✅             | ❌ `WINDOW_CLOSED`   |
| **Template** | ✅             | ✅ — reabre a janela |

<Tip>
  O **template** é a única mensagem que você pode enviar com a janela fechada.
  Além disso, enviá-lo reabre a janela, habilitando texto, mídia e quick reply
  novamente.
</Tip>

## As quatro formas de enviar

<Tabs>
  <Tab title="Texto">
    Texto livre, até 4096 caracteres, via `POST /conversation/messages/text`.

    ```bash theme={null}
    curl -X POST "https://app.1to1.ai/api/v1/public/{slug}/conversation/messages/text" \
      -H "Authorization: Bearer sk_1to1_sua_api_key" \
      -H "Content-Type: application/json" \
      -d '{
        "conversation": { "phone": "+5215512345678" },
        "body": "Olá 👋, como posso ajudar?"
      }'
    ```

    Aceita um `reply_to_uuid` opcional para citar uma mensagem anterior. Responde
    `201` com `message_uuid` e `wamid`.
  </Tab>

  <Tab title="Mídia">
    Imagem, vídeo, áudio ou documento — mesmo endpoint que texto
    (`POST /conversation/messages/text`), passando um `file_uuid` em vez de —ou
    junto a— `body` como legenda.

    ```bash theme={null}
    curl -X POST "https://app.1to1.ai/api/v1/public/{slug}/conversation/messages/text" \
      -H "Authorization: Bearer sk_1to1_sua_api_key" \
      -H "Content-Type: application/json" \
      -d '{
        "conversation": { "phone": "+5215512345678" },
        "file_uuid": "7b8a...",
        "body": "Aqui está o seu comprovante 📄"
      }'
    ```

    <Note>
      O `file_uuid` deve ser de um arquivo já enviado e confirmado, do mesmo
      negócio. O tipo de mensagem (imagem, vídeo, áudio, documento) é deduzido
      automaticamente do arquivo. Veja o fluxo de `/files` na Referência da
      API.
    </Note>

    <Warning>
      `body` (legenda) não é compatível com arquivos de áudio. O WhatsApp não
      suporta legendas em áudio — combiná-los retorna `INVALID_REQUEST` (400).
    </Warning>
  </Tab>

  <Tab title="Quick reply">
    Uma resposta pré-configurada no dashboard, via
    `POST /conversation/messages/quick-reply`. Identificada por **um** de
    `quick_reply_uuid` ou `quick_reply.name` (XOR estrito — enviar ambos
    retorna `400 INVALID_REQUEST`).

    ```bash theme={null}
    curl -X POST "https://app.1to1.ai/api/v1/public/{slug}/conversation/messages/quick-reply" \
      -H "Authorization: Bearer sk_1to1_sua_api_key" \
      -H "Content-Type: application/json" \
      -d '{
        "conversation": { "phone": "+5215512345678" },
        "quick_reply": { "name": "Boas-vindas" }
      }'
    ```

    Uma quick reply pode emitir **várias mensagens**, por isso a resposta é um
    array `messages` com um `message_uuid`, `wamid` e `subtype` para cada uma.
  </Tab>

  <Tab title="Template">
    Um template aprovado pelo Meta, via `POST /conversation/messages/template`.
    É o único modo que funciona com a janela fechada — veja
    [Templates](/pt/templates) para o detalhe.

    ```bash theme={null}
    curl -X POST "https://app.1to1.ai/api/v1/public/{slug}/conversation/messages/template" \
      -H "Authorization: Bearer sk_1to1_sua_api_key" \
      -H "Content-Type: application/json" \
      -d '{
        "conversation": { "phone": "+5215512345678" },
        "template_name": "confirmacao_consulta",
        "body_variables": [
          { "index": 1, "value": "Ana" }
        ]
      }'
    ```

    Responde `201` com `message_uuid` e `wamid`.
  </Tab>
</Tabs>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Templates" icon="file-lines" href="/pt/templates">
    Criar e enviar templates para reabrir a janela.
  </Card>

  <Card title="Conversas" icon="comments" href="/pt/conversations">
    Identificadores e a janela de 24h em detalhe.
  </Card>
</CardGroup>
