---
title: "Plantillas de WhatsApp: cómo crear, aprobar y enviar por la API (y por qué la ventana de 24 h manda)"
description: "Fuera de la ventana de 24 horas solo sale una plantilla aprobada. Cómo crear y someter una plantilla por la API, elegir la categoría correcta, evitar los rechazos más comunes y enviarla a una lista."
url: "https://wame.api.br/blog/plantillas-whatsapp-api-crear-aprobar-enviar"
language: "pt-BR"
og:type: "article"
published_time: "2026-09-10"
modified_time: "2026-09-10"
author: "Raphael Serafim"
keywords: "plantilla whatsapp api, hsm whatsapp, plantillas whatsapp business, ventana 24 horas whatsapp, aprobación plantilla whatsapp, categoría plantilla whatsapp"
reading_time: "10 min de lectura"
---

# Plantillas de WhatsApp: cómo crear, aprobar y enviar por la API (y por qué la ventana de 24 h manda)

> Fuera de la ventana de 24 horas solo sale una plantilla aprobada. Cómo crear y someter una plantilla por la API, elegir la categoría correcta, evitar los rechazos más comunes y enviarla a una lista.

**Fuera de la ventana de 24 horas, el texto común no sale.** Es la regla que más confunde a quien integra la API oficial por primera vez: el código está bien, el número existe, y el mensaje simplemente no llega.

## La ventana de 24 horas

Cuando alguien te escribe, se abre una ventana de 24 horas. Dentro de ella respondes libremente: texto, imagen, botón, lo que sea.

Pasadas 24 horas sin que la persona vuelva a escribir, la ventana se cierra. A partir de ahí, solo una **plantilla aprobada** puede iniciar la conversación. Y si la persona responde a la plantilla, la ventana se abre de nuevo.

Dos consecuencias prácticas:

- **La atención** rara vez necesita plantilla: el cliente escribió, tú respondes.
- **Las notificaciones** casi siempre la necesitan, porque salen de ti con la ventana cerrada.

En la [API no oficial](/blog/api-no-oficial-whatsapp-que-es) esta regla no existe, porque no pasa por la infraestructura de Meta. A cambio, el límite ahí es el comportamiento del número.

## Elegir la categoría correcta

Esta es la decisión que más plantillas reprueba, y viene antes que el texto:

| Categoría | Para qué | Observación |
|---|---|---|
| **Utilidad** | Acompaña algo que el cliente ya inició: pedido, cita, factura, entrega | Más barata y más fácil de aprobar |
| **Autenticación** | Códigos de verificación y acceso | Formato restringido, sin espacio para marketing |
| **Marketing** | Promoción, novedad, reenganche, carrito abandonado | La más cara y la más rechazada |

**La regla que resuelve el 90% de los rechazos:** si el mensaje existe porque el cliente hizo algo, es utilidad. Si existe porque *tú* quieres que él haga algo, es marketing.

Intentar pasar una promoción como utilidad no funciona y quema tiempo — Meta la reclasifica o la rechaza. Y una reclasificación se cobra según la categoría nueva, no la que elegiste.

## Crear la plantilla

```bash
curl -X POST "https://server.wame.api.br/TU_KEY/template" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "pedido_enviado",
    "language": "es_MX",
    "category": "UTILITY",
    "components": [
      {
        "type": "BODY",
        "text": "¡Hola {{1}}! Tu pedido {{2}} salió para entrega y llega el {{3}}.",
        "example": { "body_text": [["Ana", "#1042", "viernes"]] }
      },
      {
        "type": "BUTTONS",
        "buttons": [
          { "type": "URL", "text": "Rastrear", "url": "https://tienda.com/p/{{1}}",
            "example": ["1042"] }
        ]
      }
    ]
  }'
```

Reglas que ahorran una ronda de rechazo:

**El `name` es técnico.** Minúsculas, números y guion bajo. Es por él que la envías después.

**El `example` no es opcional.** Meta evalúa el texto **con las variables rellenadas**. Un ejemplo malo reprueba una plantilla buena: `{{1}}` ejemplificado como `"xxx"` hace que el revisor lea una frase sin sentido.

**Una variable no abre ni cierra la frase.** `"{{1}}, confirma acá"` suele rechazarse. `"Hola {{1}}, confirma acá"` pasa. La razón es que Meta no puede evaluar un texto que empieza con contenido desconocido.

**Nada de promesas de ganancia.** "Gana $5.000", "renta garantizada" y parientes son rechazo casi seguro, en cualquier categoría.

