Webhooks para a Plataforma do WhatsApp Business

Os Webhooks permitem que você receba notificações HTTP em tempo real sobre mudanças em objetos específicos. Por exemplo, podemos enviar uma notificação quando um usuário envia uma mensagem ou quando o status de um modelo de mensagem é alterado. Isso evita que você tenha que consultar nossas APIs em busca de mudanças em objetos que podem ou não ter acontecido. Além disso, os Webhooks também ajudam a evitar que você atinja seu limite de volume.

Este documento fornece uma visão geral de Webhooks e da sua aplicabilidade à API de Gerenciamento do WhatsApp Business, à API de Nuvem da Plataforma do WhatsApp Business e à API Local da Plataforma do WhatsApp Business.

Objetos, campos e valores

Cada API pode ter múltiplos tipos de objetos, por isso, sempre que configurar um Webhook, você deve primeiro escolher um tipo de objeto. Como os campos variam dependendo do objeto, é preciso assinar campos específicos para cada tipo de objeto. Você receberá uma notificação sempre que houver alterações no valor de campos de objeto assinados por você.

As notificações são enviadas como solicitações POST HTTP e contêm uma carga JSON que descreve a alteração.

Webhooks disponíveis

A seguinte tabela apresenta as informações que você pode receber de Webhooks.

APIObjetos

API de Nuvem

  • Um cliente realiza uma ação, como responder a uma mensagem comercial
  • Um cliente atualiza o número de telefone
  • Uma mensagem é enviada por uma empresa, entregue ao cliente ou lida pelo cliente, incluindo informações de preços
  • Um erro ocorre em uma mensagem

API Local

  • Um cliente realiza uma ação, como responder a uma mensagem comercial
  • Um cliente atualiza o número de telefone
  • Uma mensagem é enviada por uma empresa, entregue ao cliente ou lida pelo cliente, incluindo informações de preços
  • Um erro ocorre em uma mensagem

API de Gerenciamento do WhatsApp Business

  • Alterações nos status da conta comercial oficial e do nome de exibição
  • A alteração de status em uma análise de conta do WhatsApp Business
  • Uma informação de conta do WhatsApp Business foi atualizada, incluindo violações de política
  • Os recursos de uma conta do WhatsApp Business foram alterados, como uma mudança no número de conversas por número de telefone
  • Um modelo de mensagem foi aprovado, rejeitado ou desabilitado
  • O nome de exibição associado a um número de telefone foi aprovado ou rejeitado
  • O status relacionado a qualidade de um número de telefone mudou

Exemplo de notificação por mensagem de texto

Os seguintes exemplos representam uma notificação do Webhook enviada quando um usuário envia uma mensagem de texto.

API de Nuvem

Para a API de Nuvem, o objeto sempre é whatsapp_business_account, mas o field será indicativo do tipo de informação enviada.

{
  "object": "whatsapp_business_account",
  "entry": [{
    "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
    "changes": [{
      "value": {
        "messaging_product": "whatsapp",
        "metadata": {
          "display_phone_number": PHONE_NUMBER,
          "phone_number_id": PHONE_NUMBER_ID
        },
        "contacts": [{
          "profile": {
            "name": "NAME"
          },
          "wa_id": PHONE_NUMBER
        }],
        "messages": [{
          "from": PHONE_NUMBER,
          "id": "wamid.ID",
          "timestamp": TIMESTAMP,
          "text": {
            "body": "MESSAGE_BODY"
          },
          "type": "text"
        }]
      },
      "field": "messages"
    }]
  }]
}

API Local

Para a API Local, como o cliente está enviando o Webhook em vez da Meta, o objeto será contacts e messages, errors ou statuses e pricing.

{
  "contacts": [{
    "profile": {
      "name": "NAME"
    },
    "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID"
  }],
  "messages":[{
    "from": "PHONE_NUMBER",
    "id": "wamid.ID",
    "timestamp": "TIMESTAMP",
    "text": {
      "body": "MESSAGE_BODY"
    },
    "type": "text"
  }]
} 

Servidor HTTPS

Todos os webhooks são enviados usando HTTPS. Por isso, seu servidor precisa ser capaz de receber e processar solicitações HTTPS, além de ter um certificado TLS/SSL válido instalado. Os certificados autoatribuídos não são compatíveis.

Próximas etapas

  • Introdução: determine qual API é melhor para sua empresa.
  • Nomes de exibição: configure o nome da empresa exibido nas mensagens do WhatsApp.
  • Número de telefone: associe um número de telefone à sua conta do WhatsApp Business.
  • Preços: saiba mais sobre preços e configurações de pagamento.