===== Удаленный запуск Бизнес-Процессов с помощью 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);