Actualizado el 25/10/2026
Una plantilla de WhatsApp se rechaza cuando Meta encuentra un problema de formato (variables mal escritas, fuera de secuencia, demasiadas para la longitud del texto o al principio o al final del mensaje), contenido que infringe las políticas (solicitud de datos sensibles, amenazas, estafas, productos prohibidos), una categoría incorrecta o texto duplicado. Para corregirla, lee el motivo en WhatsApp Manager o en el webhook message_template_status_update, edita la plantilla y reenvíala, o presenta una apelación con valores de ejemplo. Meta responde en hasta 24 horas.
A continuación están los motivos oficiales, cómo identificar cada uno y qué cambiar en el texto. Si aún estás creando tus primeras plantillas, empieza por cómo Meta clasifica las plantillas.
Cómo funciona la revisión
Toda plantilla nueva, y toda plantilla editada, pasa por una revisión antes de poder enviarse. Según la documentación de revisión de plantillas, el análisis combina sistemas automáticos y revisión manual y tarda hasta 24 horas. El resultado aparece:
- en WhatsApp Manager, como notificación;
- por correo a los administradores del portafolio;
- en Business Support Home, con el detalle del rechazo;
- en el webhook
message_template_status_update, si lo sigues por API.
Mientras la revisión no termina, la plantilla queda en PENDING y no puede usarse.
Los motivos de rechazo más comunes
Meta enumera los siguientes motivos como los más frecuentes. La columna de la derecha muestra la corrección.
| Motivo | Ejemplo del problema | Cómo corregir |
|---|---|---|
| Llaves faltantes o mal cerradas | {{1}, {1}}, {{ 1 }} | Usa exactamente {{1}} |
| Caracteres especiales en la variable | {{#1}}, {{$monto}}, {{1%}} | Deja el símbolo fuera de la variable: $ {{1}} |
| Variables fuera de secuencia | {{1}}, {{2}}, {{5}}, {{4}} | Numera en orden: {{1}}, {{2}}, {{3}} |
| Demasiadas variables para la longitud del texto | «Hola {{1}}, {{2}} {{3}} {{4}}.» | Agrega texto fijo o reduce las variables |
| El mensaje empieza o termina con una variable | «{{1}}, tu pedido salió.» o «…código {{1}}» | Pon texto antes y después |
| Solicitud de datos sensibles | «Envíanos el número completo de tu tarjeta» | Pide solo los últimos dígitos, nunca documentos o cuentas completas |
| Contenido abusivo o amenazante | «Paga hoy o haremos público tu nombre» | Elimina amenazas de acciones legales o exposición pública |
| Infracción de la Política de Comercio | Venta de artículos prohibidos | Revisa la política antes de crear la plantilla |
| Spam o apariencia de estafa | Promesas exageradas, enlaces sospechosos | Texto claro, marca identificada, dominio propio |
| Límite de caracteres | Cuerpo demasiado largo, exceso de emojis | Respeta los límites de cada componente |
| Duplicado | Mismo cuerpo y pie de página que una plantilla existente | Cambia el texto o reutiliza la plantilla existente |
La regla de duplicados no se aplica a las plantillas de autenticación, que usan texto predefinido por Meta.
Variables: los errores que más rechazos causan
La mayoría de los rechazos de formato vienen de las variables. Compara:
| Probablemente rechazada | Probablemente aprobada |
|---|---|
| «{{1}}, tu factura vence mañana.» | «Hola, {{1}}. Tu factura vence mañana.» |
| «Tu código de seguimiento es {{1}}» | «Tu código de seguimiento es {{1}}. Consúltalo en el sitio de la transportadora.» |
| «Monto: {{$1}}» | «Monto: $ {{1}}.» |
| «¡Hola {{1}}! {{2}} {{3}}.» | «Hola, {{1}}. Tu pedido {{2}} se entregó el {{3}}. Si hay algún problema, responde este mensaje.» |
| «{{1}}{{2}}» | «Pedido {{1}}, entrega prevista para el {{2}}. Gracias por tu compra.» |
Las variables pegadas ({{1}}{{2}}) también se rechazan: Meta usa justamente este caso como ejemplo de INVALID_FORMAT.
Cada parámetro necesita un valor de ejemplo. En WhatsApp Manager se agrega con el botón Agregar ejemplo; en la API, con el campo example de cada componente. Sin ejemplos, el revisor no puede evaluar el mensaje real. Usa ejemplos realistas: «Marina» y «48213» dicen más que «prueba» y «123».
Cómo leer el motivo en el webhook
Si sigues las plantillas por API, el resultado llega en el campo message_template_status_update. Un rechazo por formato se ve así:
{
"field": "message_template_status_update",
"value": {
"event": "REJECTED",
"message_template_id": 1689556908129835,
"message_template_name": "recordatorio_factura",
"message_template_language": "es",
"reason": "INVALID_FORMAT",
"message_template_category": "UTILITY",
"rejection_info": {
"reason": "Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them.",
"recommendation": "Separate parameters with descriptive text and ensure each parameter is clearly contextualized."
}
}
}
El objeto rejection_info, con explicación y recomendación, solo se incluye cuando el motivo es INVALID_FORMAT. Los valores posibles de reason, según la referencia del webhook:
reason | Significado | Acción |
|---|---|---|
INVALID_FORMAT | Formato inválido | Leer rejection_info y corregir variables, límites o estructura |
INCORRECT_CATEGORY | El contenido no coincide con la categoría elegida | Cambiar la categoría o reescribir (ver categorías de plantillas) |
TAG_CONTENT_MISMATCH | El contenido no coincide con la categoría elegida | La misma acción que INCORRECT_CATEGORY |
PROMOTIONAL | El contenido infringe las políticas | Revisar el texto a la luz de las políticas |
ABUSIVE_CONTENT | El contenido infringe las políticas | Eliminar amenazas y lenguaje agresivo o engañoso |
SCAM | El contenido infringe las políticas | Eliminar promesas y elementos con apariencia de estafa |
CATEGORY_NOT_AVAILABLE | Obsoleto | No debería aparecer en plantillas nuevas |
Un manejador sencillo que guarda el motivo y avisa al equipo:
export function manejarEstadoPlantilla(value, db, alertar) {
db.actualizarPlantilla(value.message_template_id, {
estado: value.event,
categoria: value.message_template_category,
motivo: value.reason,
});
if (value.event === 'REJECTED') {
const detalle = value.rejection_info?.recommendation ?? 'ver Business Support Home';
alertar(`Plantilla ${value.message_template_name} rechazada (${value.reason}): ${detalle}`);
}
}
Presta atención también a otros eventos del mismo webhook: PAUSED y DISABLED (baja calidad), FLAGGED (comentarios negativos, riesgo de desactivación), IN_APPEAL (apelación en curso) y LIMIT_EXCEEDED (la cuenta alcanzó el límite de plantillas).
Corregir y reenviar, o apelar
Tienes dos caminos cuando una plantilla se rechaza.
Editar y reenviar
Si el problema está en el texto, edítalo y reenvíalo. Según la documentación de gestión de plantillas, solo las plantillas APPROVED, REJECTED o PAUSED pueden editarse, y cada edición reemplaza todos los componentes a la vez. En plantillas rechazadas, también se puede cambiar la categoría en la edición.
Con la Cloud API directa, la edición es un POST al ID de la plantilla:
curl -X POST "https://graph.facebook.com/v26.0/ID_DE_LA_PLANTILLA" \
-H "Authorization: Bearer TOKEN_DE_META" \
-H "Content-Type: application/json" \
-d '{
"components": [
{
"type": "BODY",
"text": "Hola, {{1}}. La factura del pedido {{2}} vence el {{3}}. Puedes descargar una copia con el botón de abajo.",
"example": { "body_text": [["Marina", "48213", "30/10/2026"]] }
}
]
}'
Otra opción es crear una plantilla nueva con otro nombre. Si eliminas una plantilla aprobada, ese nombre queda bloqueado durante 30 días.
Presentar una apelación
Si crees que el rechazo fue un error, apela. Cualquier plantilla rechazada puede apelarse, y la apelación debe incluir ejemplos. En WhatsApp Manager:
- Pasa el cursor sobre el ícono de maletín (Herramientas de la cuenta) y haz clic en Plantillas de mensajes. Si tienes varias cuentas, elige la correcta en el selector de la esquina superior derecha.
- Haz clic en la plantilla rechazada.
- Ajusta el contenido si es necesario.
- Haz clic en Agregar ejemplo y completa los valores de ejemplo y las imágenes.
- Haz clic en Enviar.
Meta responde en hasta 24 horas. Durante la apelación, el webhook puede enviar el evento IN_APPEAL.
Los rechazos por categoría siguen otro camino: la revisión se pide en Business Support Home, dentro de los 60 días. Las plantillas que Meta identifica como autenticación disfrazada no pueden revisarse; en ese caso, crea una plantilla de autenticación (ver códigos de verificación por WhatsApp).
Errores de envío que parecen rechazos
Algunos errores solo aparecen al enviar una plantilla ya aprobada y suelen confundirse con rechazos:
| Código | Significado | Acción |
|---|---|---|
132000 | La cantidad de parámetros no coincide con la plantilla | Revisar cuántos parámetros espera cada componente |
132001 | La plantilla no existe en el idioma indicado o no está aprobada | Revisar nombre, código de idioma y estado |
132007 | El contenido de la plantilla infringe una política de WhatsApp | Revisar el texto según los motivos de rechazo |
132015 | Plantilla pausada por baja calidad | Esperar a que termine la pausa o editarla |
132016 | Plantilla desactivada tras pausas repetidas | Crear una plantilla nueva con otro contenido |
La lista completa, con causas y soluciones, está en errores de la API de WhatsApp.
Checklist para evitar rechazos
- Variables en formato
{{1}}, en secuencia, sin símbolos dentro y nunca pegadas. - Texto fijo antes de la primera variable y después de la última.
- Un valor de ejemplo realista para cada variable y una imagen de ejemplo en encabezados multimedia.
- Ninguna solicitud de tarjeta, cuenta o documento completos.
- Ninguna amenaza, cobro agresivo ni promesa exagerada.
- Una categoría coherente con el contenido: los avisos son utilidad, las ofertas son marketing.
- Un texto distinto de las plantillas que ya tienes.
Cómo hacerlo con Vectalk
En Vectalk, las plantillas se crean y editan con los mismos cuerpos de la Cloud API, usando un token de instancia (el WABA se resuelve a partir del token). Para corregir una plantilla rechazada, envía los nuevos componentes a POST /api/templates/{templateId}; la edición funciona para plantillas APPROVED o REJECTED. Para consultar el estado, usa GET /api/templates?name=recordatorio_factura. El webhook message_template_status_update llega en el formato de Meta a las URL que registraste.
curl -X POST https://apis.vectalk.com.br/api/templates/ID_DE_LA_PLANTILLA \
-H "Authorization: Bearer TU_TOKEN_DE_INSTANCIA" \
-H "Content-Type: application/json" \
-d '{ "components": [ { "type": "BODY", "text": "Hola, {{1}}. La factura del pedido {{2}} vence el {{3}}. Puedes descargar una copia con el botón de abajo.", "example": { "body_text": [["Marina", "48213", "30/10/2026"]] } } ] }'
Consulta los endpoints en docs.vectalk.com.br y crea tu cuenta en apps.vectalk.com.br/register.
Preguntas frecuentes
¿Cuánto tarda Meta en revisar una plantilla?
Hasta 24 horas, tanto en la revisión inicial como en la apelación. Muchas plantillas se aprueban antes, pero planifica los lanzamientos contando con el plazo máximo.
¿Puedo usar una plantilla rechazada mientras apelo?
No. Solo las plantillas con estado APPROVED pueden enviarse. Si el envío es urgente, crea en paralelo una versión corregida con otro nombre.
Mi plantilla se aprobó, pero como marketing. ¿Es un rechazo?
No. Desde abril de 2025, las plantillas enviadas como utilidad que Meta considera marketing se aprueban como marketing. La solución es pedir una revisión de categoría o reescribir el texto. Ver categorías de plantillas.
¿Por qué una plantilla idéntica se aprobó en otra cuenta y en la mía no?
Meta advierte que sus ejemplos son ilustrativos y que textos parecidos pueden tener resultados distintos según el contenido exacto y los valores de ejemplo. La regla de duplicados también influye: si ya existe una plantilla con el mismo cuerpo y pie de página, la nueva se rechaza. Ajusta el texto y usa ejemplos realistas.
¿Cuántas veces puedo editar una plantilla?
Las plantillas aprobadas pueden editarse hasta 10 veces en 30 días, o 1 vez en 24 horas. La documentación no indica un límite para plantillas rechazadas.
Fuentes oficiales consultadas el 25/10/2026: Revisión de plantillas, Webhook message_template_status_update, Gestión de plantillas, Categorización de plantillas, Códigos de error, Política de Mensajería de WhatsApp Business.
