Различия
Здесь показаны различия между двумя версиями данной страницы.
| — |
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> | ||