Для AI-агентов: markdown этой страницы — /docs-content/automation/workflows/start.md индекс документации — /llms.txt
Запустить бизнес-процесс
POST /v1/workflows/start
Запускает экземпляр бизнес-процесса по шаблону для CRM-сущности, элемента списка или другого документа Битрикс24. Документ задаётся одной из двух форм: типом и ID для сделки, лида, контакта и компании либо явным идентификатором документа Битрикс24 для остальных.
Поля запроса (body)
Передайте templateId и ровно одну форму документа. Тело с entityType или entityId вместе с documentId отклоняется кодом 400 CONFLICTING_PARAMS.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
templateId |
number | да | ID шаблона бизнес-процесса. Источник: GET /v1/bizproc-templates |
entityType |
string | нет | Тип CRM-сущности: deal, lead, contact, company. Обязателен вместе с entityId, если не передан documentId |
entityId |
number | нет | ID CRM-сущности. Обязателен вместе с entityType, если не передан documentId. Источник: GET /v1/deals, GET /v1/leads, GET /v1/contacts, GET /v1/companies |
documentId |
array | нет | Документ Битрикс24 массивом из трёх непустых строк [модуль, класс, идентификатор]. Обязателен, если не переданы entityType и entityId. Модуль — crm, lists или disk. Идентификатор передаётся строкой: число в третьем элементе отклоняется. Значения для CRM и списков — в таблице ниже |
parameters |
object | нет | Значения параметров шаблона. Набор полей определяется конкретным шаблоном в Битрикс24 |
Значения documentId по модулям:
| Модуль | Класс | Идентификатор | Пример |
|---|---|---|---|
crm |
CCrmDocumentDeal, CCrmDocumentLead, CCrmDocumentContact, CCrmDocumentCompany |
Префикс типа и ID сущности: DEAL_5141, LEAD_12 |
["crm", "CCrmDocumentDeal", "DEAL_5141"] |
lists |
Bitrix\Lists\BizprocDocumentLists |
ID элемента обычного списка. Источник: GET /v1/lists/:iblockId/elements |
["lists", "Bitrix\\Lists\\BizprocDocumentLists", "7147"] |
lists |
BizprocDocument |
ID элемента процесса в ленте новостей, тип инфоблока bitrix_processes. Источник: GET /v1/lists/:iblockId/elements?iblockTypeId=bitrix_processes |
["lists", "BizprocDocument", "7171"] |
Класс — второй элемент documentType шаблона в ответе GET /v1/bizproc-templates, а iblockId для источника элементов — число из третьего элемента iblock_<id>. Передавайте класс как есть: у обычного списка и у процесса в ленте новостей модуль один, lists, а классы разные. Шаблоны читаются только ключом OAuth-приложения. Если запрос шаблонов передаёт select, включите в него moduleId и entity, иначе первые два элемента documentType придут как null.
Класс и идентификатор передаются в Битрикс24 без изменений. В JSON обратная косая черта в имени класса экранируется удвоением, как в примере для Bitrix\Lists\BizprocDocumentLists.
Примеры
curl — личный ключ
curl -X POST https://vibecode.bitrix24.tech/v1/workflows/start \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"templateId":713,"entityType":"deal","entityId":5141}'
curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/workflows/start \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"templateId":713,"entityType":"deal","entityId":5141}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/workflows/start', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
templateId: 713,
entityType: 'deal',
entityId: 5141,
}),
})
const data = await res.json()
console.log(data.data.workflowId)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/workflows/start', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
templateId: 713,
entityType: 'deal',
entityId: 5141,
}),
})
const data = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успешном запуске |
data.workflowId |
string | Уникальный идентификатор запущенного экземпляра бизнес-процесса |
Пример ответа
HTTP 201 Created
{
"success": true,
"data": {
"workflowId": "69f0c2d5ade389.22457798"
}
}
Пример ответа при ошибке
400 — в одном теле переданы обе формы документа:
{
"success": false,
"error": {
"code": "CONFLICTING_PARAMS",
"message": "Pass either { entityType, entityId } OR { documentId }, not both. Pick the shape that matches your target document namespace."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_PARAMS |
Не передан templateId |
| 400 | MISSING_PARAMS |
Не передан documentId, а форма CRM неполная: нет entityType или entityId |
| 400 | CONFLICTING_PARAMS |
entityType или entityId переданы вместе с documentId |
| 400 | INVALID_DOCUMENT_ID |
documentId — не массив, в нём не три элемента, один из элементов пустой или не строка |
| 400 | INVALID_DOCUMENT_ID |
Модуль в documentId не crm, lists и не disk |
| 400 | INVALID_ENTITY_TYPE |
entityType не deal, lead, contact и не company. Для других документов используйте documentId |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Ключ не опознан: такой строки на платформе нет |
| 401 | TOKEN_MISSING |
У ключа нет подключённых токенов Битрикс24 |
| 401 | TOKEN_EXPIRED |
Пользовательская сессия OAuth истекла — повторите авторизацию через /v1/oauth/authorize |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа bizproc |
| 403 | BITRIX_ACCESS_DENIED |
Битрикс24 отказал в доступе |
| 409 | BIZPROC_MODULE_NOT_ENABLED |
Бизнес-процессов на портале нет: модуль не входит в тариф либо выключен в настройках портала. Попросите администратора портала включить бизнес-процессы — до этого метод отвечает так же при любом числе повторов |
| 422 | BITRIX_ERROR |
Шаблон с указанным templateId не найден. В message — Template not found |
| 422 | BITRIX_ERROR |
Класс в documentId не совпадает с типом документа шаблона. В message — Template type and DOCUMENT_ID mismatch! |
| 422 | BITRIX_ERROR |
Документа с идентификатором из третьего элемента documentId нет: документ не существует или вместо его ID передано другое значение, например iblock_<id> из documentType шаблона. В message — Wrong DOCUMENT_ID! |
| 429 | RATE_LIMITED |
Превышен лимит запросов. Повторите через 1–2 секунды |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 недоступен |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Один шаблон — несколько экземпляров. Один и тот же
templateIdможно запустить для разных сущностей одновременно. Каждый запуск получает отдельный уникальныйworkflowId. - Повторный вызов запускает ещё один экземпляр. Запрос с тем же телом не отклоняется и не возвращает уже запущенный процесс: каждый ответ
201означает новый экземпляр над тем же документом. Если запрос мог дойти, но ответ потерян, перед повтором проверьте список запущенных процессов. В нём видны только активные экземпляры: процесс, который уже завершился, туда не попадает. Завершённые экземпляры не возвращает ни один метод API Вайбкод, поэтому пустой список не доказывает, что запуска не было.