> **Методы в процессе раскатки — выходят в обновлении `crm 26.2100.0`.** Доступны не на всех порталах Битрикс24. Пока метод не доступен, API вернёт `422 METHOD_NOT_YET_AVAILABLE`.

# Источники и каналы сквозной аналитики

Источники связывают посещения с рекламными кампаниями и переходами. Можно читать встроенные источники, настраивать их по коду и создавать свои. Каналы показывают, какие способы привлечения настроены на портале.

Битрикс24 API: `crm.tracking.source.*`, `crm.tracking.channel.list`
Скоуп: `crm`

Для работы нужны флаг `crm-tracking-v3` и включённая возможность сквозной аналитики REST v3 на портале Битрикс24. Чтение разрешено ключу `READONLY`, запись требует `READWRITE`.

## Операции

- [POST /v1/crm-tracking/sources — создать источник](/docs/entities/crm-tracking/sources-create)
- [GET /v1/crm-tracking/sources — список источников](/docs/entities/crm-tracking/sources-list)
- [GET /v1/crm-tracking/sources/:id — получить источник](/docs/entities/crm-tracking/sources-get)
- [GET /v1/crm-tracking/sources/by-code/:code — получить встроенный источник](/docs/entities/crm-tracking/sources-get)
- [PATCH /v1/crm-tracking/sources/:id — изменить источник](/docs/entities/crm-tracking/sources-update)
- [PATCH /v1/crm-tracking/sources/by-code/:code — изменить встроенный источник](/docs/entities/crm-tracking/sources-update)
- [POST /v1/crm-tracking/sources/:id/archive — архивировать](/docs/entities/crm-tracking/sources-archive)
- [POST /v1/crm-tracking/sources/by-code/:code/archive — архивировать по коду](/docs/entities/crm-tracking/sources-archive)
- [POST /v1/crm-tracking/sources/:id/unarchive — вернуть из архива](/docs/entities/crm-tracking/sources-unarchive)
- [POST /v1/crm-tracking/sources/by-code/:code/unarchive — вернуть по коду](/docs/entities/crm-tracking/sources-unarchive)
- [GET /v1/crm-tracking/channels — список каналов](/docs/entities/crm-tracking/channels-list)

- [GET /v1/crm-tracking/sources/:id/expenses — список ручных расходов](/docs/entities/crm-tracking/expenses-list)
- [POST /v1/crm-tracking/sources/:id/expenses — добавить ручные расходы](/docs/entities/crm-tracking/expenses-create)
- [DELETE /v1/crm-tracking/expenses/:id — удалить ручные расходы](/docs/entities/crm-tracking/expenses-delete)
- [GET /v1/crm-tracking/analytics/sources — отчёт по источникам](/docs/entities/crm-tracking/analytics-sources-list)
- [GET /v1/crm-tracking/sources/:id/ad-account/authorization — Получить ссылку авторизации](/docs/entities/crm-tracking/ad-account-authorization)
- [GET /v1/crm-tracking/sources/:id/ad-accounts — Список рекламных кабинетов](/docs/entities/crm-tracking/ad-account-list)
- [POST /v1/crm-tracking/sources/:id/ad-account — Подключить рекламный кабинет](/docs/entities/crm-tracking/ad-account-connect)
- [DELETE /v1/crm-tracking/sources/:id/ad-account — Отключить рекламный кабинет](/docs/entities/crm-tracking/ad-account-disconnect)
- [GET /v1/crm-tracking/sources/:id/ad-tree — Читать дерево рекламы](/docs/entities/crm-tracking/ad-tree-list)
- [POST /v1/crm-tracking/sources/:id/ad-expenses — Выполнить шаг отчёта о расходах](/docs/entities/crm-tracking/ad-expenses-start)
- [GET /v1/crm-tracking/sources/:id/ad-expenses — Прочитать прогресс отчёта](/docs/entities/crm-tracking/ad-expenses-get-status)

## Ключевые поля

| Поле | Описание |
|---|---|
| `id` | Идентификатор записи из [списка источников](/docs/entities/crm-tracking/sources-list). `null` у ненастроенного встроенного источника. |
| `code` | Код встроенного источника из [списка источников](/docs/entities/crm-tracking/sources-list), например `google`. У своего источника — `null`. |
| `kind` | `builtIn` — встроенный, `own` — свой. |
| `isActive` | Признак активности. Архивные записи читаются с `archived=true`. |
| `refDomains`, `utmSources` | Домены переходов и значения UTM-источника. Запись заменяет переданный список целиком. |

## Что нужно знать перед работой

1. Источник адресуется ровно одним значением: числовым `id` или строковым `code` в пути. Второй адрес в запросе не принимается.
2. Первое изменение встроенного источника по коду создаёт запись. Отсутствующий идентификатор не означает отсутствие самого встроенного источника.
3. По умолчанию список содержит активные и ненастроенные встроенные источники. `archived=true` выбирает архивные записи.
4. Создание возвращает `data.id`, изменение — перечитанный источник. Архивирование и возврат идемпотентны и отвечают `204` без тела. Трейсы и расходы сохраняются.
5. Ограничения на изменение встроенных источников и права проверяет Битрикс24. Названия и коды в ответах — данные портала.

## Типичный сценарий

1. Прочитать [источники](/docs/entities/crm-tracking/sources-list) и [каналы](/docs/entities/crm-tracking/channels-list).
2. [Создать источник](/docs/entities/crm-tracking/sources-create) с названием и значениями UTM-источника.
3. [Изменить источник](/docs/entities/crm-tracking/sources-update), передав только изменяемые поля.
4. [Отправить источник в архив](/docs/entities/crm-tracking/sources-archive) и при необходимости [вернуть](/docs/entities/crm-tracking/sources-unarchive).

## Лимиты

| Ограничение | Значение |
|---|---|
| Размер страницы | `limit`: от 1 до 500, по умолчанию 50. |
| Смещение | `offset`: неотрицательное целое, по умолчанию 0. Один запрос читает одну страницу. |
| Списки доменов и UTM-источников | До 100 значений в каждом, проверяет Битрикс24. |
| Имя и отдельное значение списка | До 255 символов, проверяет Битрикс24. |
| Фильтр источников | Только `archived=true` или `false`. Сортировка не задаётся. |
| Каналы | Без фильтра и сортировки, с `limit` и `offset`. |

## Смотрите также

- [Трейсы сквозной аналитики](/docs/entities/crm-traces)
- [Авторизация](/docs/keys-auth)
- [Ошибки](/docs/errors)
