Creatio development guide
Это документация Creatio версии 7.11.0. Мы рекомендуем использовать новую версию документации.

Web-to-Case

Glossary Item Box

Общие сведения

Функциональность Web-to-Case реализует возможность создания обращений в bpm’online посредством заполнения необходимых полей формы, встроенной на сторонний сайт — лендинга.

Пакет ProductCore зависит от пакета WebForms, в котором и содержится функциональность Web-to-Case. Это означает, что лендинги могут использоваться во всех продуктах. Преднастроенная "коробочная" функциональность реализована в продуктах service enterprise, customer center, marketing и всех бандлах, включающих эти продукты.

Подробнее о лендингах можно узнать из документации соответствующих продуктов, например, из статьи "Раздел [Лендинги]" документации bpm'online marketing.

Настройку Web-to-Case можно произвести, воспользовавшись интерфейсом системы, но для внедрения полученного JavaScript-скрипта на сторонний сайт необходимы общие базовые навыки Web-разработчика.

Базовая функциональность Web-to-Case без использования программирования в bpm’online (но используя небольшие доработки на стороннем сайте) позволяет настроить следующее:

  • Внешний вид формы и ее стили.
  • Список дополнительно передаваемых полей.
  • Список подстановочных значений по умолчанию для полей, не выведенных в форму.
  • Список доменов, из которых будет возможна регистрация обращения по каждому лендингу.
  • Адрес перехода, на который будет переадресован пользователь после отправки формы.
  • JavaScript-обработчики событий успешной и неуспешной регистрации обращения.
  • Дополнительные лендинги, каждый из которых может быть сконфигурирован по-своему, что дает возможность различить обращения, созданные с разных сайтов.

При помощи минимальных проектных доработок можно настроить предварительный обработчик регистрации обращения через Web-to-Case, в котором можно выполнить проверку данных, их коррекцию, создание связанных сущностей и т. п. В базовой поставке bpm'online в обработчике регистрации обращения через Web-форму настроено автоматическое создание контакта для регистрируемого обращения.

Логика автоматического заполнения полей для обращения

При регистрации обращения через Web-форму предлагаются для заполнения следующие поля: [ФИО], [Email], [Телефон], [Тема обращения]. Значение поля [Тема обращения] будет передаваться в новое обращение.

По сочетанию полей [ФИО], [Email] и [Телефон] в bpm’online идентифицируется контакт. Поиск происходит следующим образом:

  1. Если существует контакт, у которого поля [ФИО], [Email] и [Телефон] совпадают с заполненными данными формы, то он подставляется в создаваемое обращение.
  2. Иначе, если есть контакт, у которого совпадают только поля [ФИО] и [Email], то он подставляется в создаваемое обращение.
  3. Иначе, если есть контакт, у которого совпадает только поле [Email], то он подставляется в создаваемое обращение.
  4. Иначе создается новый контакт, и у него заполняются поля [ФИО], [Email] и [Телефон]. Созданный контакт подставляется в регистрируемое обращение.

Если по одному правилу найдено несколько контактов, то в качестве контакта обращения будет взят первый найденный. Также автоматически заполнится дата регистрации обращения (колонка RegisteredOn) текущей датой и временем.

Рекомендации для выполнения проектных решений

Если необходима кастомизация функциональности Web-to-Case, проще всего руководствоваться существующим базовым решением как примером.

Для выполнения проектного решения рекомендуется выполнить следующие действия:

  1. Создать схему страницы, унаследованную от CaseGeneratedWebFormPageV2. Страница не должна быть замещающей.
  2. Добавить запись нового типа лендинга в таблицу LandingType и локализацию в таблицу SysLandingTypeLcz.
  3. Зарегистрировать стандартным образом типизированную страницу, созданную на первом шаге (значение типа — новое созданное).
  4. Если необходима предварительная обработка данных формы до сохранения записи в базе данных, то нужно создать класс, реализующий интерфейс IGeneratedWebFormPreProcessHandler. Этот класс представляет собой предварительный обработчик регистрации обращения. Также нужно реализовать метод Execute(). Этот метод — точка входа в обработчик. В нем реализуются все вспомогательные действия. В качестве примера можно взять схему WebFormCasePreProcessHandler.
  5. Если необходимо выполнить действия после сохранения обращения в базу данных, то нужно создать класс, реализующий интерфейс IGeneratedWebFormPostProcessHandler. Этот класс представляет собой предварительный обработчик регистрации обращения. Далее нужно реализовать метод Execute(), в котором выполнить необходимые действия.
  6. Если созданы обработчики регистрации обращения, то нужно зарегистрировать их в таблице WebFormProcessHandlers. В качестве примера регистрации можно взять уже существующую запись.
  7. Отредактировать шаблон скрипта, формирующего конфигурационный JavaScript-объект лендинга, и поместить в локализируемую строку ScriptTemplate созданной страницы. Аналогичный скрипт указать для всех используемых локализаций. Пример скрипта можно найти в схеме CaseGeneratedWebFormPageV2.
  8. Привязать все созданные данные к пакету.

© Terrasoft 2002-2018.

Был ли данный материал полезен?

Как можно улучшить эту статью?