Создание конечной точки веб-перехватчика | Документация для разработчиков
Создайте конечную точку веб-перехватчика
Обновлено: 7 ноября 2025 г
Изучите запросы и ответы веб-перехватчиков, чтобы настроить собственную конечную точку веб-перехватчика на общедоступном сервере.
Прежде чем использовать ваше приложение в производственной среде, необходимо создать и настроить собственную конечную точку веб-перехватчика на общедоступном сервере, который может принимать и обрабатывать запросы GET и POST, а также проверять и перехватывать данные веб-перехватчика.
TLS/SSL
На сервере конечной точки веб-перехватчика должен быть установлен и правильно настроен цифровой сертификат безопасности TLS или SSL. Самоподписанные сертификаты не поддерживаются.
mTLS
Инструкции по включению и использованию mTLS см. в документе Graph API, посвященном mTLS для веб-хуков
Обратите внимание, что включение и отключение mTLS не поддерживается на уровне WABA или номера корпоративного телефона. Если к платформе обращается более одного приложения, вам потребуется включить mTLS для каждого приложения.
GET-запросы
GET-запросы используются для проверки вашей конечной точки веб-перехватчика. Каждый раз, когда вы устанавливаете или редактируете «URL-адрес обратного вызова» или поле «Проверить токен» на панели управления приложения, Meta отправляет GET-запрос на вашу конечную точку веб-перехватчика. Вы должны проверить этот запрос и ответить на него.
Параметры запроса
| Заполнитель | Описание | Пример значения |
|---|---|---|
<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-запросы
Параметры запроса
<CALLBACK_URL>https://www.luckyshrub.com/webhooks<CONTENT_LENGTH>492<JSON_PAYLOAD><SHA256_PAYLOAD_HASH>b63bb356dff0f1c24379efea2d6ef0b2e2040853339d1bcf13f9018790b1f7d2Проверка
X-Hub-Signature-256sha256=Ответ
Группировка
Настройка веб-хуков
После создания конечной точки веб-перехватчика перейдите в Панель управления приложениями > WhatsApp > конфигурации и добавьте URL-адрес конечной точки веб-перехватчика в «URL-адрес обратного вызова» , а строку подтверждения — в «Подтверждение токена» .
Обратите внимание, что если вы создали приложение, используя взаимодействия с клиентами через WhatsApp , перейдите в Панель управления приложениями > Сценарии использования > Настройка > Конфигурация .

Если ваша конечная точка веб-перехватчика корректно отвечает на GET-запросы проверки веб-перехватчика, панель сохранит ваши изменения, и появится список полей, на которые вы можете подписаться. Затем вы можете подписаться на любые поля , которые соответствуют вашим бизнес-потребностям.
Обратите внимание, что в качестве альтернативного метода для настройки веб-хуков можно использовать POST Application Subscriptions , но для этого требуется токен приложения . Инструкции по настройке см. в документации Graph API настройке подписок , а в качестве значения объекта используйте whatsapp_business_account.