Raphael Serafim· Publicado el 10 de septiembre de 2026· 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.

Ver como Markdown

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 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íaPara quéObservación
UtilidadAcompaña algo que el cliente ya inició: pedido, cita, factura, entregaMás barata y más fácil de aprobar
AutenticaciónCódigos de verificación y accesoFormato restringido, sin espacio para marketing
MarketingPromoción, novedad, reenganche, carrito abandonadoLa 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 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

curl -X POST "https://us.api-wa.me/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

curl "https://us.api-wa.me/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

curl -X POST "https://us.api-wa.me/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.

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.

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

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

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.

¿Listo para automatizar tu WhatsApp?

Crea tu cuenta gratis y empieza a enviar mensajes por la API en minutos.

Empezar gratis

Preguntas frecuentes

¿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.

Sigue leyendo