{"id":791,"date":"2026-10-29T13:29:04","date_gmt":"2026-10-29T13:29:04","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/error-132000-plantilla-whatsapp\/"},"modified":"2026-10-29T13:29:33","modified_gmt":"2026-10-29T13:29:33","slug":"error-132000-plantilla-whatsapp","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/","title":{"rendered":"Errores 132000 y 132012 en la API de WhatsApp: los par\u00e1metros de la plantilla no coinciden"},"content":{"rendered":"\n<p><em>Actualizado el 29\/10\/2026<\/em><\/p>\n\n\n\n<p>El error 132000 de la API de WhatsApp significa que la cantidad de par\u00e1metros enviada no coincide con la cantidad de variables definida en la plantilla. El error 132012 es su pariente cercano: la cantidad est\u00e1 bien, pero el formato de alg\u00fan valor no es el que la plantilla espera. Los dos se resuelven igual: leer la estructura de la plantilla aprobada y armar el payload a partir de ella, no de memoria.<\/p>\n\n\n\n<p>Esta gu\u00eda explica qu\u00e9 quiere decir cada error de la familia 132xxx, muestra ejemplos de payload incorrecto y corregido, y te da una funci\u00f3n de validaci\u00f3n para ejecutar antes de cada env\u00edo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La familia 132xxx: qu\u00e9 significa cada c\u00f3digo<\/h2>\n\n\n\n<p>Los c\u00f3digos 132xxx tratan problemas con plantillas (plantillas de mensaje). La tabla de abajo resume los que m\u00e1s aparecen en el env\u00edo, seg\u00fan la <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\/error-codes\" target=\"_blank\" rel=\"noreferrer noopener\">tabla oficial de c\u00f3digos de error de Meta<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>C\u00f3digo<\/th><th>Qu\u00e9 dice Meta<\/th><th>Causa m\u00e1s com\u00fan en la pr\u00e1ctica<\/th><\/tr><\/thead><tbody><tr><td>132000<\/td><td>La cantidad de par\u00e1metros enviados no coincide con la cantidad de variables de la plantilla<\/td><td>Falt\u00f3 o sobr\u00f3 un elemento en <code>parameters<\/code>, o qued\u00f3 afuera el componente correcto (header, body, bot\u00f3n)<\/td><\/tr><tr><td>132001<\/td><td>La plantilla no existe en el idioma pedido o no fue aprobada<\/td><td>Nombre mal escrito, <code>language.code<\/code> distinto del aprobado (<code>pt_BR<\/code> vs. <code>pt<\/code>) o plantilla todav\u00eda en revisi\u00f3n<\/td><\/tr><tr><td>132005<\/td><td>El texto traducido qued\u00f3 demasiado largo<\/td><td>Traducci\u00f3n de la plantilla incompleta o demasiado larga en el idioma enviado<\/td><\/tr><tr><td>132007<\/td><td>El contenido de la plantilla viola una pol\u00edtica de WhatsApp<\/td><td>Plantilla rechazada o contenido enviado que infringe la pol\u00edtica<\/td><\/tr><tr><td>132012<\/td><td>Los valores de los par\u00e1metros tienen el formato incorrecto<\/td><td>Tipo de par\u00e1metro distinto del definido (texto donde va una imagen, por ejemplo) o nombre de par\u00e1metro que no existe<\/td><\/tr><tr><td>132015<\/td><td>Plantilla pausada por baja calidad<\/td><td>Muchos bloqueos o denuncias de los destinatarios<\/td><\/tr><tr><td>132016<\/td><td>Plantilla desactivada definitivamente tras pausas repetidas<\/td><td>Hay que crear otra plantilla<\/td><\/tr><tr><td>132018<\/td><td>Error de validaci\u00f3n de la plantilla<\/td><td>Alg\u00fan par\u00e1metro con problema; el detalle viene en la respuesta<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Los c\u00f3digos 132015 y 132016 no tienen que ver con el payload, sino con la calidad de la plantilla. Los tratamos en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/plantilla-pausada-whatsapp\/\">plantilla pausada o desactivada<\/a>. Para la lista general de c\u00f3digos de la API, consulta <a href=\"https:\/\/vectalk.com.br\/blog\/es\/errores-api-whatsapp\/\">errores de la API de WhatsApp<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo llega la respuesta de error<\/h2>\n\n\n\n<p>El error puede llegar de dos formas. En el caso m\u00e1s com\u00fan, la llamada a <code>POST \/&lt;PHONE_NUMBER_ID&gt;\/messages<\/code> vuelve directamente con un status HTTP de error y un objeto <code>error<\/code> en el cuerpo. El ejemplo de abajo es ilustrativo; los campos son los del formato de error de la Graph API:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"error\": {\n    \"message\": \"(#132000) ...\",\n    \"type\": \"OAuthException\",\n    \"code\": 132000,\n    \"error_data\": {\n      \"messaging_product\": \"whatsapp\",\n      \"details\": \"&lt;descripci\u00f3n del problema, con el componente y la cantidad&gt;\"\n    },\n    \"fbtrace_id\": \"A1b2C3d4E5f6\"\n  }\n}<\/code><\/pre>\n\n\n\n<p>El campo que resuelve el problema es <code>error_data.details<\/code>. Ah\u00ed Meta describe el problema con m\u00e1s detalle. Registra siempre en el log el cuerpo completo de la respuesta de error, no solo el c\u00f3digo.<\/p>\n\n\n\n<p>El texto exacto del mensaje y de <code>details<\/code> var\u00eda; usa <code>code<\/code> para la l\u00f3gica de tu sistema y <code>details<\/code> para quien vaya a depurar. En algunos casos la llamada se acepta y la falla aparece despu\u00e9s, en el webhook de estado, con <code>status: \"failed\"<\/code> y el mismo c\u00f3digo dentro de <code>errors<\/code>. El art\u00edculo sobre <a href=\"https:\/\/vectalk.com.br\/blog\/es\/estado-mensaje-webhook-whatsapp\/\">estado de mensajes por webhook<\/a> muestra ese formato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Error 132000: par\u00e1metros de m\u00e1s o de menos<\/h2>\n\n\n\n<p>Toma una plantilla de utilidad aprobada con este cuerpo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"type\": \"BODY\",\n  \"text\": \"Hola {{1}}, tu pedido {{2}} sali\u00f3 para entrega.\"\n}<\/code><\/pre>\n\n\n\n<p>Hay dos variables en el cuerpo. El payload de abajo env\u00eda solo una y recibe 132000:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"messaging_product\": \"whatsapp\",\n  \"to\": \"5511999999999\",\n  \"type\": \"template\",\n  \"template\": {\n    \"name\": \"pedido_em_rota\",\n    \"language\": { \"code\": \"pt_BR\" },\n    \"components\": [\n      {\n        \"type\": \"body\",\n        \"parameters\": [\n          { \"type\": \"text\", \"text\": \"Maria\" }\n        ]\n      }\n    ]\n  }\n}<\/code><\/pre>\n\n\n\n<p>La versi\u00f3n correcta tiene un elemento por cada variable, en el orden en que aparecen en el texto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"messaging_product\": \"whatsapp\",\n  \"to\": \"5511999999999\",\n  \"type\": \"template\",\n  \"template\": {\n    \"name\": \"pedido_em_rota\",\n    \"language\": { \"code\": \"pt_BR\" },\n    \"components\": [\n      {\n        \"type\": \"body\",\n        \"parameters\": [\n          { \"type\": \"text\", \"text\": \"Maria\" },\n          { \"type\": \"text\", \"text\": \"#4821\" }\n        ]\n      }\n    ]\n  }\n}<\/code><\/pre>\n\n\n\n<p>Las causas de 132000 que m\u00e1s vemos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plantilla editada despu\u00e9s de escribir el c\u00f3digo.<\/strong> Alguien agreg\u00f3 <code>{{3}}<\/code> al texto, Meta aprob\u00f3 la nueva versi\u00f3n y el sistema sigue enviando dos valores.<\/li>\n\n\n<li><strong>Header o bot\u00f3n olvidado.<\/strong> Si el encabezado tiene variable (<code>Pedido {{1}}<\/code>) o el bot\u00f3n de URL tiene sufijo din\u00e1mico, cada uno necesita su propio componente en el payload. El encabezado de texto acepta como m\u00e1ximo una variable; el bot\u00f3n de URL tambi\u00e9n acepta una, al final de la URL.<\/li>\n\n\n<li><strong>Valor vac\u00edo eliminado por el c\u00f3digo.<\/strong> Algunas rutinas filtran los par\u00e1metros con valor nulo antes de enviar. El resultado es un elemento de menos. Reemplaza el vac\u00edo por un texto por defecto en lugar de quitar el elemento.<\/li>\n\n\n<li><strong>Plantilla con el mismo nombre en otro idioma.<\/strong> Las versiones <code>pt_BR<\/code> y <code>en_US<\/code> de una plantilla pueden tener cantidades distintas de variables. El payload tiene que seguir la versi\u00f3n del idioma enviado.<\/li>\n\n<\/ul>\n\n\n\n<p>Ejemplo con encabezado y bot\u00f3n de URL din\u00e1mico, con todos los componentes presentes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"messaging_product\": \"whatsapp\",\n  \"to\": \"5511999999999\",\n  \"type\": \"template\",\n  \"template\": {\n    \"name\": \"pedido_em_rota_rastreio\",\n    \"language\": { \"code\": \"pt_BR\" },\n    \"components\": [\n      {\n        \"type\": \"header\",\n        \"parameters\": [ { \"type\": \"text\", \"text\": \"#4821\" } ]\n      },\n      {\n        \"type\": \"body\",\n        \"parameters\": [\n          { \"type\": \"text\", \"text\": \"Maria\" },\n          { \"type\": \"text\", \"text\": \"hoy antes de las 18 h\" }\n        ]\n      },\n      {\n        \"type\": \"button\",\n        \"sub_type\": \"url\",\n        \"index\": \"0\",\n        \"parameters\": [ { \"type\": \"text\", \"text\": \"4821XYZ\" } ]\n      }\n    ]\n  }\n}<\/code><\/pre>\n\n\n\n<p>En el bot\u00f3n, <code>index<\/code> es la posici\u00f3n del bot\u00f3n en la plantilla, empezando en cero. Meta pide que los valores con caracteres especiales en el sufijo de la URL se codifiquen (percent-encoding) antes del env\u00edo; si no, la URL generada puede fallar en la validaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Error 132012: formato de par\u00e1metro incorrecto<\/h2>\n\n\n\n<p>El 132012 aparece cuando el valor existe, pero no tiene el formato que la plantilla defini\u00f3. Dos casos explican la mayor\u00eda de las ocurrencias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tipo de par\u00e1metro distinto del componente<\/h3>\n\n\n\n<p>Si el encabezado de la plantilla es de imagen, el par\u00e1metro del header tiene que ser de tipo <code>image<\/code>. Enviar texto ah\u00ed da error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"type\": \"header\",\n  \"parameters\": [ { \"type\": \"text\", \"text\": \"https:\/\/exemplo.com\/banner.jpg\" } ]\n}<\/code><\/pre>\n\n\n\n<p>Correcto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"type\": \"header\",\n  \"parameters\": [\n    { \"type\": \"image\", \"image\": { \"link\": \"https:\/\/exemplo.com\/banner.jpg\" } }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>La misma regla vale para encabezados de video (<code>video<\/code>), documento (<code>document<\/code>) y ubicaci\u00f3n (<code>location<\/code>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Par\u00e1metros nombrados vs. posicionales<\/h3>\n\n\n\n<p>Desde que Meta empez\u00f3 a aceptar par\u00e1metros nombrados (<code>{{nome_cliente}}<\/code> en lugar de <code>{{1}}<\/code>), surgi\u00f3 otra fuente de errores. El formato se define al crear la plantilla con el campo <code>parameter_format<\/code>, que puede ser <code>positional<\/code> (por defecto) o <code>named<\/code>, seg\u00fan la <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">descripci\u00f3n general de plantillas<\/a>.<\/p>\n\n\n\n<p>En una plantilla nombrada, cada par\u00e1metro enviado necesita el campo <code>parameter_name<\/code> igual al nombre de la variable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"type\": \"body\",\n  \"parameters\": [\n    { \"type\": \"text\", \"parameter_name\": \"nome_cliente\", \"text\": \"Maria\" },\n    { \"type\": \"text\", \"parameter_name\": \"numero_pedido\", \"text\": \"#4821\" }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>Los errores t\u00edpicos aqu\u00ed son enviar la plantilla nombrada sin <code>parameter_name<\/code>, enviar un nombre que no existe (<code>nome<\/code> en lugar de <code>nome_cliente<\/code>) o usar may\u00fasculas, ya que Meta exige nombres en min\u00fasculas con guion bajo. En las plantillas nombradas, el orden de los elementos no importa; en las posicionales, importa y mucho.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los vecinos: 132001, 132005 y 132007<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">132001: la plantilla no existe o no est\u00e1 aprobada en ese idioma<\/h3>\n\n\n\n<p>Revisa tres cosas, en este orden:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>El nombre exacto.<\/strong> Los nombres de plantilla usan solo min\u00fasculas, n\u00fameros y guion bajo. <code>Pedido_em_rota<\/code> y <code>pedido_em_rota<\/code> son plantillas distintas.<\/li>\n\n\n<li><strong>El c\u00f3digo de idioma.<\/strong> El <code>language.code<\/code> tiene que ser exactamente el que se aprob\u00f3. Portugu\u00e9s de Brasil es <code>pt_BR<\/code>; <code>pt_PT<\/code> es portugu\u00e9s de Portugal.<\/li>\n\n\n<li><strong>El estado.<\/strong> Una plantilla <code>PENDING<\/code>, <code>REJECTED<\/code> o reci\u00e9n creada todav\u00eda no se puede enviar.<\/li>\n\n<\/ol>\n\n\n\n<p>El motivo del rechazo y c\u00f3mo corregirlo est\u00e1n en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/plantilla-rechazada-whatsapp\/\">plantilla rechazada en WhatsApp<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">132005: texto traducido demasiado largo<\/h3>\n\n\n\n<p>La tabla de Meta indica revisar en el WhatsApp Manager que la plantilla est\u00e9 traducida y remite a la p\u00e1gina de calidad de plantillas. En la pr\u00e1ctica, abre la versi\u00f3n del idioma que est\u00e1s enviando y confirma que exista, est\u00e9 completa y respete el l\u00edmite de 1.024 caracteres del cuerpo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">132007: el contenido viola la pol\u00edtica<\/h3>\n\n\n\n<p>Aqu\u00ed no sirve tocar el payload. El texto de la plantilla o el contenido enviado en las variables infringe la <a href=\"https:\/\/business.whatsapp.com\/policy\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de Mensajes Comerciales<\/a>. Revisa la plantilla y lo que est\u00e1 entrando en las variables. Usar una variable para meter texto de marketing en una plantilla de utilidad es un camino conocido hacia los problemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Validaci\u00f3n antes del env\u00edo<\/h2>\n\n\n\n<p>La forma m\u00e1s segura de evitar 132000 y 132012 es dejar de armar el payload a mano. Obt\u00e9n la estructura de la plantilla desde la API, gu\u00e1rdala en cach\u00e9 y comp\u00e1rala antes de enviar. El listado de plantillas de la cuenta de mensajes acepta filtro de campos, como muestra la <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/template-management\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n de gesti\u00f3n de plantillas<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl \"https:\/\/graph.facebook.com\/v26.0\/&lt;WABA_ID&gt;\/message_templates?fields=name,language,status,components&amp;name=pedido_em_rota\" \\\n  -H \"Authorization: Bearer &lt;ACCESS_TOKEN&gt;\"<\/code><\/pre>\n\n\n\n<p>Con los componentes en mano, una funci\u00f3n sencilla cuenta las variables de cada parte y las compara con lo que vas a enviar. Ejemplo en JavaScript:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">const VAR = \/\\{\\{\\s*([a-z0-9_]+)\\s*\\}\\}\/g;\n\nfunction expectedParams(template) {\n  const exp = {};\n  for (const c of template.components) {\n    const type = c.type.toLowerCase();\n    if (type === \"header\" &amp;&amp; c.format &amp;&amp; c.format !== \"TEXT\") {\n      exp.header = { count: 1, media: c.format.toLowerCase() };\n    } else if ((type === \"header\" || type === \"body\") &amp;&amp; c.text) {\n      const names = [...c.text.matchAll(VAR)].map((m) =&gt; m[1]);\n      if (names.length) exp[type] = { count: names.length, names };\n    } else if (type === \"buttons\") {\n      c.buttons.forEach((b, i) =&gt; {\n        if (b.type === \"URL\" &amp;&amp; VAR.test(b.url)) exp[`button_${i}`] = { count: 1 };\n        VAR.lastIndex = 0;\n      });\n    }\n  }\n  return exp;\n}\n\nfunction validate(template, components) {\n  const exp = expectedParams(template);\n  const named = String(template.parameter_format).toLowerCase() === \"named\";\n  const errors = [];\n  for (const [key, rule] of Object.entries(exp)) {\n    const comp = components.find((c) =&gt;\n      key.startsWith(\"button_\")\n        ? c.type === \"button\" &amp;&amp; String(c.index) === key.split(\"_\")[1]\n        : c.type === key\n    );\n    const params = comp?.parameters ?? [];\n    if (params.length !== rule.count) {\n      errors.push(`${key}: esperado ${rule.count}, enviado ${params.length}`);\n    }\n    if (rule.media &amp;&amp; params[0]?.type !== rule.media) {\n      errors.push(`${key}: se esperaba un par\u00e1metro de tipo ${rule.media}`);\n    }\n    if (named &amp;&amp; rule.names) {\n      for (const p of params) {\n        if (!rule.names.includes(p.parameter_name)) {\n          errors.push(`${key}: parameter_name inv\u00e1lido \"${p.parameter_name}\"`);\n        }\n      }\n    }\n    for (const p of params) {\n      if (p.type === \"text\" &amp;&amp; !String(p.text ?? \"\").trim()) {\n        errors.push(`${key}: valor de texto vac\u00edo`);\n      }\n    }\n  }\n  return errors;\n}<\/code><\/pre>\n\n\n\n<p>Si <code>validate<\/code> devuelve cualquier error, no env\u00edes: reg\u00edstralo y avisa a quien se encarga de la plantilla. Tres h\u00e1bitos completan la protecci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Actualiza la cach\u00e9 cuando la plantilla cambia.<\/strong> El webhook <code>message_template_status_update<\/code> avisa los cambios de estado; usa el evento para recargar la estructura.<\/li>\n\n\n<li><strong>Versiona por nombre.<\/strong> En lugar de editar una plantilla en producci\u00f3n, crea <code>pedido_em_rota_v2<\/code> y cambia el c\u00f3digo y la plantilla juntos.<\/li>\n\n\n<li><strong>Prueba con un n\u00famero interno<\/strong> cada plantilla nueva, antes de activar el env\u00edo autom\u00e1tico.<\/li>\n\n<\/ul>\n\n\n\n<p>Para armar payloads con multimedia, botones y carrusel desde cero, consulta <a href=\"https:\/\/vectalk.com.br\/blog\/es\/enviar-plantilla-api-whatsapp\/\">c\u00f3mo enviar una plantilla por la API con el JSON completo<\/a>. Para crear y editar plantillas por c\u00f3digo, consulta <a href=\"https:\/\/vectalk.com.br\/blog\/es\/crear-plantilla-api-whatsapp\/\">crear una plantilla v\u00eda API<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo hacerlo con Vectalk<\/h2>\n\n\n\n<p>Vectalk es un proxy de la <a href=\"https:\/\/vectalk.com.br\/blog\/es\/api-oficial-de-whatsapp\/\">API oficial de WhatsApp<\/a>: el payload de plantilla es el mismo de Meta, y los c\u00f3digos de error tambi\u00e9n. Env\u00edas a <code>POST https:\/\/apis.vectalk.com.br\/api\/messages<\/code> y, con un token de instancia, el <code>phone_number_id<\/code> se resuelve solo. Para validar antes del env\u00edo, el listado <code>GET https:\/\/apis.vectalk.com.br\/api\/templates?name=pedido_em_rota<\/code> devuelve los componentes de la plantilla, y la misma funci\u00f3n de arriba funciona sobre esa respuesta.<\/p>\n\n\n\n<p>En el panel, el \u00e1rea de plantillas muestra el texto aprobado de cada plantilla, y los logs muestran la respuesta de error completa de cada env\u00edo, lo que ayuda a encontrar el <code>details<\/code> sin abrir el c\u00f3digo. La referencia est\u00e1 en <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/send-template\">docs.vectalk.com.br<\/a>, y el registro en <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSe cobra un mensaje con error 132000?<\/h3>\n\n\n\n<p>Meta cobra por mensaje entregado. Un mensaje rechazado con 132000 no llega al destinatario, as\u00ed que no genera cobro de plantilla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEl 132000 puede aparecer de repente, sin que yo cambie el c\u00f3digo?<\/h3>\n\n\n\n<p>S\u00ed. El caso cl\u00e1sico es que alguien edite la plantilla en el WhatsApp Manager y agregue una variable. Cuando la nueva versi\u00f3n se aprueba, el payload antiguo pasa a tener par\u00e1metros de menos. Por eso conviene obtener la estructura de la plantilla por la API en lugar de dejarla fija en el c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCu\u00e1l es la diferencia entre 132000 y 132012?<\/h3>\n\n\n\n<p>El 132000 es de cantidad: el n\u00famero de par\u00e1metros enviados es distinto del n\u00famero de variables. El 132012 es de formato: la cantidad coincide, pero alg\u00fan valor no est\u00e1 en el formato definido en la plantilla, como texto en un encabezado de imagen o un <code>parameter_name<\/code> que no existe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo enviar un texto vac\u00edo en una variable?<\/h3>\n\n\n\n<p>Ev\u00edtalo. Un valor vac\u00edo suele ser eliminado por las bibliotecas o rechazado por la API, y termina convirti\u00e9ndose en 132000 u otro error de validaci\u00f3n. Usa un texto por defecto, como &#8220;cliente&#8221;, cuando el dato no exista.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El error 132001 aparece aunque la plantilla est\u00e9 aprobada. \u00bfPor qu\u00e9?<\/h3>\n\n\n\n<p>Casi siempre es el idioma. La plantilla puede estar aprobada en <code>pt_BR<\/code> y el payload pedir <code>pt_PT<\/code> o <code>en_US<\/code>. Tambi\u00e9n conviene verificar que la plantilla pertenezca a la misma cuenta de mensajes del n\u00famero que est\u00e1 enviando.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Fuentes oficiales consultadas el 29\/10\/2026:<\/strong> <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\/error-codes\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00f3digos de error (Meta)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">Template fundamentals: par\u00e1metros (Meta)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/components\" target=\"_blank\" rel=\"noreferrer noopener\">Componentes de plantilla (Meta)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/template-management\" target=\"_blank\" rel=\"noreferrer noopener\">Gesti\u00f3n de plantillas (Meta)<\/a>, <a href=\"https:\/\/business.whatsapp.com\/policy\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de Mensajes Comerciales<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/send-template\">Vectalk: enviar plantilla<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/templates\/list\">Vectalk: listar plantillas<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qu\u00e9 significan los errores 132000, 132012, 132001, 132005 y 132007 de la API de WhatsApp, con ejemplos de payload incorrecto y correcto y una validaci\u00f3n previa.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[12],"tags":[],"class_list":["post-791","post","type-post","status-publish","format-standard","hentry","category-uncategorized-es"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk<\/title>\n<meta name=\"description\" content=\"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk\" \/>\n<meta property=\"og:description\" content=\"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-29T13:29:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T13:29:33+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"Errores 132000 y 132012 en la API de WhatsApp: los par\u00e1metros de la plantilla no coinciden\",\"datePublished\":\"2026-10-29T13:29:04+00:00\",\"dateModified\":\"2026-10-29T13:29:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/\"},\"wordCount\":1852,\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/\",\"name\":\"Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-29T13:29:04+00:00\",\"dateModified\":\"2026-10-29T13:29:33+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/error-132000-plantilla-whatsapp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Errores 132000 y 132012 en la API de WhatsApp: los par\u00e1metros de la plantilla no coinciden\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk","description":"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/","og_locale":"en_US","og_type":"article","og_title":"Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk","og_description":"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.","og_url":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-29T13:29:04+00:00","article_modified_time":"2026-10-29T13:29:33+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"Errores 132000 y 132012 en la API de WhatsApp: los par\u00e1metros de la plantilla no coinciden","datePublished":"2026-10-29T13:29:04+00:00","dateModified":"2026-10-29T13:29:33+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/"},"wordCount":1852,"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/","url":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/","name":"Error 132000 y 132012 en WhatsApp: c\u00f3mo corregirlo | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-29T13:29:04+00:00","dateModified":"2026-10-29T13:29:33+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"Error 132000 WhatsApp: la cantidad de par\u00e1metros no coincide con la plantilla. Tambi\u00e9n 132012, 132001, 132005 y 132007, con payload incorrecto y correcto.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/es\/error-132000-plantilla-whatsapp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Errores 132000 y 132012 en la API de WhatsApp: los par\u00e1metros de la plantilla no coinciden"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=791"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/791\/revisions"}],"predecessor-version":[{"id":794,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/791\/revisions\/794"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}