Вернуться к документации

Доставка напрямую: Direct

Передача принятого вебхука HTTP-получателю из региона: настройка, тест и проверка ошибок.

Открыть как Markdown
На этой странице

Где исполняется Direct

Direct доставляет входящий запрос подключённому Ендпоинту из региона приёма. Компьютер с браузером и CLI для исполнения не нужны. Это не самостоятельная отправка HTTP-задания через Outbound API.

Подготовьте получателя

Нужен тестовый HTTPS-обработчик под вашим контролем, доступный из региона. Для Direct нельзя использовать localhost, приватный IP или служебный адрес. Проверка выполняется и при настройке, и при фактическом подключении; имя, разрешающееся во внутренний адрес, не является обходом.

Получатель должен обрабатывать итоговый путь, получающийся после присоединения входящего пути к базовому URL. Например, база https://receiver.example/adal и входящий /demo требуют обработчика /adal/demo. Адрес .example иллюстративный: замените его своим тестовым URL. Query в базовом URL запрещён.

Подключите доставку

  1. Создайте Сервер в нужном регионе.

  2. Создайте Канал типа Direct.

  3. Добавьте Ендпоинт с тестовым URL, оставьте Enabled и сохраните через Save endpoints.

  4. Создайте включённый Маршрутизатор, связывающий Сервер с этим Каналом.

  5. Убедитесь, что тестовый обработчик возвращает 2xx.

Отправьте новый тест

Скопируйте полный URL Сервера из его карточки и задайте ADAL_SERVER_URL без завершающего слеша. В Bash:

curl --silent --show-error --include \ --request POST "$ADAL_SERVER_URL/demo?source=docs" \ --header 'Content-Type: application/json' \ --data-binary '{"event":"docs.direct","value":1}'

Этот JSON — демонстрационные данные. Ответ Сервера ещё не доказывает доставку: откройте Inbound → Requests, найдите запрос и откройте Канал в Deliveries. Проверьте HTTP-успех Ендпоинта и получение docs.direct у своего обработчика.

Успешный Inbound-запрос с доставкой в демонстрационный Direct-канал

Результат тестовой Direct-доставки в карточке Inbound. Из Deliveries откройте Канал, чтобы проверить отдельные HTTP-попытки; получение события сверяйте у своего обработчика. Интерфейс на английском. Открыть скриншот в полном размере.

Проверьте неуспех

Только для тестового получателя настройте временный ответ 503 и отправьте новое демонстрационное событие. В карточке нового запроса изучите ошибку и последующие попытки. Верните 2xx, дождитесь готовой попытки по расписанию и повторно откройте отчёт. Не ожидайте немедленного retry по обновлению страницы.

Что приходит получателю

Передаются метод, тело, путь и query по правилам доставки. Транспортные заголовки, Host и Content-Length формируются для нового соединения; клиент также задаёт свои служебные заголовки. Direct не следует HTTP-redirect автоматически: укажите окончательный URL обработчика, а не страницу с перенаправлением.

Если включён флаг идемпотентности Ендпоинта, Idempotency-Key содержит идентификатор принятого запроса. Получатель должен сам защищаться от повторных эффектов.

Изменение конфигурации

Новый Ендпоинт не получает всю историю до подключения. Возобновление прежней работы и появление нового получателя — разные случаи. В истории показан URL получателя, использованный при доставке; правка Канала не переписывает историю. Не считайте отключение маршрута гарантией отмены уже начатого HTTP-вызова.

Разбор ошибки

Проверьте полный путь, доступность из региона, сертификат HTTPS, конечный HTTP-код и отсутствие перенаправления. Локальный сервис подключайте через CLI. Расписание и пределы попыток — в общих правилах, срок доступности данных — в хранении.

Связанная документация