Web-To-Object. Использование лендингов и веб-форм
Glossary Item Box
Общие сведения
Web-to-Object — это механизм реализации простых односторонних интеграций с bpm'online. С его помощью можно создавать записи в разделах bpm'onlinе (лиды, обращения, заказы и т. д.), просто отправив необходимые данные сервису Web-to-Object.
Наиболее распространенные случаи использования сервиса Web-to-Object:
- Интеграция bpm'online с пользовательскими лендингами и веб-формами. Вызов сервиса выполняется из лендинга (особым образом настроенная пользовательская страница со специальной web-формой), после отправки заполненной web-формы посетителем.
- Интеграция с внешними системами, в результате работы которых должны создаваться объекты bpm'online.
С помощью функциональности Web-to-Object можно настроить регистрацию в bpm’online практически любых объектов. Например, в bpm'online может быть зарегистрирован лид, контакт, заказ, обращение.
Для работы с лендингами в bpm'online предусмотрен раздел [Лендинги и web-формы]. Этот раздел входит во все продукты bpm'online, однако он может быть не включен по умолчанию в рабочие места некоторых продуктов (например, данный раздел не включен в рабочие места линейки продуктов bpm'online sales). Каждая запись раздела [Лендинги и web-формы] соответствует определенному лендингу. На странице редактирования записи предусмотрена вкладка [Настройка лендинга].
Подробно процесс создания лендинга на примере механизма Web-to-Case рассмотрен в статье "Создание Web-to-Case лендинга".
Реализация сервиса Web-to-Object
Основная функциональность механизма Web-To-Object содержится в пакете WebForm и является общей для всех продуктов. В зависимости от продукта bpm'online эта функциональность расширена механизмами Web-to-Lead (пакет WebLeadForm), Web-to-Order (пакет WebOrderForm) и Web-to-Case (пакет WebCaseForm).
Для обработки данных, отправленных web-формой лендинга, в пакете WebForm реализован конфигурационный сервис GeneratedObjectWebFormService (класс Terrasoft.Configuration.GeneratedWebFormService). Данные веб-формы лендинга принимаются в качестве аргумента метода public string SaveWebFormObjectData(FormData formData). Затем они передаются в метод public void HandleForm(FormData formData) класса Terrasoft.Configuration.WebFormHandler, в котором и выполняется создание соответствующего объекта системы.
Внешний API сервиса Web-to-Object
Для использования сервиса необходимо отправить POST-запрос по адресу:
[Путь к приложению bpm'online]/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData
Например:
http://mybpmonline.com/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData
Тип содержимого запроса — application/json. Кроме необходимых cookies, в содержимое запроса нужно добавить JSON-объект, содержащий данные веб-формы. Пример JSON-объекта:
{ "formData":{ "formId":"d66ebbf6-f588-4130-9f0b-0ba3414dafb8", "formFieldsData":[ {"name":"Name","value":"John Smith"}, {"name":"Email","value":"j.smith@bpmoline.com"}, {"name":"Zip","value":"00000"}, {"name":"MobilePhone","value":"0123456789"}, {"name":"Company","value":"bpmonline"}, {"name":"Industry","value":""}, {"name":"FullJobTitle","value":"Sales Manager"}, {"name":"UseEmail","value":""}, {"name":"City","value":"Boston"}, {"name":"Country","value":"USA"}, {"name":"Commentary","value":""}, {"name":"BpmHref","value":"http://localhost/Landing/"}, {"name":"BpmSessionId","value":"0ca32d6d-5d60-9444-ec34-5591514b27a3"} ] } }
Использование сервиса Web-to-Object
Интеграция с лендингами и веб-формами
Интеграция bpm'online c пользовательскими лендингами и веб-формами подробно описана в статьях:
Интеграция с внешними системами
Для интеграции с внешними системами необходимо:
1. Добавить запись в разделе [Лендинги и web-формы].
2. Получить из конфигурационного объекта созданной записи адрес к сервису (свойство serviceUrl ) и идентификатор (свойство landingId).
3. Реализовать во внешней системе отправку POST-запроса к сервису Web-to-Object по полученному адресу. В запрос добавить необходимые данные в виде JSON-объекта. Свойству formId отправляемого JSON-объекта установить значение полученного идентификатора.