Найти в Дзене
Битрикс24 изнутри

Запуск бизнес-процесса через REST

Хотите запустить бизнес-процесс через REST в Битрикс24? В теории просто: прочитал документацию, выполнил метод и вуа-ля! А вот на деле совершенно иначе: документации по подходам с примерами почти нет, параметры метода не описаны, а пример написан на JS для выполнения в браузере. Шикарно, не правда ли? Давайте разбираться вместе.

Создание входящего веб-хука для битрикс24
Создание входящего веб-хука для битрикс24

Предположим, что мы уже изучили заметки (документацией язык не поворачивается назвать) по бизнес-процессам и уже знает что запустить его можно через методы bizproc.workflow.start, который вроде даже как-то задокументирован. Все просто и нам понадобится только несколько параметров:

  • Идентификатор шаблона БП
  • Идентификатор документа БП
  • Значения параметров БП (если шаблон с параметрами)

Все же ясно и понятно?

Для начала разберемся с тем что такое бизнес-процесс по сути: это последовательность действий выполняемая в заранее определенном порядке над объектом бизнес-процесса.

Как это работает? Бизнес-процесс получает шаблон и фиксирует его экземпляр для конкретного запуска (т.е. поменяли бизнес-процесс по ходу выполнения, а документ идет по старому процессу).

Для запуска бизнес-процесса мы должны знать шаблон, а получить его можно через REST-метод bizproc.workflow.template.list. Пока не плохо, двигаемся дальше.

Параметр "Идентификатор документа БП" выглядит не так однозначно, но тоже не сложный.

Мы знаем что на платформе битрикс существуют различные модули и в рамках модуля может быть не одна сущность для бизнес-процессов поэтому идентификатор представляет собой набор параметров представленных в виде массива и содержит в себе:

  • Код модуля,
  • Код сущности,
  • Идентификатор сущности.

Например, для лида с номером 23 это будет массив:

['crm', 'CCrmDocumentLead', 'LEAD_23']

Параметр "Значения параметров БП (если шаблон с параметрами)"

Это по сути ассоциативный массив ключ-значение для параметров заданных в вашем БП. Нужны ли к нему комментарии? Пишите к посту, обсудим.

Откуда взять коды сущностей?

Например можно получить из метода bizproc.workflow.template.list (параметры MODULE_ID и ENTITY).

Ну или воспользоваться краткой справкой, в которой я буду использовать сущности с номером 777 (чтобы было понятно):

['crm', 'CCrmDocumentLead', 'LEAD_777']
['crm', 'CCrmDocumentCompany', 'COMPANY_777']
['crm', 'CCrmDocumentContact', 'CONTACT_777']
['crm', 'CCrmDocumentDeal', 'DEAL_777']
['lists', 'BizprocDocument', '777']
['disk', 'Bitrix\Disk\BizProcDocument', '777']
['tasks', 'Bitrix\Tasks\Integration\Bizproc\Document\Task', '777']

Теперь вы знаете откуда брать параметры для запуска бизнес-процессов в битрикс24.

Остались вопросы? Пишите в комментариях!)