---
title: "Templates do WhatsApp: como criar, aprovar e disparar pela API (e por que a janela de 24h manda em tudo)"
description: "Fora da janela de 24 horas, só template aprovado sai. Como criar e submeter um template pela API, escolher a categoria certa e evitar as recusas mais comuns."
url: "https://wame.api.br/blog/templates-whatsapp-api-criar-aprovar-enviar"
language: "pt-BR"
og:type: "article"
published_time: "2026-09-10"
modified_time: "2026-09-10"
author: "Raphael Serafim"
keywords: "template whatsapp api, hsm whatsapp, modelo de mensagem whatsapp, janela 24 horas whatsapp, template whatsapp aprovação, disparo template whatsapp, categoria template whatsapp"
reading_time: "10 min de leitura"
---

# Templates do WhatsApp: como criar, aprovar e disparar pela API (e por que a janela de 24h manda em tudo)

> Fora da janela de 24 horas, só template aprovado sai. Como criar e submeter um template pela API, escolher a categoria certa e evitar as recusas mais comuns.

**Fora da janela de 24 horas, texto comum não sai.** É a regra que mais confunde quem está integrando a API oficial pela primeira vez: o código está certo, o número existe, e a mensagem simplesmente não chega.

## A janela de 24 horas

Quando alguém te manda mensagem, abre-se uma janela de 24 horas. Dentro dela, você responde livremente — texto, imagem, botão, o que for.

Passadas 24 horas sem que a pessoa escreva de novo, a janela fecha. A partir daí, só um **template aprovado** consegue iniciar a conversa. E, se a pessoa responder ao template, a janela abre de novo.

Duas consequências práticas:

- **Atendimento** raramente precisa de template: o cliente escreveu, você responde.
- **Notificação** quase sempre precisa: [confirmação de pedido e aviso de entrega](/blog/notificacoes-pedido-whatsapp-api) ou [lembrete de agendamento](/blog/lembretes-agendamento-confirmacao-whatsapp) — tudo isso parte de você, com a janela fechada.

Na [API não oficial](/blog/api-nao-oficial-whatsapp) essa regra não existe, porque ela não passa pela infraestrutura da Meta. Em compensação, o limite ali é o comportamento do número — assunto do artigo sobre [não perder o número](/blog/whatsapp-api-sem-bloqueio-nao-perder-numero).

## Escolher a categoria certa

Esta é a decisão que mais reprova template, e ela vem antes do texto:

| Categoria | Para quê | Observação |
|---|---|---|
| **Utilidade** | Acompanha algo que o cliente já iniciou: pedido, agendamento, fatura, entrega | Mais barata e mais fácil de aprovar |
| **Autenticação** | Códigos de verificação e login | Formato restrito, sem espaço para marketing |
| **Marketing** | Promoção, novidade, reengajamento, carrinho abandonado | Mais cara e a mais rejeitada |

**A regra que resolve 90% das recusas:** se a mensagem existe porque o cliente fez algo, é utilidade. Se existe porque *você* quer que ele faça algo, é marketing.

Tentar passar promoção como utilidade não funciona e queima tempo — a Meta reclassifica ou recusa. E reclassificação vale a cobrança da categoria nova, não da que você escolheu.

## Criar o template

```bash
curl -X POST "https://server.wame.api.br/SUA_KEY/template" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "pedido_enviado",
    "language": "pt_BR",
    "category": "UTILITY",
    "components": [
      {
        "type": "BODY",
        "text": "Oi {{1}}! Seu pedido {{2}} saiu para entrega e chega até {{3}}.",
        "example": { "body_text": [["Ana", "#1042", "sexta-feira"]] }
      },
      {
        "type": "BUTTONS",
        "buttons": [
          { "type": "URL", "text": "Acompanhar", "url": "https://loja.com/p/{{1}}", 
            "example": ["1042"] }
        ]
      }
    ]
  }'
```

Regras que economizam uma rodada de recusa:

**O `name` é técnico.** Minúsculas, números e sublinhado. É por ele que você dispara depois.

**O `example` não é opcional.** A Meta avalia o texto **com as variáveis preenchidas**. Exemplo ruim reprova template bom: `{{1}}` exemplificado como `"xxx"` faz o revisor ler uma frase sem sentido.

**Variável não começa nem termina frase.** `"{{1}}, confirme aqui"` costuma ser recusado. `"Oi {{1}}, confirme aqui"` passa. A razão é que a Meta não consegue avaliar o texto se ele começa com um conteúdo desconhecido.

**Nada de promessa financeira.** "Ganhe R$ 500", "renda garantida" e parentes são recusa quase certa, em qualquer categoria.

**Português correto.** Erro de digitação reprova. O revisor lê.

Pelo [MCP](/blog/mcp-agente-ia-whatsapp), a mesma criação sai por conversa — `create_template` é uma das ferramentas expostas, útil quando você está iterando no texto e não quer montar o JSON a cada tentativa.

## Pelo painel, sem curl

Quem prefere não montar o JSON na mão faz a mesma coisa pelo painel da WAME: categoria, idioma, nome, cabeçalho, corpo, rodapé e botões em formulário, com o mesmo resultado — envio para análise da Meta.

