===== Удаленный запуск Бизнес-Процессов с помощью HTTP Обработчика =====
Эта Задача позволяет вам запускать Бизнес-Процесс из любой системы, которая поддерживает отправку POST-запросов. Также вы можете посылать любые значения в Бизнес-Процесс и получать доступ к переменным из любой задачи. \\
Все это обеспечивает вам довольно гибкую систему вебсервиса, которую вы можете настраивать прямо из панели управления.
Вы можете выполнять один Бизнес-Процесс, указав его ID или выбрать несколько Бизнес-Процессов, которые будут контролироваться триггером настроек
=== Случаи использования ===
* Замена вебсервиса на создание записи, например, замена форм на целые страницы для генерации Обращений
* like Forms on Webpage for Lead collection
* Выполнять специальные действия со страницы (Внешнее администрирование) если ID записи контрагента известно (создание КП и т.п.) execute special processes from webpage (External Administrations) if the record ID of organization is known (generation of quotes, …)
==== Установка и настройка ====
{{ :ru:workflow_designer:config_http_handler.png?nolink|}}
Доступ к обработчику HTTP-запросов запрещен по умолчанию для всех IP-адресов. \\
Если вы хотите использовать подобного рода обработчик, вы должны иметь абсолютный доступ с любого IP-адреса, чтобы выполнить Бизнес-Процесс. \\
Это можно настроить в “Settings HTTP Handler”.
Нажмите “new permission” или “изменить” и увидите специальную форму.
{{ :ru:workflow_designer:config_http_handler2.png?nolink |}}
* Заголовок не участвует в настройках
* В поле IP вы можете указать все IP, которым хотите дать доступы.
* Здесь вы можете вписать не только отдельные IP, но и диапазоны:
* 192.168.0.
* 192.168.0.100-192.168.0.160
* 192.168.0.0/24
* The Trigger drop down will show all created triggers
* Выпадающий список Бизнес-Процессов покажет все необходимые для выполнения Бизнес-Процессы с их ID.
==== Выбор Бизнес-Процесса ====
To configure the Workflow/Trigger you want to execute, use the following GET Variables:
*** record_id** \\ Определяет, какая запись в CRM должна быть использована Дизайнером Бизнес-Процессов, чтобы добавить Бизнес-Процесс \\ Если вы не хотите связываться с Записью, то установите record_id = 0
* **workflow_id** \\ Определяет, какой Бизнес-Процесс должен быть выполнен. \\ ID Бизнес-Процесса можно получить из его URL in administration
Пример \\
Вы хотите выполнить определенный Бизнес-Процесс без связанной записи (например, создать нового лида), тогда используйте следующий код:
?record_id=0&workflow_id=
==== Отправка переменных ====
Для того, чтобы отправить переменные базы данных Бизнес-Процессу, вы должны использовать только метод POST. \\
Значения могут быть использованы в выполненных Бизнес-Процессах в переменной $env variable. \\
Например если вы отправляете в переменной фамилию, вы должны дать переменной доступ к каждой Задаче этого Бизнес-Процесса с помощью:
$env[“lastname”]
.
==== Примеры ====
=== PHP пример ===
$url = '/?';
$fields = array(
'firstname' => "Firstname",
'lastname' => "Lastname",
'street' => "streetname 123"
);
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.urlencode($value).'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
Вы хотите выполнить Бизнес-Процесс с ID 77 для записи 852, тогда вам нужно написать следующее:
$url = '/?record_id=852&workflow_id=77';
$fields = array(
'firstname' => "Firstname",
'lastname' => "Lastname",
'street' => "streetname 123"
);
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.urlencode($value).'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);