**Ortografía correcta.** Un error de tipeo reprueba. El revisor lee.

**El código de idioma importa.** `es_MX`, `es_AR`, `es` — usa el que corresponda al público, porque la plantilla se selecciona por idioma al enviar.

## Seguir la aprobación

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

Estados posibles: `PENDING`, `APPROVED`, `REJECTED`, `PAUSED`, `DISABLED`.

`PAUSED` merece atención: ocurre cuando una plantilla aprobada empieza a recibir muchos bloqueos o denuncias. Meta la pausa sola. O sea: la aprobación no es permanente — depende de cómo reacciona la gente a lo que mandas.

## Enviarla

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

El orden de los `parameters` es el orden de `{{1}}`, `{{2}}`, `{{3}}`. Intercambiar dos posiciones no da error — solo manda el mensaje equivocado, que es peor.

## Enviarla a una lista

Acá empieza el territorio del envío masivo, y hay tres cosas que deben existir antes:

**1. Opt-in real.** Una plantilla aprobada no es permiso para escribirle a quien no lo pidió. Ver [opt-in, limpieza y opt-out](/blog/lista-contactos-optin-optout-whatsapp).

**2. Ritmo y cola.** Disparar 5.000 mensajes en un bucle `for` es la forma más rápida de alcanzar el rate limit. Ver [cola, rate limit y reintentos](/blog/cola-rate-limit-reintentos-envio-masivo-whatsapp).

**3. Medición.** Enviado no es entregado, y entregado no es leído.

Un envío a lista, en el mínimo aceptable:

```js
for (const contacto of lista) {
  await cola.add('plantilla', {
    to: contacto.numero,
    name: 'pedido_enviado',
    params: [contacto.nombre, contacto.pedido, contacto.plazo],
  }, {
    jobId: `pedido_enviado:${contacto.pedido}`,   // idempotencia
  });
}
```

Nota que acá no se envía nada: todo se encola. Quien envía es el worker, al ritmo que él controla.

## El costo

En la API oficial, Meta cobra **por conversación iniciada**, y el precio cambia por categoría y por país — no es el mismo en México, Argentina o Chile. Una ventana abierta admite varios mensajes sin cobro nuevo.

Consecuencia que casi nadie aprovecha: si el cliente responde a la plantilla, la ventana se abre y toda la atención siguiente no genera cobro nuevo. Una plantilla con botón de respuesta rápida suele salir más barata en total que una secuencia de plantillas.

## Conclusión

La plantilla no es burocracia gratuita: es el mecanismo que mantiene WhatsApp usable y tu número sano. Quien trata la categoría con honestidad, cuida el ejemplo y mide el resultado consigue aprobación rápida y la mantiene.

Quien intenta pasar marketing como utilidad descubre la regla por el lado caro: plantilla pausada, calidad del número por el piso y campaña detenida a la mitad.

## Perguntas frequentes

### ¿Qué es la ventana de 24 horas de WhatsApp?

Es el periodo en el que puedes conversar libremente con alguien después de que esa persona te escribió. Dentro de la ventana, el texto normal funciona. Pasadas 24 horas sin un mensaje suyo, solo una plantilla previamente aprobada por Meta puede iniciar el contacto.

### ¿Cuál es la diferencia entre plantilla de marketing, utilidad y autenticación?

Utilidad acompaña una transacción que el cliente ya inició: confirmación de pedido, aviso de entrega, factura. Autenticación entrega códigos de verificación. Marketing es promoción, novedad y reenganche. La categoría cambia el precio que cobra Meta y el rigor de la aprobación: marketing es la más cara y la más rechazada.

### ¿Cuánto tarda la aprobación de una plantilla?

Normalmente de unos minutos a unas horas. El rechazo suele ser más rápido que la aprobación. Si la plantilla queda mucho tiempo pendiente, casi siempre hay algo en la categoría o el contenido que pide revisión manual.

### ¿Por qué rechazaron mi plantilla?

Las causas más comunes son: contenido de marketing enviado como utilidad, una variable al principio o al final del texto sin contexto, texto que promete ganancias, errores de ortografía y ejemplos faltantes. Meta evalúa el texto con las variables ya rellenadas por el ejemplo que enviaste — un ejemplo malo reprueba una plantilla buena.

### ¿Necesito plantillas en la API no oficial?

No. La exigencia de plantillas y la ventana de 24 horas son reglas de la API oficial de Meta. En la no oficial, por código QR, no existe ese control — lo que trae otra responsabilidad, porque el límite pasa a ser el comportamiento del número y el riesgo de bloqueo.
