Проверить 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: проверьте доступ к туннелю и требования обработчика к подписи или авторизации.- События нет в Инспекторе: убедитесь, что туннель создан от имени вашего аккаунта, и отправьте запрос ещё раз.