Различия
Здесь показаны различия между двумя версиями данной страницы.
— |
ru:start:remote_over_http_handler [2016/07/01 18:23] (текущий) admin создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Удаленный запуск Бизнес-Процессов с помощью HTTP Обработчика ===== | ||
+ | Эта Задача позволяет вам запускать Бизнес-Процесс из любой системы, которая поддерживает отправку POST-запросов. Также вы можете посылать любые значения в Бизнес-Процесс и получать доступ к переменным из любой задачи. \\ | ||
+ | Все это обеспечивает вам довольно гибкую систему вебсервиса, которую вы можете настраивать прямо из панели управления. | ||
+ | |||
+ | Вы можете выполнять один Бизнес-Процесс, указав его ID или выбрать несколько Бизнес-Процессов, которые будут контролироваться триггером настроек | ||
+ | |||
+ | <WRAP center info 100%> | ||
+ | === Случаи использования === | ||
+ | * Замена вебсервиса на создание записи, например, замена форм на целые страницы для генерации Обращений | ||
+ | * 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, …) | ||
+ | </WRAP> | ||
+ | |||
+ | ==== Установка и настройка ==== | ||
+ | {{ :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 | ||
+ | |||
+ | <WRAP center info 100%> | ||
+ | Пример \\ | ||
+ | Вы хотите выполнить определенный Бизнес-Процесс без связанной записи (например, создать нового лида), тогда используйте следующий код: | ||
+ | <Code>?record_id=0&workflow_id=<IDofWorkflow></Code> | ||
+ | </WRAP> | ||
+ | |||
+ | ==== Отправка переменных ==== | ||
+ | |||
+ | Для того, чтобы отправить переменные базы данных Бизнес-Процессу, вы должны использовать только метод POST. \\ | ||
+ | Значения могут быть использованы в выполненных Бизнес-Процессах в переменной $env variable. \\ | ||
+ | |||
+ | Например если вы отправляете в переменной фамилию, вы должны дать переменной доступ к каждой Задаче этого Бизнес-Процесса с помощью: | ||
+ | <Code>$env[“lastname”]</Code>. | ||
+ | |||
+ | ==== Примеры ==== | ||
+ | |||
+ | === PHP пример === | ||
+ | |||
+ | <Code> | ||
+ | $url = '<urlofvtigerCRM>/<shorturl>?<ExecutionConfiguration>'; | ||
+ | |||
+ | $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); | ||
+ | </Code> | ||
+ | |||
+ | Вы хотите выполнить Бизнес-Процесс с ID 77 для записи 852, тогда вам нужно написать следующее: | ||
+ | |||
+ | <Code> | ||
+ | $url = '<urlofvtigerCRM>/<shorturl>?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); | ||
+ | </Code> |