Для AI-агентов: markdown этой страницы — /docs-content/entities/crm-tracking/sources-create.md индекс документации — /llms.txt
Создать источник сквозной аналитики
POST /v1/crm-tracking/sources
Создаёт собственный источник сквозной аналитики на портале. Поля передаются в корне JSON без обёртки.
Метод выходит в обновлении
crm 26.2100.0и доступен не на всех порталах Битрикс24. Пока возможность не включена для портала, API возвращает422 METHOD_NOT_YET_AVAILABLE.
Требуется скоуп crm и ключ с правом записи.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
Полеname |
Типstring | Обяз.да | ОписаниеНазвание источника |
Полеcolor |
Типstring | Обяз.нет | ОписаниеЦвет источника в формате #rgb или #rrggbb |
ПолеrefDomains |
Типstring[] | Обяз.нет | ОписаниеСписок доменов перехода |
ПолеutmSources |
Типstring[] | Обяз.нет | ОписаниеСписок значений utm_source |
Других полей тело не принимает. Битрикс24 удаляет внешние пробелы и пустые значения и ограничивает каждый список 100 значениями. API проверяет форму: массив строк.
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/crm-tracking/sources" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Partner campaign",
"color": "#55d0e0",
"refDomains": [
"partner.example.com"
],
"utmSources": [
"partner"
]
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/crm-tracking/sources" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Partner campaign",
"color": "#55d0e0",
"refDomains": [
"partner.example.com"
],
"utmSources": [
"partner"
]
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-tracking/sources', {
method: 'POST',
headers: {
"X-Api-Key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Partner campaign",
"color": "#55d0e0",
"refDomains": [
"partner.example.com"
],
"utmSources": [
"partner"
]
}),
})
const { success, data } = await res.json()
console.log(data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-tracking/sources', {
method: 'POST',
headers: {
"X-Api-Key": "YOUR_APP_KEY",
"Authorization": "Bearer USER_SESSION_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Partner campaign",
"color": "#55d0e0",
"refDomains": [
"partner.example.com"
],
"utmSources": [
"partner"
]
}),
})
const { success, data } = await res.json()
console.log(data.id)
Поля ответа
HTTP 201 при создании.
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | Описаниеtrue при успехе |
Полеdata |
Типobject | ОписаниеРезультат создания |
Полеdata.id |
Типnumber | ОписаниеID источника для чтения |
Пример ответа
Пример структуры ответа, не результат живого вызова.
{
"success": true,
"data": {
"id": 2
}
}
Пример ответа при ошибке
400 — не передано название:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_FIELDS",
"message": "name is required"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодMISSING_REQUIRED_FIELDS |
ОписаниеНе передано name |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеТело не является объектом, в нём есть поле не из таблицы выше, name не строка, color не в формате #rgb или #rrggbb, refDomains или utmSources не массив строк. message называет причину |
| HTTP400 | КодUNKNOWN_FILTER_FIELD |
ОписаниеПередан query-параметр |
| HTTP403 | КодWRITE_BLOCKED_READONLY_KEY |
ОписаниеКлюч разрешает только чтение |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеНет скоупа crm |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеДля ключа не настроены токены |
| HTTP422 | КодMETHOD_NOT_YET_AVAILABLE |
ОписаниеВозможность ещё не включена для портала |
| HTTP502 | КодBITRIX_UNAVAILABLE |
ОписаниеПолучен некорректный ответ Битрикс24 |
Отказы Битрикс24 передаются с его кодом и сообщением. Общие ошибки — Ошибки.