Перейти к основному содержимому

Создание тестовой конечной точки веб-перехватчика | Документация для разработчиков

Создайте тестовую конечную точку веб-перехватчика

Обновлено: 7 ноября 2025 г
Если вы пока не готовы создать собственную конечную точку веб-перехватчика, вы можете развернуть тестовое приложение веб-перехватчика на Render.com , которое будет принимать запросы веб-перехватчика и выводить их содержимое в консоль Render.
Используйте это приложение только в целях тестирования.

Требования

    Аккаунт Render .Аккаунт на GitHub .

    Шаг 1: Создайте репозиторий GitHub

    Войдите в свою учетную запись GitHub и создайте новый репозиторий (публичный или приватный) с именем на ваш выбор. Внутри репозитория создайте app.js и вставьте в него следующий код:
    // Импорт Express.js const express = require ( 'express' ); // Создание приложения Express const app = express ( ); //  для разбора JSON-тел app.use ( express.json ( )); // Установка порта и verify_token const port = process.env.PORT || 3000 ; const verifyToken = process.env.VERIFY_TOKEN ; // Маршрутизация для GET - запросов app . get ( '/' , ( req , res ) = > { const { ' hub.mode' : mode , 'hub.challenge' : challenge , 'hub.verify_token' : token } = req.query ; if ( mode === 'subscribe' && token === verifyToken ) { console.log (  WEBHOOK VERIFIED' ); res.status ( 200 ) .send ( challenge ) ; } else { res.status ( 403 ) .end (); } } ) ; // Маршрут для POST- запросов app . post ( '/' , ( req , res ) = > { const timestamp = new Date (). toISOString (). replace ( 'T' , ' ' ) .slice ( 0 , 19 ); console.log (  n \  { timestamp}\n` ); console.log ( JSON.stringify ( req.body , null , 2 )); res.status ( 200 ) .end  ) ; }); // Запуск сервера app.listen ( port , () = > { console.log ( ` \ nListening on port ${port}\n` ) ; } ) ;

    Шаг 2: Разверните приложение Node Express в Render

    Следуйте инструкциям Render по развертыванию приложения Node Express но с учетом следующих отличий:
      Пропустите шаг 1Для шага 3 используйте следующие настройки:
        Команда сборки: npm install expressКоманда запуска: node app.jsВ «Переменные среды» добавьте переменную VERIFY_TOKEN и присвойте ей значение по вашему выбору (например, vibecode ).
        Когда закончите, нажмите «Развернуть веб-сервис» . Это переведет вас в журнал приложения, где вы увидите процесс сборки вашего приложения, который может занять несколько минут. Вы поймете, что сборка завершена, когда увидите в журнале сообщение «Ваш сервис запущен».
        Скопируйте URL-адрес вашего развернутого тестового приложения веб-перехватчика, который отображается в верхней части страницы под названием вашего репозитория GitHub. (Если вы попытаетесь просмотреть URL-адрес, вы получите ошибку 403, что вполне ожидаемо).

        Шаг 3: Добавьте URL-адрес вашего тестового приложения веб-перехватчика в ваше приложение Meta

        Откройте новое окно/вкладку и перейдите в раздел «Панель управления (мета) приложения» > WhatsApp > «Веб-хуки» > конфигурации» .
        Вставьте URL-адрес вашего тестового веб-перехватчика в «URL-адрес обратного вызова» , добавьте строку переменной среды VERIFY_TOKEN «Проверить токен» , затем нажмите «Проверить» и сохраните .
        Если проверка прошла успешно, панель управления приложения Meta обновится, и вы увидите список полей веб-перехватчика, на которые можно подписаться.
        Если вы еще этого не сделали, подпишитесь на сообщений
        Кроме того, если в журнале приложения Render вы видите сообщение «WEBHOOK VERIFIED», это означает, что URL-адрес вашего тестового приложения веб-перехватчика успешно проверен.

        Шаг 4: Отправьте тестовое сообщение

        настроек приложения Meta , вернувшись на панель управления, прокрутите вниз до сообщений» , подпишитесь на это поле, если вы еще этого не сделали, а затем нажмите «Тест» .
        Это отправит тестовое сообщение в ваше тестовое приложение веб-перехватчика. Убедитесь, что оно отображается в журнале приложения Render с сообщением «Webhook received», за которым следует тестовая полезная нагрузка в формате JSON:

        Поиск неисправностей

        Если веб-перехватчик тестовых сообщений не отображается в журнале панели управления приложения Render:
          Убедитесь, что вы успешно добавили URL-адрес вашего тестового приложения веб-перехватчика в ваше приложение Meta (Шаг 3).Убедитесь, что ваше приложение подписано на сообщений .Убедитесь, что вы отправляете для сообщений ; некоторые тестовые веб-хуки работают только в рабочем режиме вашего приложения, а другие — только в режиме разработки ( сообщений работают в обоих режимах).