Webhook do WhatsApp existe, funciona, e não serve para avisar ninguém sobre o seu artigo novo. Na plataforma oficial da Meta, webhook é o canal pelo qual o WhatsApp fala com o seu servidor: mensagem que chegou, status de entrega, template que mudou de situação. A direção é essa, e só essa. Quando alguém vende “webhook do WhatsApp” com a mesma cara do webhook do Discord, uma URL que você cola num campo do painel e pronto, está vendendo outra coisa com o nome errado. A diferença aparece no primeiro dia de uso, não no terceiro mês.
A palavra troca de lado quando chega no WhatsApp
No Discord e no Telegram, o webhook é a porta de saída. Seu WordPress publica um artigo, dispara um POST para um endereço, e a mensagem aparece no canal. Você não precisa de servidor próprio para receber nada, porque nada volta.
A documentação da Cloud API descreve o oposto com todas as letras: webhooks são requisições HTTP com corpo JSON que os servidores da Meta enviam para um servidor da sua escolha. São 21 campos que dá para assinar, e os nomes dizem a natureza deles: messages para mensagem recebida, message_template_status_update para quando um template muda de situação, message_template_quality_update e phone_number_quality_update para queda de qualidade, account_update para mudança na conta. Nenhum deles envia coisa alguma para um usuário. Todos avisam você de algo que já aconteceu.
Isso muda a natureza do que você precisa manter no ar. Para receber webhook da Meta, o endpoint tem que ser HTTPS, aceitar POST, responder o desafio de verificação na configuração do app e carregar a permissão certa: whatsapp_business_messaging para o campo de mensagens, whatsapp_business_management para os outros. O corpo pode chegar com até 3 MB. Se o seu servidor devolver qualquer coisa que não seja 200, a Meta repete a entrega com frequência decrescente por até 7 dias, e a própria documentação avisa que notificações duplicadas acontecem durante essas repetições.
Um endpoint que precisa ficar de pé, tratar repetição e detectar duplicata é infraestrutura de atendimento. Quem tem blog não está procurando isso.
O que a plataforma exige antes da primeira mensagem sair
Mandar mensagem é outro caminho, com outro endereço: POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages. E ele não é livre.
A primeira trava é o consentimento. A política de mensagens do WhatsApp Business condiciona qualquer contato a duas coisas ao mesmo tempo: a pessoa ter dado o número dela para você, e você ter recebido opt-in confirmando que ela quer receber suas mensagens. A política pede opt-in separado por categoria de mensagem, e não trata isso como recomendação.
A segunda trava é a janela. Quando um usuário manda mensagem para o seu número, começa um cronômetro de 24 horas que a documentação chama de janela de atendimento; se a pessoa escrever de novo antes de expirar, o cronômetro volta para 24 horas. Dentro da janela, você envia qualquer tipo de mensagem sem aprovação prévia. Fora dela, só template aprovado. A tentativa de mandar mensagem comum depois disso volta com o erro 131047, cujo texto é literalmente que passaram mais de 24 horas desde a última resposta do destinatário. Template que não existe naquele idioma, ou que não foi aprovado, volta como 132001.
Repare no que essas duas travas fazem juntas com o caso do blog. Seu leitor nunca mandou mensagem para você. Ele leu um artigo. A janela de atendimento dele nunca abriu, e não abre por causa de uma publicação, então cem por cento dos avisos de conteúdo novo caem do lado de fora dela e precisam ser template aprovado.
Há ainda um limite de ritmo por par de números, de 1 mensagem a cada 6 segundos para o mesmo usuário, e um teto de vazão da própria Cloud API que aparece como 130429 quando estourado. Para uma lista de trezentos leitores, esses dois números deixam de ser detalhe.
E o endereço em si não é estável para sempre. A chamada é versionada, e o changelog da Graph API mostra o ritmo: a v26.0 saiu em 29 de julho de 2026, a v25.0 em 18 de fevereiro de 2026 com validade até 29 de julho de 2028, e a v24.0 em outubro de 2025 com validade até fevereiro de 2028. Cada versão vive cerca de dois anos. Quem integra assume uma migração recorrente, que é exatamente o tipo de manutenção que ninguém orça quando o combinado com o cliente era “avisar quando sair post novo”.
O template tem estado, e o estado muda sem você mexer
A parte que o discurso comercial mais esconde é que template não é campo de texto: é um objeto com situação, revisão e histórico de qualidade.
Todo template passa por revisão automática ao ser criado ou editado. Aprovado, a situação vai para APPROVED e ele pode ser usado. Reprovado, vira REJECTED. E existem dois estados que não dependem de nada que você faça depois: PAUSED, quando o template é desativado por retorno negativo dos usuários ou baixo engajamento, e DISABLED, quando ele é desativado em definitivo depois de pausas repetidas. No envio, esses estados aparecem como 132015 para template pausado por baixa qualidade e 132016 para template desabilitado de vez, caso em que a orientação da própria documentação é criar outro, com conteúdo diferente. A qualidade que decide isso é classificada em alta, média e baixa, a partir de engajamento e retorno de quem recebe.
Os tetos de quantidade seguem a verificação do negócio. Portfólio não verificado fica limitado a 250 templates por conta do WhatsApp Business; portfólio verificado com nome de exibição aprovado sobe para 6.000. Em qualquer um dos dois, dá para criar no máximo 100 templates por conta por hora.
E tem a conta. Desde 1º de julho de 2025, a Meta cobra por mensagem, e não mais por conversa: a cobrança acontece quando um template é entregue. Mensagem que não é template, enviada dentro de uma janela de atendimento aberta, não custa nada. Template de utilidade e de autenticação também sai de graça dentro da janela. Já a categoria de marketing é cobrada sempre que entregue fora da janela, e as tarifas variam por categoria, por código de país do destinatário e por faixa de volume mensal, com atualização trimestral no primeiro dia de cada trimestre. Existe também a janela de ponto de entrada gratuito, de 72 horas, aberta por anúncios de clique para o WhatsApp e por botão de página.
Pagar também não garante entrega. Existe um erro específico, o 131049, para quando a Meta bloqueia a entrega a fim de preservar o engajamento saudável da plataforma, por conta de um limite de templates de marketing por usuário; a orientação para ele é esperar mais de 24 horas antes de tentar de novo com aquela pessoa. Quer dizer que a mesma mensagem pode ser aprovada, cobrada e ainda assim segurada, com base em quanta coisa de marketing aquele destinatário já recebeu. Ao lado dele há o 131042, que é falha do meio de pagamento: sem cobrança configurada e funcionando, o envio simplesmente para.
Um template que diz “saiu artigo novo no blog” é marketing. Ele nasce na única categoria que é cobrada em todo envio fora da janela, e é justamente a categoria que as pessoas mais bloqueiam. Quer dizer que o mesmo aviso que você quer automatizar é, ao mesmo tempo, o que mais custa e o que mais corre risco de ser pausado por qualidade.
Onde o argumento contrário é mais forte
A objeção séria não é nenhuma dessas. É que a plataforma expõe hoje uma Groups API, na Cloud API, e com ela o número comercial cria grupo e manda mensagem dentro dele. Isso é verdade, é oficial, e mudou a conversa: dá para criar, listar e atualizar grupos, enviar texto, mídia, template de texto e template com mídia, gerar e redefinir o link de convite, aprovar ou recusar pedidos de entrada. O teto é de 10.000 grupos por número comercial.
O problema está no número que decide o uso: o máximo de participantes por grupo é 8. A documentação também é explícita em dizer que não existe endpoint para adicionar participante direto; a entrada acontece por link de convite, com a pessoa aceitando. Some a isso os pré-requisitos, que exigem Official Business Account e excluem números do aplicativo WhatsApp Business e números em Multi-solution Conversations, mais a lista do que não passa dentro do grupo: chamada, mensagem temporária, visualização única, autenticação, comércio e mensagem interativa.
Oito pessoas que precisam aceitar um convite é uma sala de trabalho. Serve muito bem para a equipe interna de uma agência acompanhar um cliente. Não é canal de comunidade, e não é lista de leitores. A Groups API responde “dá para mandar no grupo?” com sim, e responde “dá para avisar minha audiência?” com não, e as duas respostas convivem sem contradição.
Sobra a objeção mais desconfortável: as APIs não oficiais fazem tudo isso. Fazem mesmo. Elas mandam para grupo grande, dispensam template, ignoram janela e não cobram por mensagem entregue, porque conversam com o WhatsApp por fora. O preço está escrito na política de mensagens: operar um serviço que usa o WhatsApp em violação dos termos, como mandar mensagem em escala de forma não autorizada, dá à empresa o direito de limitar ou remover seu acesso aos serviços do WhatsApp Business. E a política vai além da conta encerrada, dizendo que uma conta terminada por violação pode levar à proibição de todo uso futuro dos produtos e serviços do WhatsApp pela pessoa e pela organização dela. No lado técnico, a conta restringida por política aparece como 368. Quem opera as redes de um cliente e perde o número dele nessa conta não perde uma automação: perde o cliente.
A terceira objeção é a única que nenhuma documentação responde, e por isso a mais honesta: sua audiência está no WhatsApp, não no Discord. É verdade em boa parte do Brasil, e não adianta discutir.
O que sobra de pé para quem publica toda semana
Avisar a equipe e a comunidade a cada publicação é problema de saída, e Discord e Telegram resolvem saída: o webhook do Discord aceita a mensagem sem template, sem janela, sem revisão, e o bot do Telegram entrega em grupo e canal do mesmo jeito. É por isso que o Post Ping avisa esses dois canais a cada artigo publicado, e não o WhatsApp. A documentação de cada plataforma decide isso muito antes da preferência de quem integra. O detalhe de como ler um erro quando esse disparo falha está em erro de webhook no WordPress.
Para o WhatsApp, o caminho que continua de pé é o link, não o disparo. A pessoa que conversa com você no WhatsApp já abriu a janela sozinha, e nesse momento uma mensagem comum com o endereço do artigo é gratuita e não precisa de aprovação nenhuma. O que ajuda aí é ter um endereço estável para mandar, no seu domínio, que se atualiza sozinho quando você publica. É a mesma página que serve de link na bio do Instagram, e ninguém precisa aprovar template para mandar um link numa conversa que a própria pessoa começou.
Se o que você procurava era a versão do WhatsApp daquele campo onde se cola uma URL e a mensagem chega, ela não existe na plataforma oficial, e provavelmente não vai existir: as travas de opt-in, janela e template são o modelo de negócio, não uma limitação técnica esperando ser removida. O conceito que resolve o seu caso é o outro, e ele está explicado do começo em o que é um webhook.
