Как изменить глобальную переменную в бизнес-процессе битрикса через rest или хуки?

В Битрикс24 изменение глобальных переменных в бизнес-процессе можно осуществить через REST API или при помощи хуков. Для этого следует выполнить следующие шаги:

1. **Использование REST API**:

Для изменения глобальной переменной в бизнес-процессе через REST API, первым делом необходимо получить идентификатор экземпляра бизнес-процесса, который вы хотите изменить. После этого можно использовать метод вызова REST API для обновления переменной. Пример запроса может выглядеть следующим образом:

   POST /rest/bp/INSTANCE_ID/updateVariable
   {
       "VARIABLE_CODE": "NEW_VALUE"
   }

Здесь INSTANCE_ID - это идентификатор экземпляра бизнес-процесса, а VARIABLE_CODE - код переменной, которую нужно изменить, и NEW_VALUE - новое значение переменной.

2. **Использование хуков**:

Для изменения глобальных переменных через хуки, необходимо добавить соответствующий скрипт в хук, который будет обрабатывать необходимое действие при выполнении бизнес-процесса. Пример скрипта на PHP, который можно добавить в хук:

   $instanceId = $this->GetDocumentInstanceId(); // Получаем идентификатор экземпляра бизнес-процесса
   $newValue = "new value";
   CBPDocument::StartWorkflow(Array("lists", "BizprocDocument", $instanceId), "change_global_variable", Array("newValue" => $newValue)); // Запускаем новый экземпляр процесса для изменения переменной

В данном примере мы запускаем новый экземпляр процесса с именем change_global_variable, который обновляет переменную на значение new value.

Не забудьте проверить права доступа к изменению бизнес-процессов через REST API или хуки, чтобы избежать возможных проблем с безопасностью.