#CRM Автоматизация
Запускайте CRM-триггеры и бизнес-процессы через API. Автоматизируйте воронку продаж, переводите сделки по стадиям, запускайте цепочки согласований программно.
Скоуп: crm (триггеры), bizproc (бизнес-процессы) | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key
#Разделы документации
- Триггеры — активация CRM-триггеров для сущностей (2 эндпоинта).
- Бизнес-процессы — запуск, мониторинг и управление бизнес-процессами (5 эндпоинтов).
#Быстрый старт
#Активировать CRM-триггер
curl -X POST https://vibecode.bitrix24.tech/v1/triggers/fire \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entityType": "deal",
"entityId": 100,
"triggerId": "payment_received"
}'
Ответ:
{
"success": true,
"data": true
}
Полная документация параметров и кодов ошибок: `POST /v1/triggers/fire`
#Запустить бизнес-процесс
curl -X POST https://vibecode.bitrix24.tech/v1/workflows/start \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": 15,
"entityType": "deal",
"entityId": 100,
"parameters": {
"approver": 1,
"comment": "Согласование скидки 15%"
}
}'
Ответ:
{
"success": true,
"data": {
"workflowId": "67a1b2c3d4e5f6"
}
}
Полная документация параметров и кодов ошибок: `POST /v1/workflows/start`
#Полный пример
Сценарий: сделка перешла в стадию «Оплачено» — активируем CRM-триггер, затем запускаем бизнес-процесс подготовки документов, отправляем событие для продолжения приостановленного процесса, завершаем ненужный экземпляр.
const VIBE_KEY = process.env.VIBE_KEY
const BASE = 'https://vibecode.bitrix24.tech/v1'
async function api(method, path, body = null) {
const opts = {
method,
headers: { 'X-Api-Key': VIBE_KEY }
}
if (body) {
opts.headers['Content-Type'] = 'application/json'
opts.body = JSON.stringify(body)
}
const res = await fetch(`${BASE}${path}`, opts)
return res.json()
}
const dealId = 100
// 1. Сделка оплачена — активируем CRM-триггер
await api('POST', '/triggers/fire', {
entityType: 'deal',
entityId: dealId,
triggerId: 'payment_received'
})
console.log('Триггер "Оплата получена" активирован')
// 2. Запускаем бизнес-процесс подготовки документов
const { data: wf } = await api('POST', '/workflows/start', {
templateId: 22,
entityType: 'deal',
entityId: dealId,
parameters: {
docType: 'act',
sendToClient: true
}
})
console.log('Бизнес-процесс запущен:', wf.workflowId)
// 3. Просматриваем запущенные экземпляры по шаблону
const { data: instances, meta } = await api('GET', '/workflows?templateId=22')
console.log(`Активных процессов по шаблону 22: ${meta.total}`)
for (const instance of instances) {
console.log(` ${instance.ID}: started=${instance.STARTED}`)
}
// 4. Отправляем событие в приостановленный процесс
// eventToken приходит на handler зарегистрированной активити из B24-callback
// (см. /docs/entities/bizproc-activities), здесь — иллюстративное значение
await api('POST', '/workflows/event', {
eventToken: '55c1dc1c3f0d75.67',
returnValues: { approved: true },
logMessage: 'Автоматическое подтверждение — сумма в пределах лимита'
})
console.log('Событие отправлено, процесс продолжен')
// 5. Завершаем ненужный экземпляр
await fetch(`${BASE}/workflows/${wf.workflowId}`, {
method: 'DELETE',
headers: { 'X-Api-Key': VIBE_KEY }
})
console.log('Процесс завершён')
#Справочник эндпоинтов
| Метод | Путь | Bitrix24 метод | Скоуп | Описание |
|---|---|---|---|---|
| POST | `/v1/triggers/fire` | crm.automation.trigger | crm | Активировать CRM-триггер |
| GET | `/v1/triggers` | crm.automation.trigger.list | crm | Список триггеров портала |
| POST | `/v1/workflows/start` | bizproc.workflow.start | bizproc | Запустить бизнес-процесс |
| GET | `/v1/workflows` | bizproc.workflow.instances | bizproc | Список запущенных процессов |
| DELETE | `/v1/workflows/:id` | bizproc.workflow.terminate / kill | bizproc | Завершить бизнес-процесс |
| POST | `/v1/workflows/event` | bizproc.event.send | bizproc | Отправить событие в процесс |
| POST | `/v1/workflows/activity-log` | bizproc.activity.log | bizproc | Записать в журнал процесса |
#Коды ошибок
#Ошибки автоматизации
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_ENTITY_TYPE |
Неизвестный тип сущности в entityType. Поддерживаются: deal, lead, contact, company, quote, invoice |
| 400 | MISSING_PARAMS |
Не переданы обязательные параметры (указаны в поле message ответа) |
| 400 | INVALID_PARAMS |
Некорректное значение параметра (возвращается Битрикс24) |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов Битрикс24 |
| 403 | SCOPE_DENIED |
API-ключ не имеет нужного скоупа: crm для триггеров, bizproc для бизнес-процессов |
| 403 | BITRIX_ACCESS_DENIED |
Портал Битрикс24 отклонил операцию — недостаточно прав на стороне портала |
| 404 | ENTITY_NOT_FOUND |
Сущность или шаблон с указанным ID не найден |
| 422 | BITRIX_ERROR |
Ошибка Битрикс24 REST API (подробности в поле message) |
| 429 | RATE_LIMITED |
Превышен лимит запросов. Подождите 1–2 секунды и повторите |
| 500 | INTERNAL_ERROR |
Внутренняя ошибка сервера |
| 502 | BITRIX_UNAVAILABLE |
Портал Битрикс24 недоступен |
| 504 | QUEUE_TIMEOUT |
Запрос к Битрикс24 ожидал в очереди дольше 30 секунд |
Полный справочник общих ошибок — Ошибки.
#Смотрите также
- Сделки — основная сущность для автоматизации воронки продаж
- Лиды — запуск триггеров и бизнес-процессов для лидов
- Шаблоны бизнес-процессов — список шаблонов для параметра
templateId - Действия бизнес-процессов — регистрация пользовательских действий
- Роботы — регистрация пользовательских роботов
- Ошибки — полный справочник кодов ошибок