Envie atualizações de pedidos do WooCommerce pelo WhatsApp
Crie um webhook do WooCommerce para eventos de pedido apontando para um receptor, como um fluxo do n8n ou uma pequena rota PHP. O receptor verifica a assinatura do WooCommerce, confere se o cliente aceitou receber mensagens no WhatsApp e envia um template aprovado pela Cloud API, com o phone number id e o token do número conectado.
O WooCommerce desativa um webhook após mais de cinco falhas de entrega consecutivas.
Cabeçalho com um HMAC-SHA256 do payload codificado em base64, gerado com o secret do webhook.
Fora da janela de atendimento ao cliente, só é possível enviar templates de mensagem pré-aprovados.
Como um pedido do WooCommerce dispara uma mensagem no WhatsApp?
Por meio de um webhook do WooCommerce e de um receptor. No WooCommerce, vá em Configurações, Avançado, Webhooks e adicione um webhook com um tópico de pedido, como pedido criado ou pedido atualizado, uma URL de entrega e um secret. A partir daí, o WooCommerce envia o pedido em JSON para essa URL sempre que o evento acontece.
O payload é fixo, então não dá para apontá-lo direto para a Cloud API. Entre os dois fica um receptor: um nó Webhook do n8n, uma rota no PHP da própria loja ou qualquer serviço pequeno. Ele lê o pedido, escolhe o número de telefone do cliente e os detalhes que a mensagem precisa e faz uma requisição HTTPS ao endpoint de mensagens da Cloud API para o número conectado, com o token de acesso do número como bearer token.
O tópico order.updated não está atrelado a um único status, então o receptor deve ler o campo status do pedido e enviar uma vez por transição que lhe interessa. Por padrão, o WooCommerce faz a entrega em segundo plano pelo wp-cron, então a mensagem pode chegar com um pequeno atraso em relação ao pedido.
Como o receptor sabe que a requisição veio da loja?
Pela assinatura do WooCommerce. Cada entrega traz um cabeçalho X-WC-Webhook-Signature, um HMAC-SHA256 do payload bruto codificado em base64, calculado com o secret definido no webhook. O receptor calcula o mesmo hash sobre o corpo recebido, compara e rejeita tudo o que não coincidir.
Esse é o secret da própria loja, então, ao contrário da assinatura da Meta nas mensagens recebidas do WhatsApp, ele pode ser validado. Compare em tempo constante e calcule o hash do corpo bruto antes de qualquer framework interpretá-lo, porque um JSON recodificado gera um hash diferente.
Responda rápido com um 2xx. O WooCommerce conta como falha qualquer resposta que não seja 2xx, 301 ou 302 e, depois de mais de cinco falhas seguidas, desativa o webhook. Um receptor fora do ar durante um deploy, ou lento por esperar a Meta antes de responder, pode desligar as mensagens da loja sem que ninguém perceba.
O que a loja pode enviar, e quando?
Um template aprovado, sempre que a loja fala primeiro. A janela de atendimento de 24 horas da Meta só abre quando o cliente escreve para o número, então uma confirmação de pedido ou uma atualização de envio é iniciada pela empresa e texto livre é recusado. Crie um template de utilidade para cada atualização, espere a aprovação e envie-o pelo nome e idioma, com o número do pedido e outros detalhes como parâmetros.
A Meta também exige opt-in: o cliente informou o número e concordou em receber mensagens desta empresa no WhatsApp. Uma caixa de seleção no checkout, guardada no pedido, é o registro mais simples, e o receptor deve conferi-la antes de enviar.
Quando o cliente responde, a conversa passa a ser Coexistência comum. A resposta aparece no app do WhatsApp Business no celular da loja, a janela fica aberta para texto livre e a equipe responde pelo app como sempre fez.
Erros comuns
- Fazer a chamada à Cloud API antes de responder ao WooCommerce. Um envio lento ou com falha conta contra o webhook, que é desativado após mais de cinco falhas.
- Calcular o hash do JSON já interpretado em vez do corpo bruto. A assinatura nunca coincide e toda entrega legítima é rejeitada.
- Enviar a cada entrega de order.updated. O tópico não está atrelado a um único status, então, sem registrar qual transição já foi avisada, os clientes recebem mensagens duplicadas.
Conecte o número da loja em easycoexistence.com e passe ao receptor o phone number id e o token do painel. A partir de US$ 9 por número conectado por mês, caindo até US$ 1 conforme você adiciona números, com os primeiros 3 dias grátis.
Perguntas frequentes
Preciso de um plugin do WordPress para isso?
Não. Os webhooks nativos do WooCommerce e um receptor bastam, e o receptor pode ser uma rota na mesma aplicação PHP.
Quem paga pelas mensagens dos pedidos?
A Meta cobra as mensagens diretamente da empresa, na própria conta do WhatsApp Business, e a EasyCoexistence nunca aplica margem.
A equipe ainda pode usar o celular?
Sim. A Coexistência mantém o app do WhatsApp Business funcionando no número da loja, e o template enviado pela loja aparece na conversa.
E se um webhook foi desativado?
Corrija o receptor e volte o status do webhook para ativo no WooCommerce. Os pedidos criados enquanto ele estava desligado não geraram mensagem.
Continue lendo
Pronto para começar?
Configure o WhatsApp Coexistence em minutos, não em meses. O aplicativo continua funcionando no celular.
Começar teste grátisVerificado em