
## Модель получателя {#what-is-destination}

Канал (`Channel`) принадлежит аккаунту и содержит Ендпоинты (`Endpoints`). Ендпоинт задаёт URL одного получателя. Канал не принадлежит исключительно одному Серверу: связи с Серверами задают Маршрутизаторы. Прежний термин Destination в старых ссылках относится к этой теме.

## Direct и CLI {#delivery-types}

| Тип Канала | Где выполняется HTTP-вызов | Для какого адреса |
|---|---|---|
| Direct | В регионе принятого запроса | Получатель, доступный из региона |
| CLI | На компьютере с Adal CLI | Локальное или доступное с этого компьютера приложение |

Тип относится ко всему Каналу. Для разных способов создайте разные Каналы. Direct — доставка входящего вебхука; самостоятельная отправка Outbound через API настраивается отдельно.

## Создание Канала и Ендпоинтов {#create-a-destination}

1. Откройте **Inbound → Channels**, форму `/inbound/channels/new`.
2. Выберите **Direct** или **CLI**, задайте имя и при необходимости заметки, нажмите **Create channel**.
3. В открытой карточке в панели **Endpoints** нажмите **Add endpoint**.
4. Введите URL, проверьте интервал, идемпотентность и **Enabled**.
5. Нажмите **Save endpoints**. Обычный **Save** в настройках Канала не сохраняет список Ендпоинтов.

Новый Канал создаётся без Ендпоинтов. Изменения Канала и списка получателей сохраняются отдельными формами.

![Форма создания Канала с полями Type, Name и Notes](/images/docs/inbound/channel-create-en.jpg)

*Создание Канала. Ендпоинты добавляются в отдельной панели после создания. Демонстрационный кабинет, английский интерфейс.* [Открыть полный размер](/images/docs/inbound/channel-create-en.jpg).

## Настройки CLI {#configure-cli-destination}

Для CLI допустим локальный URL, например `http://127.0.0.1:3000/adal`. Он должен быть доступен от процесса CLI, а не от браузера или региона. Поле **Deliver backlog** управляет доставкой новых накопленных запросов после отсутствия клиента; уже сохранённые задания клиент возобновляет по журналу.

Выпустите отдельный секрет в панели CLI-токена этого Канала и запустите [Adal CLI](/ru/docs/inbound/adal-cli). API-токен аккаунта для этого не подходит.

## Настройки Direct {#configure-http-destination}

Используйте HTTPS-URL получателя, доступный из региона. Локальные, приватные и служебные адреса для Direct запрещены, включая `localhost`. Для локальной разработки выбирайте CLI. Подробная проверка — в [Direct](/ru/docs/inbound/direct).

## Связь с Серверами {#server-destinations}

Создайте включённый [Маршрутизатор](/ru/docs/inbound/routers), выберите Серверы и Каналы. Создание Канала само по себе не включает доставку с конкретного Сервера. Один Канал может получать запросы нескольких Серверов.

## Что передаётся {#delivery-process}

При доставке входящий путь добавляется к базовому пути Ендпоинта, а входящий query переносится отдельно. Query в базовом URL запрещён для обоих типов, в том числе пустой завершающий `?`. Транспортные заголовки адаптируются для нового HTTP-соединения: не ожидайте побайтового совпадения всего сетевого пакета или исходного Host.

## Результаты и повторы {#delivery-results-and-retries}

У каждого включённого Ендпоинта собственные попытки. Успех одного не завершает остальных. **Delivery interval (ms)** — интервал доставки, а не настраиваемое расписание retry. Детальные [правила повторов](/ru/docs/common/retries) общие, но состояния получателей независимы.

## История {#delivery-history}

В [карточке входящего запроса](/ru/docs/inbound/requests) откройте Канал из **Deliveries**. Сверьте URL, статус и попытки конкретного Ендпоинта. Исторический URL может отличаться от текущей настройки Канала: отчёт описывает исполнение сохранённого задания.

## Изменение и удаление {#manual-actions}

**Save endpoints** заменяет весь желаемый набор: удаление строки и сохранение удаляют соответствующий Ендпоинт, а пустой набор удаляет все. Перед сохранением проверьте список целиком. Не считайте правку или удаление командой перезапустить завершённые запросы либо гарантированно отменить уже начатый HTTP-вызов.

Смена типа проверяет совместимость сохранённых URL. Переход CLI → Direct отзывает CLI-секрет; обратный переход не выпускает новый автоматически. Канал из Маршрутизатора нельзя удалить (`channel_in_use`): сначала уберите связи. Подтверждение удаления Канала удаляет его Ендпоинты и секреты.

## Idempotency-Key {#idempotency-key}

**Add an idempotency key** включает заголовок `Idempotency-Key` со значением `request_id` во всех попытках. Получатель должен сам обрабатывать этот ключ и защищать бизнес-операции от дублей. Флаг не гарантирует однократный эффект.

## Секреты и адреса {#destination-security}

URL, пути, заметки и HTTP-данные могут раскрывать чувствительную конфигурацию. Не размещайте в документации реальные секреты. Проверяйте подписи провайдеров в своём приложении; настройка Канала их не проверяет вместо вас.

## Границы поведения {#limits-and-behavior}

Новый Ендпоинт начинает получать новые запросы с момента подключения; это не импорт всей истории. Не обещается применение новых настроек задним числом к уже принятому запросу. Проверяйте каждый новый тест на отдельном запросе.

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

Проверьте тип, сохранённый Ендпоинт, **Enabled**, Маршрутизатор и URL. `endpoint_query_not_allowed` означает query в базовом URL; `local_address` у Direct — локальный адрес. Ошибка URL при смене типа требует исправить несовместимый сохранённый URL, а не повторять сохранение без изменений.

## Дальше {#related-pages}

[Маршрутизаторы](/ru/docs/inbound/routers), [Direct](/ru/docs/inbound/direct), [CLI](/ru/docs/inbound/adal-cli), [быстрый старт](/ru/docs/inbound/quickstart).
