Создание конечной точки веб-перехватчика | Документация для разработчиков
Создайте конечную точку веб-перехватчика
Обновлено: 7 ноября 2025 г
Изучите запросы и ответы веб-перехватчиков, чтобы настроить собственную конечную точку веб-перехватчика на общедоступном сервере.
Прежде чем использовать ваше приложение в производственной среде, необходимо создать и настроить собственную конечную точку веб-перехватчика на общедоступном сервере, который может принимать и обрабатывать запросы GET и POST, а также проверять и перехватывать данные веб-перехватчика.
TLS/SSL
На сервере конечной точки веб-перехватчика должен быть установлен и правильно настроен цифровой сертификат безопасности TLS или SSL. Самоподписанные сертификаты не поддерживаются.
mTLS
Веб-хуки поддерживают взаимное TLS (mTLS) для повышения безопасности. См. график APIAPIс mTLS для вебхуков Документ, содержащий инструкции по включению и использованию mTLS.
Обратите внимание, что включение и отключение mTLS не поддерживается на уровне WABA или номера корпоративного телефона. Если к платформе обращается более одного приложения, вам потребуется включить mTLS для каждого приложения.
GET-запросы
GET-запросы используются для проверки вашей конечной точки веб-перехватчика. Каждый раз, когда вы устанавливаете или редактируете «URL-адрес обратного вызова» или «Проверить токен» поле на панели управления приложения, Meta отправляет GET-запрос на вашу конечную точку веб-перехватчика. Вы должны проверить этот запрос и ответить на него.
Запрос
синтаксис
ПОЛУЧАТЬ<CALLBACK_URL> ?hub.mode=subscribe &hub.challenge=<HUB.CHALLENGE> &hub.verify_token=<HUB.VERIFY_TOKEN>
Параметры запроса
<CALLBACK_URL>URL-адрес конечной точки вашего веб-перехватчика.
Добавьте этот URL-адрес в «URL-адрес обратного вызова» на панели управления приложения при настройке веб-хуков .
https://www.luckyshrub.com/webhooks<HUB.CHALLENGE>Случайная строка, сгенерированная Meta.
1158201444<HUB.VERIFY_TOKEN>Вы можете выбрать любую строку подтверждения. Сохраните эту строку на своем сервере.
Добавьте эту строку в «Проверить токен» на панели управления приложения при настройке веб-хуков .
вибекодированиеПроверка
Для проверки GET-запросов сравните
hub.verify_token в запросе со строкой подтверждения, хранящейся на вашем сервере. Если значения совпадают, запрос считается действительным, в противном случае — недействительным.Ответ
Если запрос действителен, ответьте HTTP-статусом
200 и hub.challenge . Если запрос недействителен, ответьте HTTP-статусом уровня 400 или любым другим значением, кроме статуса 200.При настройке веб-хуковMeta отправит GET-запрос на вашу конечную точку веб-хука. Если запрос вернет статус
200 и hub.challenge , Meta посчитает вашу конечную точку веб-хука проверенной и начнет отправлять вам веб-хуки. Однако если ваша конечная точка веб-хука ответит чем-либо другим, Meta посчитает вашу конечную точку веб-хука непроверенной, и веб-хуки на вашу конечную точку отправляться не будут.POST-запросы
При каждом срабатывании события веб-перехватчика для любого из полей веб-перехватчика, на которые вы подписаны, на вашу конечную точку веб-перехватчика будет отправлен POST-запрос, содержащий JSON-данные, описывающие событие.
Запрос
синтаксис
ПОЧТА<CALLBACK_URL> Content-Type: application/json X-Hub-Signature-256: sha256=<SHA256_PAYLOAD_HASH> Длина контента:<CONTENT_LENGTH><JSON_PAYLOAD>
Параметры запроса
<CALLBACK_URL>URL-адрес конечной точки вашего веб-перехватчика.
https://www.luckyshrub.com/webhooks<CONTENT_LENGTH>Длина содержимого в байтах.
492<JSON_PAYLOAD>Содержимое тела сообщения, отформатированное в формате JSON.
см «Поля» Примеры полезных нагрузок
<SHA256_PAYLOAD_HASH>Хэш HMAC-SHA256, вычисленный с использованием содержимого тела сообщения и приложения секретного ключа
b63bb356dff0f1c24379efea2d6ef0b2e2040853339d1bcf13f9018790b1f7d2Проверка
Для подтверждения запроса:
Сгенерируйте хеш HMAC-SHA256, используя JSON-данные в качестве входных данных сообщения и секретный ключ вашего приложения в качестве секретного ключа. Сравните сгенерированный хеш с хешем, присвоенным
X-Hub-Signature-256 (все, что находится после sha256=).Если хеши совпадают, полезная нагрузка действительна. Захватите полезную нагрузку и обработайте её содержимое в соответствии с потребностями бизнеса. Если они не совпадают, считайте полезную нагрузку недействительной.
Обратите внимание, что мы не предоставляем API для получения исторических данных веб-хуков, поэтому собирайте и сохраняйте данные веб-хуков соответствующим образом.
Ответ
Если запрос действителен, ответьте HTTP-статусом 200. В противном случае ответьте HTTP-статусом уровня 400 или любым другим статусом, кроме 200.
Группировка
POST-запросы объединяются и отправляются пакетом, содержащим максимум 1000 обновлений. Однако гарантировать пакетную обработку невозможно, поэтому обязательно настройте свои серверы для обработки каждого POST-запроса индивидуально.
Если какой-либо POST-запрос, отправленный на ваш сервер, не удастся выполнить, мы немедленно повторим попытку, а затем попробуем еще несколько раз с уменьшающейся частотой в течение следующих 36 часов. В таких случаях ваш сервер должен обрабатывать дедупликацию.
Ответы, на которые не будет получено подтверждение, будут удалены через 36 часов.
Настройка веб-хуков
После создания конечной точки веб-перехватчика перейдите в Панель управления приложениями > WhatsApp > конфигурации и добавьте URL-адрес конечной точки веб-перехватчика в «URL-адрес обратного вызова» , а строку подтверждения — в «Подтверждение токена» .
Обратите внимание, что если вы создали приложение, используя взаимодействия с клиентами через WhatsApp , перейдите в Панель управления приложениями > Сценарии использования > Настройка > Конфигурация .

Если ваша конечная точка веб-перехватчика корректно отвечает на GET-запросы проверки веб-перехватчика, панель сохранит ваши изменения, и появится список полей, на которые вы можете подписаться. Затем вы можете подписаться на любые поля , которые соответствуют вашим бизнес-потребностям.
Обратите внимание, что вы можете использовать Подписки на приложения POST В качестве альтернативного метода можно использовать конечную точку для настройки веб-хуков, но это требует использования токен приложенияСм. график APIAPIс Преимущества подписок Чтобы узнать, как это сделать, ознакомьтесь с документом и используйте значение объекта whatsapp_business_account.