A fila estava montada, o modelo estava aprovado, o número estava saudável. Você aperta enviar e todas as mensagens falham, uma atrás da outra, com um número de cinco dígitos que não diz nada: 132012 ou 132018.
A primeira coisa que salva tempo é saber que o modelo não é o problema. Se ele estivesse reprovado, pausado ou inexistente, o erro seria outro — 132001, 132015 ou 132016. Estes dois dizem outra coisa: o modelo está certo, e o que a sua plataforma mandou para ele não bate.
Os dois erros, e por que são diferentes
| Código | O que a Meta diz | O que quase sempre é |
|---|---|---|
| 132012 | Parameter format does not match format in the created template | Falta uma PARTE inteira: o modelo tem imagem no topo e você mandou só o corpo. |
| 132018 | Template validation error: there's an issue with the parameters | As partes estão lá, mas um VALOR não serve: vazio, com quebra de linha, ou numerado errado. |
Em resumo: 132012 é peça faltando, 132018 é peça errada. E o 132018 é recente o bastante para não estar nas listas de erro que circulam há anos — algumas plataformas mostram até a chave crua, do tipo error-code-132018, porque não têm tradução para ele.
A causa que nos custou uma fila inteira
Três modelos aprovados da nossa operação tinham HEADER com format: IMAGE. O disparo mandava só o componente do corpo, porque o compositor não tinha onde anexar a imagem. Resultado: a Meta recusou mensagem por mensagem com 132012, e a fila inteira morreu de uma vez.
O modelo com mídia no topo exige o arquivo em todo envio, e não só na hora de criar o modelo. Um modelo aprovado com imagem no cabeçalho nunca vai sair como texto puro — e nada na tela de aprovação avisa isso.
Vale para imagem, vídeo, documento e localização. Se o seu modelo tem qualquer coisa no topo além de texto, a plataforma precisa mandar aquela parte junto, sempre.
A numeração que engana todo mundo
Esta é a causa que não está em documentação nenhuma, e é a mais fácil de cometer:
A Meta numera cada PARTE do modelo por conta própria. O cabeçalho tem a variável 1 dele. O corpo vai de 1 a N, começando do um de novo. E cada botão de link tem a dele, também começando do um.
Ou seja: um modelo com uma variável no topo e duas no corpo não tem as variáveis 1, 2 e 3. Tem a variável 1 do topo, e as variáveis 1 e 2 do corpo. Quem numera corrido entre as partes — que é o jeito intuitivo — manda o valor do topo para o corpo e colhe 132012 na hora do disparo, com a fila já montada.
As outras causas, na ordem em que costumam ser
Variável com nome onde a Meta espera número
O modelo usa {{1}}, e a plataforma mandou {{nome}}. A Meta aceita os dois formatos na CRIAÇÃO do modelo, mas o envio tem de falar a mesma língua que o modelo aprovado — e a maioria dos CRMs só manda numerada.
Valor em branco
A Meta recusa parâmetro vazio. Se o modelo tem três variáveis e o contato não tem o terceiro campo preenchido, a mensagem daquele contato falha — e só daquele. É o caso que produz uma falha salpicada no meio de uma campanha que, no geral, funcionou.
Quebra de linha ou espaço demais dentro do valor
Parâmetro com Enter, tabulação ou quatro espaços seguidos volta recusado. Acontece quando o valor foi colado de uma planilha e trouxe a formatação junto — e ninguém vê, porque na tela o texto parece normal.
Botão de link com sufixo dinâmico sem valor
Modelo com botão de URL que termina em variável precisa receber essa variável. Sem ela, o botão fica com o endereço pela metade, e a Meta recusa a mensagem inteira em vez de mandar um link quebrado.
O modelo mudou depois de o disparo ser configurado
Modelo editado é modelo com estrutura nova. Uma campanha montada antes da edição continua mandando a forma antiga, e passa a falhar sem que nada visível tenha mudado do seu lado. É a causa mais difícil de enxergar, porque a configuração parece igual à de ontem.
Uma armadilha só de quem manda mídia no topo
Se o cabeçalho é imagem, vídeo ou documento, a Meta vai BUSCAR esse arquivo — ela faz um pedido ao endereço que você informou. Isso tem duas consequências que derrubam integração:
O endereço precisa ser público de verdade
Arquivo atrás de login, de sessão ou de token privado não funciona: a Meta não tem as credenciais da sua plataforma. Ou o arquivo tem um endereço aberto, ou o envio falha.
A Meta busca de muitos endereços diferentes
Se o seu servidor tem freio por IP, ele pode bloquear justamente o disparo grande, porque a Meta vem de vários lugares ao mesmo tempo. O sintoma é cruel: funciona no teste com um contato e falha na campanha de mil.
Como achar a causa em cinco minutos
Olhe a estrutura do modelo aprovado, não a prévia
Peça os componentes do modelo à Meta e veja o que ele realmente exige: se há HEADER, de que formato, e quantas variáveis cada parte tem. A prévia bonita da tela não mostra isso.
Conte as variáveis PARTE por PARTE
Topo separado, corpo separado, cada botão separado. Se a sua contagem deu um número corrido, achou o problema.
Teste com um contato cujos campos estejam todos cheios
Se com ele passa e com os outros não, a causa é valor em branco, e o conserto está na base e não no modelo.
Onde a Nobre entra
No Nobre CRM esses dois erros não chegam na hora do disparo, porque a conferência acontece antes de a fila nascer: o sistema lê o que o modelo exige, pede o arquivo do cabeçalho quando há um, e recusa a criação da campanha com a frase do que falta — em vez de deixar mil contatos morrerem um a um e você descobrir pelo relatório.
A numeração por parte também é resolvida na tela: as variáveis do topo e dos botões aparecem separadas das do corpo, com o nome de onde cada uma vive. Não dá para numerar corrido porque a tela não oferece isso.
A diferença não é ter menos erro: é onde o erro aparece. Recusa na montagem custa trinta segundos; recusa no disparo custa a janela da campanha, e às vezes a qualidade do número.