Проверить webhook локально

Отправьте тестовый webhook в локальное приложение через публичный HTTPS-адрес. Затем проверьте запрос и ответ в Инспекторе и повторите запрос после изменения кода.

Перед началом

  • Установите CLI-клиент и подключите его к своему аккаунту с помощью CLI-токена. Аккаунт нужен, чтобы открыть события своего туннеля в Инспекторе.
  • Запустите обработчик, который принимает POST /webhook на 127.0.0.1:3000. Если у вашего приложения другой порт или путь, замените их в примерах.
  • Используйте тестовые данные. Выданный URL доступен извне: обработчик должен проверять подлинность реальных webhook по правилам провайдера.

1. Откройте туннель

fortunnels http 3000

Скопируйте HTTPS-адрес из вывода клиента. Оставьте клиент и локальное приложение запущенными до конца проверки.

2. Отправьте тестовый запрос

В другом терминале задайте TUNNEL_URL, заменив адрес в примере на выданный URL:

TUNNEL_URL='https://your-tunnel.example'
curl -i "$TUNNEL_URL/webhook" \
  -H 'Content-Type: application/json' \
  --data '{"event":"test","id":"guide-test-1"}'

Обработчик должен получить POST /webhook с событием test и ответить кодом 2xx. Проверьте событие в журнале приложения. Если обработчик требует подпись провайдера, отправьте тестовое событие из кабинета провайдера на тот же URL с путём /webhook.

3. Проверьте запрос в Инспекторе

В списке туннелей откройте созданный HTTP-туннель и найдите POST /webhook в Traffic Inspector. Сверьте код ответа, время и доступное тело запроса с журналом приложения.

4. Повторите запрос после исправления

Измените обработчик, откройте сохранённое событие и нажмите Replay request. Если тело не сохранено или обрезано, вставьте тестовый JSON из примера в поле тела запроса. Проверьте новый код ответа и повторное получение события приложением.

Для повтора клиент туннеля должен оставаться подключённым. Заголовки авторизации и cookies не переносятся; для проверки, требующей свежей подписи или учётных данных, отправьте новое тестовое событие от провайдера. Подробнее — повтор webhook-запроса.

Как понять, что всё работает

Приложение получило тестовый запрос, Инспектор показал его ответ, а после повтора обработчик получил событие ещё раз. Теперь можно указать публичный URL с нужным путём в тестовой интеграции провайдера.

Если запрос не прошёл

  • Нет соединения с приложением: проверьте локальный порт и подключение клиента туннеля.
  • 404: проверьте путь обработчика; в примере используется /webhook.
  • 401 или 403: проверьте доступ к туннелю и требования обработчика к подписи или авторизации.
  • События нет в Инспекторе: убедитесь, что туннель создан от имени вашего аккаунта, и отправьте запрос ещё раз.