
## Где исполняется Direct {#overview}

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

## Подготовьте получателя {#recipient}

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

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

## Подключите доставку {#setup}

1. Создайте [Сервер](/ru/docs/inbound/servers) в нужном регионе.
2. Создайте [Канал](/ru/docs/inbound/destinations) типа **Direct**.
3. Добавьте Ендпоинт с тестовым URL, оставьте **Enabled** и сохраните через **Save endpoints**.
4. Создайте включённый [Маршрутизатор](/ru/docs/inbound/routers), связывающий Сервер с этим Каналом.
5. Убедитесь, что тестовый обработчик возвращает `2xx`.

## Отправьте новый тест {#verify}

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

```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-канал](/images/docs/inbound/request-success-en.jpg)

*Результат тестовой Direct-доставки в карточке Inbound. Из Deliveries откройте Канал, чтобы проверить отдельные HTTP-попытки; получение события сверяйте у своего обработчика. Интерфейс на английском.* [Открыть скриншот в полном размере](/images/docs/inbound/request-success-en.jpg).

## Проверьте неуспех {#failure}

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

## Что приходит получателю {#http}

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

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

## Изменение конфигурации {#changes}

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

## Разбор ошибки {#troubleshooting}

Проверьте полный путь, доступность из региона, сертификат HTTPS, конечный HTTP-код и отсутствие перенаправления. Локальный сервис подключайте через [CLI](/ru/docs/inbound/adal-cli). Расписание и пределы попыток — [в общих правилах](/ru/docs/common/retries), срок доступности данных — [в хранении](/ru/docs/common/storage).
