Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

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>​