As empresas podem fazer integração com webhooks para receber notificações em tempo real sobre alterações em uma conta do WhatsApp Business (WABA, pelas iniciais em inglês), inclusive quando uma empresa violar uma política do WhatsApp. Este guia explica como configurar webhooks para receber essas notificações, de modo que as empresas possam ajustar rapidamente o comportamento para evitar avisos adicionais e/ou ações de monitoramento.
Para usar este guia, é necessário inscrever-se como desenvolvedor da Meta. Depois de se inscrever, configure uma conta do Gerenciador de Negócios e um app da Meta for Developers.
Ao criar seu app da Meta, selecione o tipo Empresa e vincule o novo app ao Gerenciador de Negócios.
Após a criação, adicione o WhatsApp como um produto do app. Para fazer isso, siga estas etapas:
Além disso, verifique se a análise do app foi concluída e a permissão whatsapp_business_management
foi solicitada.
Siga o nosso guia de introdução aos Webhooks para criar o seu ponto de extremidade e configurar os webhooks.
Com o aplicativo, é necessário assinar as notificações de Webhook da conta do WhatsApp Business. Isso pode ser feito de duas formas:
Agora que o aplicativo está inscrito para receber notificações de webhooks sobre a WABA, é possível refinar os tipos de atualização que quer receber. Para acompanhar o status da WABA, selecione a opção account_update. Dessa forma, você receberá uma notificação quando uma WABA violar políticas do WhatsApp.
Para isso, acesse o Painel de Aplicativos e clique na opção Configurações. Você verá a seção Webhooks, com todas as informações fornecidas nas etapas anteriores. Encontre Campos de Webhook e clique em Gerenciar. Uma caixa de diálogo aparecerá, exibindo todos os campos que podem ser assinados. Na opção account_update, clique em "Assinar".
Dessa forma, sempre que a sua WABA violar uma política, você receberá uma notificação semelhante a esta:
{ "object": "whatsapp_business_account", "entry": [ { "id": "whatsapp-business-account-id", "time": 1604703058, "changes": [ { "field": "account_update", "value": { "phone_number": "16505551111", "event": "ACCOUNT_VIOLATION", "violation_info": { "violation_type": "ALCOHOL", } } } ] } ] }
É possível consultar todas as violações de política aqui.
Fique de olho nos webhooks para verificar se há alguma restrição na sua WABA devido a violações de políticas. Se uma restrição for imposta, você receberá um webhook com o campo restriction_info
dentro do objeto "value". O campo restriction_info
lista todas as restrições impostas à conta e quando elas expiram.
A WABA pode receber uma ou mais restrições devido a violações de política. No exemplo abaixo, o webhook informa que uma WABA não poderá adicionar novos números de telefone:
{ "field": "account_update", "value": { "phone_number": "PHONE_NUMBER", "event": "ACCOUNT_RESTRICTION", "restriction_info": [ { "restriction_type": "RESTRICTION_ON_ADD_PHONE_NUMBER_ACTION", "expiration": TIMESTAMP }, ] } }
Aqui, vemos uma WABA que não tem mais permissão para enviar mensagens iniciadas pela empresa:
{ "field": "account_update", "value": { "phone_number": "PHONE_NUMBER", "event": "ACCOUNT_RESTRICTION", "restriction_info": [ { "restriction_type": "RESTRICTED_BIZ_INITIATED_MESSAGING", "expiration": TIMESTAMP }, ] } }
Por fim, vemos uma WABA que não tem mais permissão para responder mensagens iniciadas pelo usuário:
{ "field": "account_update", "value": { "phone_number": "PHONE_NUMBER", "event": "ACCOUNT_RESTRICTION", "restriction_info": [{ "restriction_type": "RESTRICTED_CUSTOMER_INITIATED_MESSAGING", "expiration": TIMESTAMP } ] } }