<YouTubeEmbed id="Y3Sq2nXjrqs" title="Como criar template de mensagem do WhatsApp Oficial no painel Wame" />

## Acompanhar a aprovação

```bash
curl "https://server.wame.api.br/SUA_KEY/templates"
```

Estados possíveis: `PENDING`, `APPROVED`, `REJECTED`, `PAUSED`, `DISABLED`.

`PAUSED` merece atenção: acontece quando um template aprovado passa a receber muito bloqueio ou denúncia dos destinatários. A Meta pausa sozinha. Ou seja, aprovação não é permanente — ela depende de como as pessoas reagem ao que você manda.

## Disparar

```bash
curl -X POST "https://server.wame.api.br/SUA_KEY/message/template" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5566996852025",
    "name": "pedido_enviado",
    "language": "pt_BR",
    "components": [{
      "type": "body",
      "parameters": [
        { "type": "text", "text": "Ana" },
        { "type": "text", "text": "#1042" },
        { "type": "text", "text": "sexta-feira" }
      ]
    }]
  }'
```

A ordem dos `parameters` é a ordem de `{{1}}`, `{{2}}`, `{{3}}`. Trocar duas posições não dá erro — só manda a mensagem errada, o que é pior.

## Disparar para uma lista

Aqui começa o território do envio em massa, e há três coisas que precisam existir antes:

**1. Opt-in real.** Template aprovado não é permissão para mandar a quem não pediu. Bloqueio e denúncia derrubam a qualidade do número e pausam o template. Ver [opt-in, higienização e opt-out](/blog/lista-contatos-optin-optout-whatsapp).

**2. Ritmo e fila.** Disparar 5.000 mensagens num laço `for` é a forma mais rápida de tomar rate limit e perder metade sem saber quais. Ver [fila, rate limit e retry](/blog/fila-rate-limit-retry-disparo-whatsapp).

**3. Medição.** Enviado não é entregue, e entregue não é lido. Ver [métricas de campanha](/blog/metricas-campanha-whatsapp-api).

Um envio para lista, no mínimo aceitável:

```js
for (const contato of lista) {
  await fila.add('template', {
    to: contato.numero,
    name: 'pedido_enviado',
    params: [contato.nome, contato.pedido, contato.prazo],
  }, {
    jobId: `pedido_enviado:${contato.pedido}`,   // idempotência
  });
}
```

Note que nada é enviado aqui — tudo é enfileirado. Quem envia é o worker, no ritmo que ele controla.

## O custo

Na API oficial, a Meta cobra **por conversa iniciada**, e o preço muda por categoria. Marketing custa mais que utilidade; autenticação tem tabela própria. Uma janela aberta comporta várias mensagens sem cobrança nova.

Consequência que quase ninguém aproveita: se o cliente responde ao template, a janela abre, e todo o atendimento seguinte não gera cobrança nova. Template com botão de resposta rápida costuma sair mais barato no total do que uma sequência de templates. Os valores da tabela estão em [quanto custa a API oficial](/blog/quanto-custa-api-whatsapp-precos-meta).

## Conclusão

Template não é burocracia gratuita — é o mecanismo que mantém o WhatsApp utilizável e o seu número saudável. Quem trata a categoria com honestidade, capricha no exemplo e mede o resultado tem template aprovado rápido e mantido aprovado.

Quem tenta passar marketing como utilidade descobre a regra do jeito caro: template pausado, qualidade do número derrubada e campanha parada no meio.

## Perguntas frequentes

### O que é a janela de 24 horas do WhatsApp?

É o período em que você pode conversar livremente com alguém depois que essa pessoa te enviou uma mensagem. Dentro da janela, texto normal funciona. Passadas 24 horas sem nova mensagem dela, só um template previamente aprovado pela Meta consegue iniciar o contato.

### Qual a diferença entre template de marketing, utilidade e autenticação?

Utilidade acompanha uma transação que o cliente já iniciou: confirmação de pedido, aviso de entrega, fatura. Autenticação entrega códigos de verificação. Marketing é promoção, novidade e reengajamento. A categoria muda o preço cobrado pela Meta e o rigor da aprovação — marketing é a mais cara e a mais rejeitada.

### Quanto tempo leva para aprovar um template?

Normalmente de alguns minutos a algumas horas. A recusa costuma ser mais rápida que a aprovação. Se o template ficar muito tempo pendente, quase sempre há algo na categoria ou no conteúdo pedindo revisão manual.

### Por que meu template foi rejeitado?

As causas mais comuns são: conteúdo de marketing submetido como utilidade, variável no começo ou no fim do texto sem contexto, texto que promete ganho financeiro, erro de português e placeholder de exemplo faltando. A Meta avalia o texto com as variáveis preenchidas pelo exemplo que você enviou — exemplo ruim reprova template bom.

### Preciso de template na API não oficial?

Não. A exigência de template e a janela de 24 horas são regras da API oficial da Meta. Na API não oficial, via QR Code, não há esse controle — o que traz outra responsabilidade, porque o limite passa a ser o comportamento do número e o risco de bloqueio.
