Настройка Webhooks

Блог WhatsApp Business

Подпишитесь на Webhooks, чтобы получать уведомления о сообщениях, которые отправляются вашей компании, и об обновлениях профилей клиентов.

Создание конечной точки

Чтобы получать уведомления, вам сначала необходимо создать конечную точку на своем сервере, позволяющую выполнять эту операцию.

Конечная точка должна обрабатывать два типа HTTPS-запросов: запросы подтверждения и уведомления о событиях. Так как запросы обоих типов используют протокол HTTPS, на вашем сервере должен быть настроен и установлен действующий сертификат TLS или SSL. Самозаверенные сертификаты не поддерживаются.

Подробную информацию о запросах подтверждения и уведомлениях о событиях см. в этой статье

Настройка Webhooks не повлияет на номер телефона в приложении WhatsApp Business. Вы не сможете использовать этот номер в приложении WhatsApp Business, только когда перенесете его на платформу WhatsApp Business.

Подписка на Webhooks

Чтобы подписаться на Webhooks, необходимо получить ID приложения Meta и разрешения. Для этого перейдите на панель приложений Meta. Там вы сможете:

  1. Создать бизнес-приложение на панели приложений Meta .
  2. Добавить продукт Webhooks в свое приложение Meta на панели приложений .

    Для каждого приложения Meta может быть одновременно настроена только одна конечная точка. Если вам нужно отправлять обновления Webhooks на разные конечные точки, создайте несколько приложений Meta.

Партнерам по решениям, возможно, понадобится:

  1. Добавить разрешение whatsapp_business_messaging в панель приложения.
  2. Пройти проверку приложения Meta . На это потребуется время, но во время процесса проверки вы можете продолжать тестирование.

Принципы работы Webhooks

Когда происходит событие-триггер, платформа WhatsApp Business обнаруживает его и отправляет уведомление на URL Webhook, указанный вами раннее. Можно получать два типа уведомлений:

  • Полученные сообщения: это оповещение о том, что вам пришло сообщение. В документации они также могут называться "входящими сообщениями".
  • Уведомления о статусе и расценках: это оповещение о том, что статус сообщения изменился — например, сообщение было прочитано или доставлено. В документации они также могут называться "исходящими сообщениями".

Все Webhooks имеют следующий общий формат:

{
  "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"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

Информацию о каждом поле см. в разделе Компоненты.

При поступлении сообщения, которое не поддерживается для облачного API, будет получен объект Webhooks неизвестного сообщения.

Размер полезной нагрузки

Полезная нагрузка Webhooks может занимать до 3 МБ.

Конечные точки тестового приложения

Создайте конечную точку тестового приложения, чтобы протестировать Webhooks.

Сбой доставки Webhooks

Если мы отправляем запрос Webhooks на вашу конечную точку, а ваш сервер указывает в ответе код состояния HTTP, отличный от 200, либо если мы не можем доставить Webhooks по другой причине, мы будем продолжать попытки с уменьшающейся частотой в течение 7 дней, пока запрос не завершится успехом.

Обратите внимание: повторные запросы отправляются всем приложениям, которые подписались на Webhooks (и их соответствующие поля) для аккаунта WhatsApp Business. Это может привести к дублированию уведомлений Webhooks.

IP-адреса

Вы можете получить список IP-адресов наших серверов Webhooks, выполнив в терминале следующую команду:

whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort

Эти IP-адреса периодически меняются, поэтому, если вы включили наши серверы в свой список разрешений, возможно, вам потребуется время от времени генерировать список IP-адресов заново и соответствующим образом обновлять свой список разрешений.

Дальнейшие действия

Узнайте больше об информации, которую вы можете получить в уведомлении Webhooks.