Для интеграции окна диалога во внешние системы требуется поддержка встраивания HTML фрейма во внешнее приложение.
Для интеграции необходимо добавить фрейм, открывающий следующую ссылку:
В шаблоне ссылки задаются следующие параметры:
showUsersList – true/false (скрывать или нет список пользователей)
showQueueList – true/false (скрывать или нет список очередей)
showBorder - true или false в зависимости от необходимости отражать темную рамку вокруг блока с диалогами. По умолчанию применяется значение true
showUserMenu - true или false в зависимости от необходимости скрывать иконку с инициалами пользователя и привязанным меню в правом верхнем углу. По умолчанию применяется значение true
isExternal - true или false в зависимости встраивается диалог во внешнюю систему или нет. В случае true скрывается основное меню с модулями слева
externalObjectId – идентификатор для авторизации. Такой идентификатор может формироваться ботом Sherlock Plarform по согласованным правилам или импортироваться из внешней системы. В качестве идентификатора может использоваться ID во внешней системе, email или телефон. Также Sherlock Paltform может формировать временный код для входа и отправлять ссылку с кодом во внешнее API.
externalSystemCode – идентификатор системы с которой идет синхронизация
Для корректной авторизации необходимо, чтобы в tbl_ExternalObjectMapping была запись с такими значениями
ExternalId - значение, идентичное Query параметру externalObjectId
InternalId - идентификатор пользователя (Id из tbl_User)
ObjectTypeId - всегда 1 для идентификатора пользователя
ExternalSystemId - идентификатор внешней системы (Id из tbl_ExternalSystem)
ExpiresAt - заполнять, если необходимо ограничение срока действия внешнего идентификатора
Для создания такой записи через API доступен следующий метод:
POST https:///api/v2/ExternalObjectMapping/UpdateByCode
В качестве тела запроса передавать Json следующего формата
{ "externalId": "Внешний идентификатор пользователя", "internalId": "Guid – id пользователя", "objectTypeId": 1, // для пользователя всегда 1 "externalSystemId": "Guid – id внешней системы" }
Важно: для работы фрейма на сервере необходимо отключить опцию X-Frame-Options в web.config