Для AI-агентов: markdown этой страницы — /docs-content/entities/bizproc-robots/create.md индекс документации — /llms.txt
Зарегистрировать робота
POST /v1/bizproc-robots
Регистрирует нового робота автоматизации в Битрикс24. Поля передаются плоско в корне JSON — без обёртки fields.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
code |
string | да | Уникальный код робота. Разрешены символы a-z, A-Z, 0-9, ., -, _. Становится идентификатором робота в путях обновления и удаления |
name |
string | object | да | Название робота. Строка или локализованный объект вида {"ru": "...", "en": "..."} |
handler |
string | да | URL обработчика. Домен должен совпадать с доменом приложения |
documentType |
array | нет | Тип документа [модуль, объект, тип]. Значения:["crm", "CCrmDocumentLead", "LEAD"] — лиды["crm", "CCrmDocumentDeal", "DEAL"] — сделки["crm", "Bitrix\\Crm\\Integration\\BizProc\\Document\\Quote", "QUOTE"] — предложения["crm", "Bitrix\\Crm\\Integration\\BizProc\\Document\\SmartInvoice", "SMART_INVOICE"] — счета["crm", "Bitrix\\Crm\\Integration\\BizProc\\Document\\Dynamic", "DYNAMIC_<entityTypeId>"] — смарт-процессы, <entityTypeId> из поля entityTypeId в GET /v1/smart-processes |
description |
string | object | нет | Описание робота. Строка или локализованный объект |
authUserId |
number | нет | Пользователь, чей токен передаётся приложению при вызове робота. Список: GET /v1/users |
useSubscription |
string | нет | Ждать ли ответа приложения перед продолжением правила: Y или N |
properties |
object | нет | Входные параметры робота — поля, которые заполняются в правиле автоматизации |
returnProperties |
object | нет | Выходные параметры робота — значения, которые робот возвращает |
filter |
object | нет | Правила INCLUDE / EXCLUDE по типу документа |
usePlacement |
string | нет | Открывать настройки робота в выдвижной панели: Y или N |
placementHandler |
string | нет | URL выдвижной панели настроек. Обязателен при usePlacement: "Y" |
Примеры
Регистрировать робота можно только ключом авторизации — оба примера отправляют ключ авторизации и заголовок Authorization: Bearer. Токен сессии выдаёт OAuth-авторизация и живёт 24 часа без продления — Передача ключа.
curl — ключ авторизации
curl -X POST "https://vibecode.bitrix24.tech/v1/bizproc-robots" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"code": "deal_notify",
"name": { "ru": "Уведомление по сделке", "en": "Deal notification" },
"handler": "https://app.example.com/robots/deal-notify",
"documentType": ["crm", "CCrmDocumentDeal", "DEAL"],
"useSubscription": "N"
}'
JavaScript — ключ авторизации
const res = await fetch('https://vibecode.bitrix24.tech/v1/bizproc-robots', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
code: 'deal_notify',
name: { ru: 'Уведомление по сделке', en: 'Deal notification' },
handler: 'https://app.example.com/robots/deal-notify',
documentType: ['crm', 'CCrmDocumentDeal', 'DEAL'],
useSubscription: 'N',
}),
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
boolean | true — Битрикс24 подтвердил регистрацию робота. Это признак успеха, а не числовой идентификатор. Идентификатор робота — заданный вами code |
Пример ответа
{
"success": true,
"data": {
"id": true
}
}
Пример ответа при ошибке
403 — запрос отправлен API-ключом:
{
"success": false,
"error": {
"code": "OAUTH_REQUIRED",
"message": "bizproc-robots require an OAuth app key (vibe_app_*) with an Authorization: Bearer session — a personal vibe_api_* key lacks the per-user OAuth context Bitrix24 needs for these methods. Create an OAuth app (POST /v1/apps) and retry with its key. On this 403 switch keys — do NOT delete or recreate the app (that discards anything already registered under it, e.g. a bizproc robot you just registered)."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 403 | OAUTH_REQUIRED |
Запрос отправлен API-ключом. Регистрировать роботов можно только ключом авторизации |
| 401 | TOKEN_MISSING |
Ключ авторизации без заголовка Authorization: Bearer |
| 401 | WRONG_AUTH_SCHEME |
Ключ авторизации отправлен в заголовке Authorization: Bearer. Сам ключ передаётся в X-Api-Key, а Authorization: Bearer несёт токен сессии |
| 401 | INVALID_SESSION |
Токен сессии истёк или недействителен — пройдите авторизацию заново |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа bizproc |
| 400 | MISSING_REQUIRED_FIELDS |
Не передано обязательное поле — code, name или handler |
| 400 | SERVER_APP_MISMATCH |
handler ведёт на субдомен Black Hole, за которым нет сервера этого приложения — субдомена не существует либо сервер принадлежит другому приложению. Регистрируйте обработчик ключом того приложения, к которому привязан сервер |
| 503 | BIZPROC_CALLBACK_RESOLVE_FAILED |
Платформе не удалось сопоставить обработчик с сервером. Робот не зарегистрирован — повторите запрос |
| 422 | BITRIX_ERROR |
Ошибка валидации Битрикс24 — текст в error.message |
Полный список общих ошибок API — Ошибки.
Известные особенности
Обработчик на субдомене Black Hole получает надёжную доставку. Если handler ведёт на субдомен Black Hole вашего приложения, платформа берёт доставку вызовов на себя: ставит их в очередь, будит спящий сервер и повторяет попытки. Битрикс24 при этом хранит адрес приёмника платформы, а не переданный вами, — так и задумано, вызовы всё равно доходят до вашего пути. Обработчик на своём домене платформа не трогает: Битрикс24 обращается к нему напрямую и повторных попыток не делает.
Такой обработчик регистрируется одиночным запросом. Регистрация обработчика на субдомене Black Hole через пакетный вызов отклоняется — платформе нужен одиночный POST, чтобы завести доставку.
Надёжная доставка включается по аккаунтам. Пока она не включена на вашем аккаунте, регистрация проходит как прежде: адрес обработчика остаётся вашим, вызовы приходят напрямую. Отказ SERVER_APP_MISMATCH и запрет пакетной регистрации действуют только при включённой доставке.