Управление пользователями Sherlock Platform через API

Последние изменения: 06.09.2023

Для синхронизации пользователей Sherlock Platform и внешней системы можно использовать API управления пользователями.

Для добавления, изменения или удаления пользователей через API Sherlock Platform сначала надо авторизоваться.

Для создания пользователя используется метод POST контроллера Users https://<sherlock_url>/API/V2/Users. Для изменения пользователя используется метод PUT контроллера Users https://<sherlock_url>/API/V2/Users/{UserId}. Полученный ранее токен надо передать в заголовке как Bearer Token.

Для удаления пользователя используется метод DELETE контроллера Users https://<sherlock_url>/API/V2/Users/{UserId}. Полученный ранее токен надо передать в заголовке как Bearer Token.

Пример минимального json для создания пользователя (при наличии email и автоматической генерации пароля): 

{
 "user": {
 "email": "[email protected]",
 "accessRoleId": "00000000-0000-0000-0000-000000000000",
   "queueUsers": [
    {​
     "queueId": "00000000-0000-0000-0000-000000000000",
     "isActive": true
    }]
 },
 "password": ""
}

В json выше:

  • email - email пользователя. На данный email уйдет письмо с приглашением и параметрами доступа, включая пароль

  • accessRoleId - идентификатор роли. Например, роли Оператор

  • queueId - идентификатор очереди. Например, очереди Чат центр. Если в очереди включать не надо, то следует удалить целиком блок queueUsers


Пример json для создания пользователя по логину (с явной передачей пароля):

{
 "user": {
    "userName": "Operator123",
    "accessRoleId": "00000000-0000-0000-0000-000000000000",
    "queueUsers": [
    {
     "queueId": "00000000-0000-0000-0000-000000000000",
     "isActive": true
    }]
 }, "password": "12345678"
}


Если необходимо создать пользователя с возможностью входа по внешнему коду в json надо добавить реквизиты:

  • externalObjectId - id пользователя во внешней системе

  • externalSystemCode - зарегистрированный в Sherlock код вашей CRM системы

  • allowAccessByExternalSystemCode - если true, то возможная автоматическая регистрация по внешнему коду

Пример json приведен ниже:
{
"user": {
"userName": "Operator123",
"accessRoleId": "00000000-0000-0000-0000-000000000000", "externalObjectId": "123",     "externalSystemCode": "Bitrix",     "allowAccessByExternalSystemCode": true,
"queueUsers": [
{
"queueId": "00000000-0000-0000-0000-000000000000",
"isActive": true
}]
}, "password": "12345678"
}

В ответ приходят данные созданного пользователя, включая id в Sherlock. Приведем описание всех параметров структуры пользователя (эта же структура данных приходит в ответ после обновления):

  • user.id - id пользователя. Не используется для входных данных

  • user.userName - логин пользователя

  • user.email - email пользователя

  • user.isActive - признак активности. Если true, то пользователь может подключаться к платформе

  • user.fullName - имя пользователя

  • user.userAlias - псевдоним для чата на сайте

  • user.cellPhone - сотовый телефон

  • user.officePhone - офисный телефон

  • user.photoUrl - ссылка на фото пользователя

  • user.operatorStatusId - текущий статус пользователя. Можно не передавать

  • user.isBot - всегда false для пользователя

  • user.description - произвольное описание

  • user.isSendFileAfterAttach - настройка предпочтений, определяющая отправлять ли файлы сразу после загрузки

  • user.ipAddress - текущий ip адрес. Только для чтения

  • user.allowedIpAddresses - маска для допустимых ip адресов с которых пользователь может подключаться

  • user.lastActivityDate - дата последней активности

  • user.position - должность

  • user.isSystemUser - если true, то открывается доступ к ряду функций расширенного администрирования

  • user.accessRoleId - роль пользователя

  • user.projectId - филиал пользователя

  • user.userCategoryId - всегда 0 для пользователя

  • user.backgroundColor - цвет иконки

  • user.isTabActive - системное поле

  • user.notificationUserProfileId - канал для отправки уведомлений

  • user.notificationClientProfileId - профиль в канале для отправки уведомлений

  • user.isNotificationAboutNewDialog - отправлять ли уведомления о новом диалоге

  • user.externalObjectId - id во внешней системе

  • user.externalSystemCode - код внешней системы

  • user.allowAccessByExternalSystemCode - true, если возможен автоматический вход по externalSystemCode

  • user.languageCode - код языка пользователя

  • user.userSettings - настройки пользователя

  • user.queueUsers - очереди пользователя. Для добавления достаточно передавать queueId - идентификатор очереди

  • password - пароль. Указывается только при создании. Если не передан при создании, то формируется автоматически и направляется на email. Создание пользователя отклоняется, если пароль не соответствует правилам.

  

Помогла ли вам статья?