{"id":47,"date":"2026-10-20T19:32:47","date_gmt":"2026-10-20T19:32:47","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/"},"modified":"2026-10-25T13:17:00","modified_gmt":"2026-10-25T13:17:00","slug":"templates-whatsapp-api","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/","title":{"rendered":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o"},"content":{"rendered":"\n<p><em>Atualizado em 25\/10\/2026<\/em><\/p>\n\n\n\n<p>Um template da API do WhatsApp \u00e9 uma mensagem pr\u00e9-aprovada pela Meta e \u00e9 o \u00fanico tipo de mensagem que pode ser enviado fora da janela de atendimento de 24 horas. Voc\u00ea cria o template por API com nome, idioma, categoria (marketing, utilidade ou autentica\u00e7\u00e3o) e componentes; a Meta revisa em at\u00e9 24 horas e, se aprovar, voc\u00ea envia preenchendo as vari\u00e1veis. A categoria define o pre\u00e7o, e qualquer inten\u00e7\u00e3o promocional no texto faz a Meta tratar um template de utilidade como marketing.<\/p>\n\n\n\n<p>Este guia mostra como montar, criar e enviar templates com payloads reais, por que eles s\u00e3o reprovados e como escrever avisos que continuem sendo utilidade.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando o template \u00e9 obrigat\u00f3rio<\/h2>\n\n\n\n<p>A Cloud API separa dois tipos de mensagem. Mensagens livres (texto, imagem, bot\u00f5es, listas) s\u00f3 podem ser enviadas enquanto a <a href=\"https:\/\/vectalk.com.br\/blog\/janela-24-horas-whatsapp\/\">janela de 24 horas<\/a> est\u00e1 aberta, ou seja, depois que o usu\u00e1rio escreveu ou ligou para a empresa. Fora dela, s\u00f3 sai template aprovado.<\/p>\n\n\n\n<p>Na pr\u00e1tica, template \u00e9 o que voc\u00ea usa para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>avisar sobre um pedido, pagamento, agendamento ou mudan\u00e7a de conta;<\/li>\n\n\n<li>enviar c\u00f3digo de verifica\u00e7\u00e3o (OTP);<\/li>\n\n\n<li>mandar ofertas e campanhas para quem aceitou receber;<\/li>\n\n\n<li>retomar contato com quem n\u00e3o fala com voc\u00ea h\u00e1 mais de 24 horas.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">As tr\u00eas categorias de template<\/h2>\n\n\n\n<p>Toda cria\u00e7\u00e3o de template exige uma categoria. A Meta valida a escolha pelo conte\u00fado, e a categoria \u00e9 usada na cobran\u00e7a (veja os valores em <a href=\"https:\/\/vectalk.com.br\/blog\/api-whatsapp-preco-brasil\/\">quanto custa a API do WhatsApp no Brasil<\/a>).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Categoria<\/th><th>Para que serve<\/th><th>Exemplos aceitos<\/th><th>Pontos de aten\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td><code>MARKETING<\/code><\/td><td>Divulga\u00e7\u00e3o, vendas, retargeting, promo\u00e7\u00e3o de app, relacionamento<\/td><td>Cupom, carrinho abandonado, renova\u00e7\u00e3o de assinatura com desconto, anivers\u00e1rio<\/td><td>Tamb\u00e9m recebe templates com conte\u00fado misto (aviso + promo\u00e7\u00e3o) ou vago, como s\u00f3 <code>{{1}}<\/code><\/td><\/tr><tr><td><code>UTILITY<\/code><\/td><td>Seguir uma a\u00e7\u00e3o ou pedido do usu\u00e1rio<\/td><td>Confirma\u00e7\u00e3o e rastreio de pedido, alerta de conta, lembrete de cobran\u00e7a, pesquisa sobre um atendimento espec\u00edfico<\/td><td>Precisa ser n\u00e3o promocional e espec\u00edfico do usu\u00e1rio, ou essencial (seguran\u00e7a, recall, mudan\u00e7a de pol\u00edtica de privacidade)<\/td><\/tr><tr><td><code>AUTHENTICATION<\/code><\/td><td>C\u00f3digo de uso \u00fanico para verificar identidade<\/td><td>&#8220;{{1}} \u00e9 o seu c\u00f3digo de verifica\u00e7\u00e3o.&#8221;<\/td><td>Exige bot\u00e3o de OTP (copiar c\u00f3digo ou preenchimento autom\u00e1tico); sem URL, m\u00eddia ou emoji; par\u00e2metros com at\u00e9 15 caracteres<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>C\u00f3digo de verifica\u00e7\u00e3o s\u00f3 pode ir em template de autentica\u00e7\u00e3o. Quando a Meta detecta um template de marketing ou utilidade que deveria ser de autentica\u00e7\u00e3o, ela avisa e muda o status para <code>REJECTED<\/code> no primeiro dia do m\u00eas seguinte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Anatomia: os componentes de um template<\/h2>\n\n\n\n<p>Um template tem at\u00e9 quatro componentes. S\u00f3 o corpo \u00e9 obrigat\u00f3rio.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Componente<\/th><th>Obrigat\u00f3rio<\/th><th>Limites principais<\/th><\/tr><\/thead><tbody><tr><td>Cabe\u00e7alho (<code>HEADER<\/code>)<\/td><td>N\u00e3o<\/td><td>Texto com at\u00e9 60 caracteres e 1 par\u00e2metro; ou m\u00eddia (imagem, v\u00eddeo, GIF, documento); ou localiza\u00e7\u00e3o (s\u00f3 utilidade e marketing)<\/td><\/tr><tr><td>Corpo (<code>BODY<\/code>)<\/td><td>Sim<\/td><td>At\u00e9 1.024 caracteres, v\u00e1rios par\u00e2metros<\/td><\/tr><tr><td>Rodap\u00e9 (<code>FOOTER<\/code>)<\/td><td>N\u00e3o<\/td><td>At\u00e9 60 caracteres, s\u00f3 texto<\/td><\/tr><tr><td>Bot\u00f5es (<code>BUTTONS<\/code>)<\/td><td>N\u00e3o<\/td><td>At\u00e9 10 no total, com limites por tipo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Os bot\u00f5es mais usados t\u00eam estas regras:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Tipo de bot\u00e3o<\/th><th>Quantidade m\u00e1xima<\/th><th>Detalhes<\/th><\/tr><\/thead><tbody><tr><td><code>QUICK_REPLY<\/code><\/td><td>10<\/td><td>R\u00f3tulo de at\u00e9 25 caracteres; o toque envia o texto como mensagem do usu\u00e1rio<\/td><\/tr><tr><td><code>URL<\/code><\/td><td>2<\/td><td>R\u00f3tulo de at\u00e9 25 caracteres; URL de at\u00e9 2.000 caracteres com 1 vari\u00e1vel no final<\/td><\/tr><tr><td><code>PHONE_NUMBER<\/code><\/td><td>1<\/td><td>N\u00famero de at\u00e9 20 caracteres<\/td><\/tr><tr><td><code>COPY_CODE<\/code><\/td><td>1<\/td><td>Texto copiado de at\u00e9 20 caracteres (ex.: cupom)<\/td><\/tr><tr><td><code>FLOW<\/code><\/td><td>\u2014<\/td><td>Abre um WhatsApp Flow; r\u00f3tulo de at\u00e9 25 caracteres<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Respostas r\u00e1pidas e outros bot\u00f5es precisam ficar agrupados (todas as respostas r\u00e1pidas juntas). Templates com 4 ou mais bot\u00f5es, ou com resposta r\u00e1pida misturada a outro tipo, n\u00e3o aparecem no WhatsApp para desktop: o usu\u00e1rio \u00e9 orientado a abrir no celular. Com mais de tr\u00eas bot\u00f5es, a mensagem mostra dois e agrupa o resto em &#8220;Ver todas as op\u00e7\u00f5es&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como criar um template via API<\/h2>\n\n\n\n<p>Na Cloud API direta, a cria\u00e7\u00e3o \u00e9 um <code>POST<\/code> no endpoint <code>message_templates<\/code> da conta de mensagens (o antigo WABA; desde 23\/09\/2026, templates ficam na conta de mensagens, e os IDs de WABA existentes viraram IDs de conta de mensagens):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl 'https:\/\/graph.facebook.com\/v26.0\/SEU_WABA_ID\/message_templates' \\\n  -H 'Authorization: Bearer TOKEN_DA_META' \\\n  -H 'Content-Type: application\/json' \\\n  -d '{ \"name\": \"...\", \"language\": \"pt_BR\", \"category\": \"UTILITY\", \"components\": [ ... ] }'<\/code><\/pre>\n\n\n\n<p>Na Vectalk, o corpo \u00e9 o mesmo. Muda a URL base e o token: com um token de inst\u00e2ncia, o WABA \u00e9 resolvido automaticamente e voc\u00ea n\u00e3o informa o ID na rota.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl -X POST https:\/\/apis.vectalk.com.br\/api\/templates \\\n  -H \"Authorization: Bearer SEU_TOKEN_DE_INSTANCIA\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"name\": \"pedido_confirmado\",\n    \"language\": \"pt_BR\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n      { \"type\": \"HEADER\", \"format\": \"TEXT\", \"text\": \"Pedido confirmado\" },\n      {\n        \"type\": \"BODY\",\n        \"text\": \"Ol\u00e1, {{1}}. Seu pedido {{2}} foi confirmado e ser\u00e1 entregue em at\u00e9 {{3}} dias \u00fateis.\",\n        \"example\": { \"body_text\": [[\"Marina\", \"48213\", \"5\"]] }\n      },\n      { \"type\": \"FOOTER\", \"text\": \"Loja Exemplo\" },\n      {\n        \"type\": \"BUTTONS\",\n        \"buttons\": [\n          { \"type\": \"URL\", \"text\": \"Acompanhar pedido\", \"url\": \"https:\/\/loja.exemplo.com.br\/pedidos\/{{1}}\", \"example\": [\"https:\/\/loja.exemplo.com.br\/pedidos\/48213\"] }\n        ]\n      }\n    ]\n  }'<\/code><\/pre>\n\n\n\n<p>A resposta traz o <code>id<\/code>, o <code>status<\/code> (em geral <code>PENDING<\/code>) e a categoria. O resultado da revis\u00e3o chega pelo webhook <code>message_template_status_update<\/code>, que a Vectalk repassa no mesmo formato da Meta para as URLs registradas (veja o guia de <a href=\"https:\/\/vectalk.com.br\/blog\/webhook-whatsapp-api\/\">webhooks da API do WhatsApp<\/a>). Para consultar depois, use <code>GET \/api\/templates?name=pedido_confirmado<\/code>.<\/p>\n\n\n\n<p>Regras que evitam erro j\u00e1 na cria\u00e7\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>O nome aceita s\u00f3 letras min\u00fasculas, n\u00fameros e sublinhado, com at\u00e9 512 caracteres. Nomes n\u00e3o s\u00e3o \u00fanicos: o mesmo nome pode existir em idiomas diferentes, e cada idioma conta como um template.<\/li>\n\n\n<li>A Meta permite criar at\u00e9 100 templates por hora em cada conta.<\/li>\n\n\n<li>Uma conta pode ter at\u00e9 250 templates se o portf\u00f3lio empresarial n\u00e3o for verificado. Com o portf\u00f3lio verificado e um n\u00famero com nome de exibi\u00e7\u00e3o aprovado, o teto sobe para 6.000.<\/li>\n\n\n<li>A Meta n\u00e3o traduz nada. Cada idioma precisa do pr\u00f3prio texto e dos pr\u00f3prios exemplos.<\/li>\n\n\n<li>Cabe\u00e7alho de m\u00eddia exige, na Meta, um handle obtido pela Resumable Upload API, e a imagem de exemplo tamb\u00e9m passa pela revis\u00e3o.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vari\u00e1veis: posicionais ou nomeadas<\/h2>\n\n\n\n<p>O campo <code>parameter_format<\/code> define o formato. Sem ele, o padr\u00e3o \u00e9 <code>positional<\/code>.<\/p>\n\n\n\n<p><strong>Posicionais<\/strong> usam <code>{{1}}<\/code>, <code>{{2}}<\/code> e assim por diante, em sequ\u00eancia. Os valores de exemplo na cria\u00e7\u00e3o e os valores reais no envio seguem a ordem em que aparecem no texto.<\/p>\n\n\n\n<p><strong>Nomeadas<\/strong> usam nomes em min\u00fasculas com sublinhado, como <code>{{nome_cliente}}<\/code>. A ordem dos valores deixa de importar, o que reduz bugs quando o texto muda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"name\": \"pedido_enviado\",\n  \"language\": \"pt_BR\",\n  \"category\": \"UTILITY\",\n  \"parameter_format\": \"named\",\n  \"components\": [\n    {\n      \"type\": \"BODY\",\n      \"text\": \"Ol\u00e1, {{nome_cliente}}! Seu pedido {{numero_pedido}} saiu para entrega com o c\u00f3digo de rastreio {{rastreio}}. Avisaremos quando for entregue.\",\n      \"example\": {\n        \"body_text_named_params\": [\n          { \"param_name\": \"nome_cliente\", \"example\": \"Marina\" },\n          { \"param_name\": \"numero_pedido\", \"example\": \"48213\" },\n          { \"param_name\": \"rastreio\", \"example\": \"BR123456789\" }\n        ]\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>No envio, cada par\u00e2metro nomeado leva <code>parameter_name<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{ \"type\": \"text\", \"parameter_name\": \"rastreio\", \"text\": \"BR987654321\" }<\/code><\/pre>\n\n\n\n<p>Todo par\u00e2metro precisa de valor de exemplo na cria\u00e7\u00e3o. Sem exemplo, a revis\u00e3o n\u00e3o tem como avaliar o texto final.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enviando o template<\/h2>\n\n\n\n<p>O envio usa o endpoint de mensagens com <code>type: \"template\"<\/code>. Pela Vectalk:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl -X POST https:\/\/apis.vectalk.com.br\/api\/messages \\\n  -H \"Authorization: Bearer SEU_TOKEN\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"messaging_product\": \"whatsapp\",\n    \"to\": \"5584999999999\",\n    \"type\": \"template\",\n    \"template\": {\n      \"name\": \"pedido_confirmado\",\n      \"language\": { \"code\": \"pt_BR\" },\n      \"components\": [\n        { \"type\": \"body\", \"parameters\": [\n          { \"type\": \"text\", \"text\": \"Marina\" },\n          { \"type\": \"text\", \"text\": \"48213\" },\n          { \"type\": \"text\", \"text\": \"5\" }\n        ]},\n        { \"type\": \"button\", \"sub_type\": \"url\", \"index\": \"0\", \"parameters\": [\n          { \"type\": \"text\", \"text\": \"48213\" }\n        ]}\n      ]\n    }\n  }'<\/code><\/pre>\n\n\n\n<p>Com token de organiza\u00e7\u00e3o, inclua tamb\u00e9m o <code>phone_number_id<\/code> do n\u00famero remetente no corpo. Os erros mais comuns no envio s\u00e3o estes:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>C\u00f3digo<\/th><th>Significado<\/th><th>O que fazer<\/th><\/tr><\/thead><tbody><tr><td><code>132000<\/code><\/td><td>Quantidade de par\u00e2metros diferente da definida no template<\/td><td>Conferir quantos par\u00e2metros cada componente espera<\/td><\/tr><tr><td><code>132001<\/code><\/td><td>Template n\u00e3o existe no idioma informado ou n\u00e3o est\u00e1 aprovado<\/td><td>Conferir nome, c\u00f3digo de idioma e status<\/td><\/tr><tr><td><code>132012<\/code><\/td><td>Par\u00e2metros em formato diferente do template<\/td><td>Usar o formato correto (posicional ou nomeado)<\/td><\/tr><tr><td><code>132015<\/code><\/td><td>Template pausado por baixa qualidade<\/td><td>Esperar a pausa ou editar o conte\u00fado<\/td><\/tr><tr><td><code>132016<\/code><\/td><td>Template desativado ap\u00f3s pausas repetidas<\/td><td>Criar um novo template com outro conte\u00fado<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Por que templates s\u00e3o reprovados<\/h2>\n\n\n\n<p>A revis\u00e3o combina sistemas autom\u00e1ticos e an\u00e1lise manual e leva at\u00e9 24 horas. Os motivos que a Meta lista como mais comuns s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Formato das vari\u00e1veis<\/strong>: chaves faltando ou trocadas, caracteres especiais como <code>#<\/code>, <code>$<\/code> ou <code>%<\/code> dentro da vari\u00e1vel, numera\u00e7\u00e3o fora de sequ\u00eancia (<code>{{1}}<\/code>, <code>{{2}}<\/code>, <code>{{5}}<\/code>).<\/li>\n\n\n<li><strong>Vari\u00e1veis demais para o tamanho do texto<\/strong>: um corpo curto com muitos par\u00e2metros \u00e9 reprovado. Aumente o texto fixo ou reduza as vari\u00e1veis.<\/li>\n\n\n<li><strong>Vari\u00e1vel na ponta<\/strong>: o texto n\u00e3o pode come\u00e7ar nem terminar com par\u00e2metro.<\/li>\n\n\n<li><strong>Pedido de dados sens\u00edveis<\/strong>: n\u00famero completo de cart\u00e3o, conta banc\u00e1ria ou documento de identidade. Pedir s\u00f3 os \u00faltimos d\u00edgitos \u00e9 aceito.<\/li>\n\n\n<li><strong>Conte\u00fado amea\u00e7ador<\/strong>: amea\u00e7ar processo ou exposi\u00e7\u00e3o p\u00fablica do cliente.<\/li>\n\n\n<li><strong>Viola\u00e7\u00e3o da Pol\u00edtica de Com\u00e9rcio<\/strong>: produtos e servi\u00e7os proibidos na plataforma.<\/li>\n\n\n<li><strong>Duplicidade<\/strong>: mesmo texto de corpo e rodap\u00e9 de um template j\u00e1 existente (essa regra n\u00e3o vale para autentica\u00e7\u00e3o).<\/li>\n\n<\/ul>\n\n\n\n<p>Se discordar da reprova\u00e7\u00e3o, voc\u00ea pode editar e reenviar ou abrir um recurso no WhatsApp Manager, com exemplo dos valores. A Meta informa decis\u00e3o em at\u00e9 24 horas.<\/p>\n\n\n\n<p>Para editar por API, a Meta permite alterar templates com status <code>APPROVED<\/code>, <code>REJECTED<\/code> ou <code>PAUSED<\/code>. A edi\u00e7\u00e3o substitui todos os componentes de uma vez, e um template aprovado pode ser editado at\u00e9 10 vezes em 30 dias ou 1 vez em 24 horas. Na Vectalk, a edi\u00e7\u00e3o \u00e9 um <code>POST \/api\/templates\/{templateId}<\/code> com os novos componentes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como evitar que utilidade vire marketing<\/h2>\n\n\n\n<p>Esse \u00e9 o problema mais caro com templates. Pela regra da Meta, um template s\u00f3 \u00e9 utilidade se cumprir duas condi\u00e7\u00f5es ao mesmo tempo:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Ser <strong>n\u00e3o promocional<\/strong>, sem inten\u00e7\u00e3o persuasiva.<\/li>\n\n\n<li>Ser <strong>espec\u00edfico do usu\u00e1rio<\/strong> (ligado a pedido, conta, servi\u00e7o ou transa\u00e7\u00e3o dele) <strong>ou essencial<\/strong> (seguran\u00e7a, recall, alerta de fraude, mudan\u00e7a de pol\u00edtica de privacidade).<\/li>\n\n<\/ol>\n\n\n\n<p>Desde 9 de abril de 2025, se voc\u00ea enviar como <code>UTILITY<\/code> e a Meta concluir que \u00e9 marketing, o template \u00e9 <strong>aprovado como <code>MARKETING<\/code><\/strong> em vez de reprovado. Voc\u00ea s\u00f3 percebe olhando a categoria na resposta ou no webhook.<\/p>\n\n\n\n<p>Depois de aprovado, o template continua sendo avaliado. A Meta roda um processo recorrente que reclassifica utilidades que deveriam ser marketing, com aviso de 1 dia pelo webhook <code>template_category_update<\/code> e por e-mail. O payload traz a categoria atual em <code>new_category<\/code> e a correta em <code>correct_category<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"field\": \"template_category_update\",\n  \"value\": {\n    \"message_template_id\": 278077987957091,\n    \"message_template_name\": \"lembrete_pagamento\",\n    \"message_template_language\": \"pt_BR\",\n    \"new_category\": \"UTILITY\",\n    \"correct_category\": \"MARKETING\",\n    \"category_update_timestamp\": 1746169200\n  }\n}<\/code><\/pre>\n\n\n\n<p>Na API da Meta, voc\u00ea tamb\u00e9m pode listar os templates com <code>?fields=category,correct_category<\/code> e comparar os dois campos. Quando h\u00e1 diverg\u00eancia, voc\u00ea tem at\u00e9 60 dias para pedir revis\u00e3o no Business Support Home.<\/p>\n\n\n\n<p>Veja a diferen\u00e7a na pr\u00e1tica:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Texto<\/th><th>Categoria prov\u00e1vel<\/th><th>Por qu\u00ea<\/th><\/tr><\/thead><tbody><tr><td>&#8220;Seu pedido {{1}} foi enviado com o rastreio {{2}}. Avisaremos na entrega.&#8221;<\/td><td>Utilidade<\/td><td>Espec\u00edfico do pedido, sem promo\u00e7\u00e3o<\/td><\/tr><tr><td>&#8220;Seu pedido {{1}} foi enviado. Aproveite 10% na pr\u00f3xima compra!&#8221;<\/td><td>Marketing<\/td><td>Mistura aviso com oferta<\/td><\/tr><tr><td>&#8220;Sua assinatura vence em {{1}}. Renove hoje com desconto.&#8221;<\/td><td>Marketing<\/td><td>Tentativa de renova\u00e7\u00e3o com incentivo<\/td><\/tr><tr><td>&#8220;Sua fatura de {{1}} vence em {{2}} e ser\u00e1 cobrada no cart\u00e3o final {{3}}.&#8221;<\/td><td>Utilidade<\/td><td>Alerta de conta sem persuas\u00e3o<\/td><\/tr><tr><td>&#8220;Como foi sua experi\u00eancia conosco?&#8221;<\/td><td>Marketing<\/td><td>Pesquisa gen\u00e9rica, sem atendimento espec\u00edfico<\/td><\/tr><tr><td>&#8220;Voc\u00ea falou com nosso suporte sobre o pedido {{1}}. Como foi o atendimento?&#8221;<\/td><td>Utilidade<\/td><td>Pesquisa ligada a uma intera\u00e7\u00e3o espec\u00edfica<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Um checklist antes de enviar como utilidade:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>O texto cita algo do usu\u00e1rio (n\u00famero do pedido, data, valor, protocolo)?<\/li>\n\n\n<li>Alguma palavra soa como convite para comprar, renovar ou &#8220;aproveitar&#8221;?<\/li>\n\n\n<li>O bot\u00e3o leva para a p\u00e1gina do pedido ou da conta, e n\u00e3o para a vitrine?<\/li>\n\n\n<li>O rodap\u00e9 est\u00e1 livre de slogan ou chamada comercial?<\/li>\n\n<\/ul>\n\n\n\n<p>Insistir em classificar marketing como utilidade tem consequ\u00eancia. A Meta descreve uma escala de restri\u00e7\u00f5es para contas que fazem isso de forma recorrente:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>N\u00edvel<\/th><th>O que acontece<\/th><th>Dura\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td>Aviso<\/td><td>Aviso escrito aos administradores; mudan\u00e7as de utilidade para marketing passam a ser imediatas, sem aviso pr\u00e9vio<\/td><td>Cont\u00ednuo<\/td><\/tr><tr><td>Limite de taxa<\/td><td>Volume de mensagens de utilidade limitado numa janela de 24 horas; o excedente \u00e9 rejeitado<\/td><td>M\u00ednimo de 7 dias<\/td><\/tr><tr><td>Restri\u00e7\u00e3o de utilidade<\/td><td>Todos os templates de utilidade da conta viram marketing; cria\u00e7\u00e3o de novos e pedidos de revis\u00e3o ficam bloqueados<\/td><td>7 dias (30 na reincid\u00eancia)<\/td><\/tr><tr><td>Restri\u00e7\u00e3o no portf\u00f3lio<\/td><td>O mesmo, em todas as contas do portf\u00f3lio<\/td><td>30 dias<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Essas a\u00e7\u00f5es chegam pelo webhook <code>account_update<\/code>, com <code>violation_type<\/code> igual a <code>UTILITY_TEMPLATE_ABUSE<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qualidade e pausa de templates<\/h2>\n\n\n\n<p>Cada template aprovado recebe uma nota baseada em uso, feedback e engajamento: <code>GREEN<\/code> (alta), <code>YELLOW<\/code> (m\u00e9dia), <code>RED<\/code> (baixa) ou <code>UNKNOWN<\/code> (ainda sem dados). Um template que chega a <code>RED<\/code> \u00e9 pausado automaticamente: 3 horas na primeira vez, 6 horas na segunda e desativado na terceira. Enquanto pausado, a API rejeita os envios sem cobrar e sem contar no limite de mensagens.<\/p>\n\n\n\n<p>Pausar campanhas que dependem do template evita uma fila de erros. A pausa n\u00e3o atinge o n\u00famero de imediato, mas a Meta avisa que enviar com frequ\u00eancia templates que chegam a baixa qualidade pode acabar afetando o n\u00famero. O cuidado com volume e p\u00fablico est\u00e1 no artigo sobre <a href=\"https:\/\/vectalk.com.br\/blog\/disparo-em-massa-whatsapp-api-oficial\/\">disparo em massa pela API oficial<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Quanto tempo a Meta leva para aprovar um template?<\/h3>\n\n\n\n<p>A documenta\u00e7\u00e3o informa que a decis\u00e3o sai em at\u00e9 24 horas. Muitos templates s\u00e3o aprovados antes disso, mas planeje o lan\u00e7amento contando com o prazo m\u00e1ximo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso enviar um template para qualquer n\u00famero?<\/h3>\n\n\n\n<p>N\u00e3o. A Meta exige que o destinat\u00e1rio tenha dado consentimento (opt-in) para receber mensagens da sua empresa, e os envios fora da janela contam no limite de mensagens do portf\u00f3lio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso mudar a categoria de um template aprovado?<\/h3>\n\n\n\n<p>Pela API, a categoria de um template aprovado n\u00e3o pode ser editada. Para templates reprovados, voc\u00ea pode editar a categoria e reenviar. Para templates aprovados como marketing que voc\u00ea considera utilidade, a revis\u00e3o \u00e9 pedida no WhatsApp Manager.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Um template de utilidade enviado dentro da janela de 24 horas \u00e9 gratuito?<\/h3>\n\n\n\n<p>N\u00e3o mais. Desde 1\u00ba de outubro de 2026, a Meta cobra utilidade enviada dentro da janela de atendimento. A \u00fanica exce\u00e7\u00e3o em que template n\u00e3o \u00e9 cobrado \u00e9 a janela de ponto de entrada gratuito, aberta por an\u00fancios de clique para o WhatsApp.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Na Vectalk, o payload de template \u00e9 diferente do da Meta?<\/h3>\n\n\n\n<p>N\u00e3o. Os corpos de cria\u00e7\u00e3o e envio s\u00e3o os mesmos da Cloud API. Mudam a URL base (<code>https:\/\/apis.vectalk.com.br\/api<\/code>) e o token, que \u00e9 gerado no painel da Vectalk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Crie seus templates pela Vectalk<\/h2>\n\n\n\n<p>Na Vectalk voc\u00ea cria, lista, edita e envia templates com os mesmos payloads da documenta\u00e7\u00e3o da Meta e um token para todas as suas contas. A cobran\u00e7a da Meta passa pela Vectalk: voc\u00ea paga a Vectalk, e a Vectalk paga a Meta, sem cadastrar cart\u00e3o na Meta. Crie sua conta em <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a>, consulte os endpoints em <a href=\"https:\/\/docs.vectalk.com.br\/\">docs.vectalk.com.br<\/a> ou fale com o time pela <a href=\"https:\/\/vectalk.com.br\/contato.html\">p\u00e1gina de contato<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Fontes oficiais consultadas em 25\/10\/2026:<\/strong> <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/overview\">Fundamentos de templates<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/template-categorization\">Categoriza\u00e7\u00e3o de templates<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/templates\/template-review\">Revis\u00e3o de templates<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/account-model-evolution\/\">Atualiza\u00e7\u00f5es nas contas do WhatsApp Business<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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":[8],"tags":[],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-uncategorized-pt"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk<\/title>\n<meta name=\"description\" content=\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.\" \/>\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\/templates-whatsapp-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk\" \/>\n<meta property=\"og:description\" content=\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-20T19:32:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T13:17:00+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=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o\",\"datePublished\":\"2026-10-20T19:32:47+00:00\",\"dateModified\":\"2026-10-25T13:17:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/\"},\"wordCount\":2281,\"commentCount\":0,\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/\",\"name\":\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-20T19:32:47+00:00\",\"dateModified\":\"2026-10-25T13:17:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/templates-whatsapp-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o\"}]},{\"@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":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk","description":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.","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\/templates-whatsapp-api\/","og_locale":"en_US","og_type":"article","og_title":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk","og_description":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.","og_url":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-20T19:32:47+00:00","article_modified_time":"2026-10-25T13:17:00+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o","datePublished":"2026-10-20T19:32:47+00:00","dateModified":"2026-10-25T13:17:00+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/"},"wordCount":2281,"commentCount":0,"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/","url":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/","name":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o - Blog Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-20T19:32:47+00:00","dateModified":"2026-10-25T13:17:00+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o via API, vari\u00e1veis, bot\u00f5es, motivos de reprova\u00e7\u00e3o e como evitar que utilidade vire marketing.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/templates-whatsapp-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Template na API do WhatsApp: categorias, cria\u00e7\u00e3o, vari\u00e1veis e aprova\u00e7\u00e3o"}]},{"@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\/47","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=47"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":445,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions\/445"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}