Для интеграции виджета HBW во внешние системы необходимо:
- сделать прокси-контроллеры, через который встроенный виджет будет делать запросы в бэкенд HOMS;
- встроить JS виджета и отрендерить.
Прокси-контроллеры
Прокси-контроллер служит прослойкой между внешней системой и HOMS, где задаются необходимые параметры для работы с заказами и идентификации пользователя.
Необходимо разработать следующие методы:
метод, в котором ко всем параметрам запросов будут добавляться идентификатор пользователя
def with_user_identifier(parameters) parameters.merge( 'user_identifier' => Lib::GetSession.(params[:payload][:token])[:session][:vc_email] ) end
метод, который делает запрос для получений (
GET)
кнопок для начала бизнес-процесса, необходимые параметры:entity_class
(идентификатор интеграции),entity_type
(),entity_code
– уникальный код для создания заказа
(ссылка)
делать запрос (ссылка)
tasks
get tasks (ссылка)
получать форму – get 'tasks/#{params[:id]}/form', а также в заголовок запроса подмерживаются параметры:
entity_class
id
(ссылка)
обновлять форму – post 'tasks/#{params[:id]}/form', где в теле запроса должны быть:
entity_class
form_data
id
(ссылка)
lookup? get tasks/#{params[:id]}/lookup (ссылка)
(ссылка)
users
проверять пользователя (ссылка)
bpm_connector – обарабтывать запросы и ответы от HOMS (put_request_bpm_backend и др) (ссылка)