Показать/Скрыть содержание

    Конечная точка User

    Конечная точка User используется Оператором и предназначена для управления пользователями. Конечная точка предоставляет следующие группы методов (общий префикс ums/:

    • Операции с пользователями
    • Настройка различительного имени пользователя
    • Настройка групп пользователей
    • Настройка логина пользователя
    • Настройка пароля пользователя
    • Настройка номера телефона пользователя
    • Настройка адреса электронной почты пользователя
    • Настройка Push-адресов пользователей
    • Настройка протокола OATH (одноразовые пароли на брелках)
    • Общие настройки аутентификации
    • Настройка аутентификации при помощи мобильного приложения
    • Настройка политики подтверждения операций
    • Настройка политики доступа к операциям
    • Настройка политики оповещения
    • Блокировка/разблокировка пользователя
    Примечание

    Обращение к Сервису Управления Пользователями (UMS) требует аутентификации Оператора в качестве привилегированного пользователя. Для этого необходимо предъявить соответствующий сертификат аутентификации (взаимодействие осуществляется по протоколу ГОСТ-TLS с двусторонней аутентификацией) или токен аутентификации. Для краткости примеры запросов в данном разделе предоставляются без указания аутентификационных данных.

    Операции с пользователями

    Данная группа методов предоставляет способы добавления, удаления и настройки пользователей.

    Регистрация пользователя и добавление в группу по умолчанию

    RegisterUser

    Данный метод позволяет создать нового пользователя без явного указания его группы. При этом пользователь будет помещен в группу, в которой состоит создающий его Оператор. Если Оператор состоит в 2 и более группах, метод возвратит ошибку. В этом случае следует использовать метод "Регистрация пользователя и добавление в определенную группу" (см. ниже).

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user
    Параметры в строке запроса -
    Параметры в теле запроса Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя
    Возвращаемое значение id - Глобальный идентификатор пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    
    {
    "Email": "sample@cp.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    "7c9f047f-d539-4be9-ae5d-a81ed8495ce1"
    

    Регистрация пользователя и добавление в группу по умолчанию (2)

    RegisterUser2

    Данный метод позволяет создать нового пользователя без явного указания его группы. При этом пользователь будет помещен в группу, в которой состоит создающий его Оператор. Если Оператор состоит в 2 и более группах, метод возвратит ошибку. В этом случае следует использовать метод "Регистрация пользователя и добавление в определенную группу" (см. ниже).

    Примечание

    Данный метод отличается от предыдущего путем обращения и типом возвращаемых данных. В отличие от метода /user, в данном методе идентификатор пользователя возвращается не в виде строки, а в виде json-объекта (см. пример).

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/register
    Параметры в строке запроса -
    Параметры в теле запроса Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя
    Возвращаемое значение id - Глобальный идентификатор пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    
    {
    "Email": "sample@cp.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Date: Wed, 13 Jul 2022 12:10:31 GMT
    Content-Length: 45
    
    {
    "Id":"07ddacc4-cf5f-4ae4-8d9c-3caf7c6a9e3e"
    }
    

    Регистрация пользователя и добавление в определенную группу

    RegisterUser

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/
    Параметры в строке запроса groupName - Имя группы, в которой будет состоять пользователь
    Параметры в теле запроса Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя
    Возвращаемое значение id - Глобальный идентификатор пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user?groupName=TestGroup HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    
    {
    "Email": "sample@cp.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    "7c9f047f-d539-4be9-ae5d-a81ed8495ce2"
    

    Проверка уникальности данных пользователя

    CheckIdentifiersUnique

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/isunique
    Параметры в строке запроса issuerName - Имя IdP, в котором находится пользователь
    Параметры в теле запроса Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя
    Возвращаемое значение UserIdentifiersUniqueResult - Результат проверки уникальности данных пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user?issuerName=realsts HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    
    {
    "Email": "sample@cp.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    {
        "Result":
        {
            "Email":
            {   
                "Data": "sample@cp.ru",
                "IsUnique": true,
                "UniqueRequired": true,
            }
        }
    }
    

    Получение информации о пользователе по глобальному идентификатору

    GetUserById

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (без использования query string)
    Параметры в теле запроса -
    Возвращаемое значение DssUserInfo - Учетные данные пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230 HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 415
    
    {
    "UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
    "Login": "Test1231231232",
    "PhoneNumber": "78889996655",
    "Email": null,
    "PhoneConfirmed": true,
    "EmailConfirmed": false,
    "DisplayName": null,
    "DistinguishName": "SN=Иванов, G=Иван Иванович, I=ИИИ, CN=Ivanov, C=RU",
    "AccountLocked": false,
    "Group": "CustomGroup",
    "CreationDate": "2019-05-30T16: 25: 35.77",
    "LockoutDate": null,
    "LastLoginDate": "2019-05-30T16: 25: 35.77"
    }
    

    Получение информации о пользователе по идентификатору

    Get

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user
    Параметры в строке запроса type (тип IdentifierType) - Тип идентификатора пользователя
    value - Значение идентификатора пользователя
    issuerName - Имя ЦИ, в котором зарегистрирован пользователь (необязательно)
    Параметры в теле запроса -
    Возвращаемое значение DssUserInfo - Учетные данные пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user?type=PhoneNumber&value=78889996655 HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 415
    
    {
    "UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
    "Login": "Test1231231232",
    "PhoneNumber": "78889996655",
    "Email": null,
    "PhoneConfirmed": true,
    "EmailConfirmed": false,
    "DisplayName": null,
    "DistinguishName": "SN=Иванов, G=Иван Иванович, I=ИИИ, CN=Ivanov, C=RU",
    "AccountLocked": false,
    "Group": "CustomGroup",
    "CreationDate": "2019-05-30T16: 25: 35.77",
    "LockoutDate": null,
    "LastLoginDate": "2019-05-30T16: 25: 35.77"
    }
    

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

    SetUserProperty

    Параметр Значение
    HTTP-метод PATCH, POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса UserProperty - Свойства учетной записи пользователя
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9cddeb1f-a36c-4f79-bbda-ec0dece4873c HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 44
    
    {
    "PropertyType": 0,
    "Value": "UserDisplayName"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление пользователя

    DeleteUser

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/486f64c8-d5da-4a61-ae0a-5ddb202f82bf HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка различительного имени пользователя

    Данная группа методов предоставляет способы работы с различительным именем пользователя.

    Назначение различительного имени пользователю

    SetUserDistinguishedName

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/dn
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    components - Словарь компонентов различительного имени формата IDictionary<int, string>
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9b12bffc-3562-4db6-ada4-d857ad2c291a/dn HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 16
    
    {
    "1": "SampleCN"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Проверка уникальности компонентов различительного имени пользователя

    CheckDistinguishedNameUnique

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/dn/isunique
    Параметры в строке запроса -
    Параметры в теле запроса Dictionary<int, string> - Словарь идентификаторов компонентов различительного имени пользователя
    Возвращаемое значение UserDataUniqueResult - Результат проверки уникальности данных пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/dn/isunique HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    
    {
    "1": "SampleCN"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    {   
        "Data": "CN=SampleCN",
        "IsUnique": true,
        "UniqueRequired": true,
    }
    

    Получение списка компонентов различительного имени пользователя

    GetUserDistinguishedName

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/dn
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение Dictionary<int, string> - Компоненты различительного имени пользователя

    Примечание: ключом словаря является идентификатор компонента имени пользователя. Список поддерживаемых ЦИ компонентов имени пользователя можно получить из политики Сервиса Управления Пользователями (ссылка на GetPolicy)

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/81c71190-ff87-4457-9d6d-86cd66a22f83/dn HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 58
    
    {
    "1": "UmsSampleUser-f3d5fdfe-9da7-436f-8245-908aafa1213e"
    }
    

    Назначение состояния подтвержденности учетной записи (например, после идентификации пользователя Оператором)

    SetUserApprovedStateAsync

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/approve
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string); approved - пометка подтвержденности учетной записи (true/false)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/81c71190-ff87-4457-9d6d-86cd66a22f83/approve?approved=true HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка групп пользователей

    Данная группа методов предоставляет способы работы с группами пользователей.

    Назначение группы пользователю

    SetUserGroup

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/group
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    groupName - Имя группы
    Параметры в теле запроса newRdns - Новый список компонентов имени пользователя
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/46778710-1d63-4691-885b-c0e895da3ba8/group?groupName=SampleGroup HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 58
    
    {
    "1": "UmsSampleUser-33a13f1f-b99d-4e71-8090-01e6aecff75e"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Получение имени группы пользователя

    GetUserGroup

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/group
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение Имя группы пользователя (String)

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/40181add-c27f-4491-ab66-d60dc69a583f/group HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 9
    
    "Default"
    

    Настройка логина пользователя

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

    Установка локального логина учетной записи пользователя

    SetUserLocalLogin

    Добавляет локальный логин пользователю или заменяет его, если логин уже существует.

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login/local?newLogin={newLogin}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    newLogin - Новый локальный логин пользователя
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/4de1b1be-2229-40fe-a0e6-ece733277ccb/login/local?newLogin=TestLogin123 HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Установка внешнего (или локального) логина учетной записи пользователя

    SetUserLogin

    Добавляет внешний (или локальный) логин пользователю или заменяет его, если логин уже существует. Добавляет локальный логин, если передано значение "IssuerName": "realsts". Если логин существует и передано пустое значение логина, логин будет удален.

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса ExternalLoginInfo - Структура для создания внешнего логина
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/4de1b1be-2229-40fe-a0e6-ece733277ccb/login HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 48
    
    {
        "Login": "SampleLogin",
        "IssuerName": "SampleSts"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Получение логинов пользователя

    GetUserLogins

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение List<ExternalLoginInfo> - Список логинов пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/80c275a1-f375-4bf1-aac3-9c478aee950c/login HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 50
    
    [{
    "Login": "UmsSampleUser",
    "IssuerName": "realsts"
    }]
    

    Удаление локального логина пользователя

    DeleteUserLocalLogin

    Метод удаляет локальный логин пользователя.

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login/local
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/login/local HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление логина пользователя

    DeleteUserLogin

    Метод удаляет локальный или внешний логин пользователя.

    • Для удаления локального логина: ?issuerName=realsts.
    • Для удаления внешнего логина: указать в параметре issuerName имя ЦИ, логин в котором необходимо удалить.
    • При выполнении метода без использования параметра issuerName будет удален тот внешний логин, (зарегистрированный для внешнего ЦИ) пользователя, из-под которого Оператор выполнил вход (получил соответствующий токен безопасности) для выполнения указанного метода.
    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string);
    issuerName - имя ЦИ, в котором необходимо удалить логин (необязательный параметр)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/login?issuerName=SampleSTS HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка пароля пользователя

    Данная группа методов позволяет управлять паролями пользователей.

    Сброс пароля пользователя

    ResetPassword

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение Новый пароль пользователя (String)

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 10
    
    "b9Ys83kH"
    
    Примечание

    Чтобы использовать данный метод, в настройках ЦИ необходимо добавить вариант отображения пароля "Screen" или "Frame" (параметр "PasswordDisplayFormatList"). Иначе пароль пользователя будет сброшен, но не будет возвращен в ответе на post-запрос.

    Типовые ошибки
    См. типовые ошибки общего метода сброса пароля

    Сброс пароля пользователя с отправкой пароля пользователю

    ResetPasswordAndSend

    Это обобщенный метод сброса пароля пользователя, который позволяет несколькими способами получить новый пароль, а также передать его пользователю.

    Запрос на сброс пароля пользователя оператором представляет собой структуру ResetPasswordRequest, которая содержит информацию о том, требуется ли отправить пользователю новый пароль в СМС и/или на электронную почту, требуется ли получить новый пароль в ответе на запрос и требуется ли сформировать печтаную форму с информацией о новом пароле пользователя.
    Подробнее о правилах заполнения запроса см. на странице ResetPasswordRequest.

    В ответе на запрос, в структуре ResetPasswordResponse будут возвращен новый пароль и/или печатная форма с информацией о пароле, если в запроси были указаны соответствующие требования.
    Подробнее о формате ответа на запрос см. на странице ResetPasswordResponse.

    На сервисе могут быть настроены одновременно не все варианты получения нового пароля пользователя после сброса. Для получения более подробной информации см. раздел типовые ошибки.

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password/send
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса ResetPasswordRequest - запрос на сброс пароля
    Возвращаемое значение ResetPasswordResponse - ответ на запрос сброса пароля

    Пример запроса

    Данный запрос на сброс пароля содержит требования:

    • отправить новый пароль пользователя на номер телефона "+7(926)558-97-95" (в списке NotificationDestinations передан объект { "Type": "PhoneNumber", "Value": "79265589795" });
    • отправить новый пароль пользователя на номер, назначенный для получения одноразовых паролей (в списке NotificationDestinations передан объект { "Type": "PhoneNumber" } без указания значения номера телефона);
    • отправить новый пароль пользователя на адрес электронной почты "ivanov@gmail.com" (в списке NotificationDestinations передан объект { "Type": "EmailAddress", "Value": "ivanov@gmail.com" });
    • отправить новый пароль пользователя на адрес электронной почты, назначенный для получения одноразовых паролей (в списке NotificationDestinations передан объект { "Type": "EmailAddress" } без указания значения адреса электронной почты);
    • возвратить пароль в явном виде в ответе на запрос (поле ReturnRawPassword заполнено значением true);
    • возвратить пароль в ответе на запрос в виде печатной формы (поле ReturnPrintedPasswordFormat заполнено желаемым форматом печатной формы: Html);

    Подробнее о правилах заполнения запроса см. на странице ResetPasswordRequest.

    POST https://{{hostName}}/{{instanceName}}/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password/send HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 325
    
    {
        "NotificationDestinations":
        [
            { "Type": "PhoneNumber" },
            { "Type": "PhoneNumber", "Value": "79265589795" },
            { "Type": "EmailAddress", "Value": "ivanov@gmail.com" },
            { "Type": "EmailAddress" }
        ],
        "ReturnRawPassword": true,
        "ReturnPrintedPasswordFormat": "Html"
    }
    

    Пример ответа

    В ответе на запрос был получен новый пароль в явном виде, а так же в виде печатной формы с информацией о новом пароле.

    Подробнее о формате ответа на запрос см. на странице ResetPasswordResponse.

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 1472
    
    {
        "Password": "W3al9pB3",
        "PrintForm": "77u/PGh0bWw+DQoAgIDxNRVRBIGh0dHAtZX8L2h0bWw...",
        "PrintFormName": "Ivanov_PrintForm.html"
    }
    

    Типовые ошибки

    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 invalid_login Пользователю не назначен идентификатор входа
    400 wrong_operation Настройки сервиса не позволяют использовать выбранный вариант полчучения значения нового пароля пользователя (параметр PasswordDisplayList).
    Для обеспечения возможности отправки нового пароля на номера телефона пользователя параметр PasswordDisplayList должен содержать значение Phone, а так же должны быть настроены соответствующие модули оповещения.
    Для обеспечения возможности отправки нового пароля на адрес электронной почты пользователя параметр PasswordDisplayList должен содержать значение Email, а так же должны быть настроены соответствующие модули оповещения.
    Для обеспечения возможности формирования печатной формы с информацией о новом пароле пользователя параметр PasswordDisplayList должен содержать значение Print.
    Для обеспечения возможности получения значения нового пароля пользователя в ответе на запрос параметр PasswordDisplayList должен содержать значение Screen или Frame.
    Для уточнения причины ошибки см. описание ошибки в теле http-ответа.
    400 invalid_phone В случае явного указания значения номера телефона - не найден соответствующий подтвержденный номер телефона среди контактов пользователя.
    В случае отсутствия значения - не найден телефон для отправки OTP.
    Для уточнения см. описание ошибки в теле http-ответа.
    400 invalid_email В случае явного указания значения адреса электронной почты - не найден соответствующий подтвержденный адрес электронной почты среди контактов пользователя.
    В случае отсутствия значения - не найден адрес электронной почты для отправки OTP.
    Для уточнения см. описание ошибки в теле http-ответа.
    500 Внутренняя ошибка сервиса
    Примечание

    Отправка нового пароля пользователя возможно только на подтвержденные контакты (почта/телефон) пользователя. Для получения сведений о наличии соответствующих контактов пользователя используейте конечные точки /phones и /emails.

    Сброс пароля пользователя с отправкой пароля в смс

    ResetPasswordAndSendSms

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password/send/sms
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    destination - Опционально, подтвержденный номер телефона пользователя (передается в query string). При отсутствии этого параметра, новый пароль будет отправлен на номер телефона, назначенный для получения одноразовых паролей. Если такого номера телефона не имеется, сервис вернет ошибку.
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password/send/sms?destination=79265465212 HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Типовые ошибки
    См. типовые ошибки общего метода сброса пароля

    Примечание

    Чтобы использовать данный метод, в настройках ЦИ необходимо добавить вариант отображения пароля "Phone" (параметр "PasswordDisplayFormatList").

    Сброс пароля пользователя с отправкой пароля на электронную почту

    ResetPasswordAndSendEmail

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password/send/email
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    destination - Опционально, подтвержденный адрес электронной почты пользователя (передается в query string). При отсутствии этого параметра, новый пароль будет отправлен на адрес электронной почты, назначенный для получения одноразовых паролей. Если такого адреса не имеется, сервис вернет ошибку.
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password/send/email?destination=ivanov@gmail.com HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Типовые ошибки
    См. типовые ошибки общего метода сброса пароля

    Примечание

    Чтобы использовать данный метод, в настройках ЦИ необходимо добавить вариант отображения пароля "Email" (параметр "PasswordDisplayFormatList").

    Сброс пароля пользователя с получением печатной формы с новым паролем

    ResetPasswordAndPrint

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password/print
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    format - Формат документа с новым паролем для печати. Возможные значения: Html, Xml, Pdf, Word
    Параметры в теле запроса -
    Возвращаемое значение Файл для печати с новым паролем пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password/print?format=Word HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/msword
    Content-Length: 10752
    Content-Disposition: attachment; filename=Ivanov_PrintForm.doc
    
    %Содержимое файла%
    

    Типовые ошибки
    См. типовые ошибки общего метода сброса пароля

    Примечание

    Чтобы использовать данный метод, в настройках ЦИ необходимо добавить вариант отображения пароля "Print" (параметр "PasswordDisplayFormatList").

    Настройка номера телефона пользователя

    Данная группа методов позволяет управлять номерами телефонов пользователей.

    Получение списка телефонов пользователя

    GetUserPhones

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение List<UserContactInfo> - Контактная информация пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/e5ec3a9e-76a8-4f99-8750-2180b47ef2e1/phones HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 115
    
    [{
    "Type": "PhoneNumber",
    "Contact": "79991234568",
    "Confirmed": false,
    "Primary": false,
    "Notification": false,
    "Usages": []
    }]
    

    Добавление телефона пользователя

    AddUserPhone

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса phone - Номер телефона пользователя
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/136d0be8-aebf-4322-8840-4f441f576a91/phones HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 18
    
    "+7(999)123-45-60"
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 110
    
    {
    "Type": "PhoneNumber",
    "Contact": "79991234560",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Проверка уникальности номера телефона пользователя

    CheckPhoneUnique

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/phones/{phone}/isunique
    Параметры в строке запроса phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserDataUniqueResult - Результат проверки уникальности данных пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user?/phones/1234567890/isunique HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    {   
        "Data": "1234567890",
        "IsUnique": true,
        "UniqueRequired": true,
    }
    

    Подтверждение номера телефона пользователя

    Метод используется, если не требуется отправка одноразового пароля.

    ConfirmUserPhone

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/confirm
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/e5ec3a9e-76a8-4f99-8750-2180b47ef2e1/phones/79991234568/confirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 110
    
    {
    "Type": "PhoneNumber",
    "Contact": "79991234568",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Запрос отправки одноразового пароля для подтверждения номера телефона

    RequireUserPhoneConfirmation

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/requireconfirm
    Параметры id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/phones/71238889900/requireconfirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Подтверждение номера телефона при помощи кода подтверждения (одноразового пароля)

    SubmitUserPhoneConfirmation

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/submitconfirm
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса confirmationCode - Код подтверждения
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/phones/71238889900/submitconfirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 7
    
    "91830"
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 110
    
    {
    "Type": "PhoneNumber",
    "Contact": "71238889900",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Установка номера телефона пользователя для идентификации (входа)

    SetUserPrimaryPhone

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/primary
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    primary - флаг, отвечающий за назначение телефона в качестве логина для идентификации (если это не запрещено на сервере)
    Параметры в теле запроса primary - флаг, отвечающий за назначение телефона в качестве логина для идентификации (если это не запрещено на сервере)
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/3538fb42-a6c1-442c-9a27-70de9f8aeed7/phones/79991234569/primary HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 5
    
    false
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 111
    
    {
    "Type": "PhoneNumber",
    "Contact": "79991234569",
    "Confirmed": true,
    "Primary": false,
    "Notification": true,
    "Usages": []
    }
    

    Установка номера телефона для получения уведомлений

    SetUserNotificationPhone

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/notification
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса notification - флаг, отвечающий за возможность получать уведомления на заданный номер
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/3538fb42-a6c1-442c-9a27-70de9f8aeed7/phones/79991234569/notification HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 5
    
    false
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 112
    
    {
    "Type": "PhoneNumber",
    "Contact": "79991234569",
    "Confirmed": true,
    "Primary": false,
    "Notification": false,
    "Usages": []
    }
    

    Назначение номера телефона для вторичной аутентификации и/или подтверждения операций

    SetUserSecondaryAuthPhone

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/secondaryauth
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/phones/71238889900/secondaryauth HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление номера телефона пользователя

    DeleteUserPhone

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    phone - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/136d0be8-aebf-4322-8840-4f441f576a91/phones/79991234560/ HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    (Для обратной совместимости) Назначение номера телефона для вторичной аутентификации и/или подтверждения операций

    GetUserPhoneTokenInfo

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserPhoneInfo - Информация о номере телефона пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/530c285f-047f-40d1-8daa-f7f882347ee0/phonenumber HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 46
    
    {
    "PhoneNumber": "79150000000",
    "Confirmed": true
    }
    

    (Для обратной совместимости) Установка номера телефона как основного (для входа, вторичной аутентификации, оповещения)

    SetUserMainPhone

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber
    Параметры в строке запроса id - Глобальный идентификатор пользователя
    Параметры в теле запроса phone - Номер телефона пользователя
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/a3a0a399-a918-4e8c-9008-2f652815de5f/phonenumber HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 13
    
    "79150000000"
    

    Пример ответа

    HTTP/1.1 200 OK
    

    (Для обратной совместимости) Открепление номера телефона от использования для вспомогательной аутентификации

    Примечание

    Данный метод может быть использован только если отключен соответствующий метод аутентификации (одноразовые пароли, доставляемые посредством SMS-сообщений, см. SetUserAuthenticationMethodOtpViaSms).

    DeleteUserPhone

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber
    Параметры в строке запроса id - Глобальный идентификатор пользователя
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/84e67841-ceaa-4f18-a706-eab0d2a997a1/phonenumber HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка адреса электронной почты пользователя

    Данная группа методов позволяет управлять адресами электронной почты пользователей.

    Получение списка адресов электронной почты пользователей

    GetUserEmails

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/emails HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 320
    
    [{
    "Type": "EmailAddress",
    "Contact": "asdad@asd.rrurururu",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
        "Usages": [{
        "Type": "OTP",
        "Title": "Одноразовые пароли",
        "Description": "Адресат получения одноразовых паролей для подтверждения операций"
        }]
    }]
    

    Добавление адреса электронной почты пользователя

    AddUserEmail

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса email - Адрес электронной почты пользователя
    Возвращаемое значение UserContactInfo - Контактная информация пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/d0d6f46e-0361-48d0-af76-5a6206d93b75/emails HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 33
    
    "umscontactinfotestuser@test1.ru"
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 131
    
    {
    "Type": "EmailAddress",
    "Contact": "umscontactinfotestuser@test1.ru",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Проверка уникальности адреса электронной почты пользователя

    CheckEmailUnique

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/phones/{email}/isunique
    Параметры в строке запроса email - Номер телефона пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserDataUniqueResult - Результат проверки уникальности данных пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user?/phones/sample@cp.ru/isunique HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 24
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 38
    
    {   
        "Data": "sample@cp.ru",
        "IsUnique": true,
        "UniqueRequired": true,
    }
    

    Подтверждение адреса электронной почты пользователя

    Метод используется, если не требуется отправка одноразового пароля.

    ConfirmUserEmail

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/confirm
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserContactInfo - Контактная информация пользователя
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/d5daff09-15bc-4519-928f-67aea39bae20/emails/umscontactinfotestuser@test2.ru/confirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 131
    
    {
    "Type": "EmailAddress",
    "Contact": "umscontactinfotestuser@test2.ru",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Запрос отправки одноразового пароля для подтверждения адреса электронной почты пользователя

    RequireUserEmailConfirmation

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/requireconfirm
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/emails/asdad@asd.rrurururu/requireconfirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Подтверждение адреса электронной почты при помощи кода подтверждения (одноразового пароля)

    SubmitUserEmailConfirmation

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/submitconfirm
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса confirmationCode - Код подтверждения
    Возвращаемое значение UserContactInfo - Контактная информация пользователя
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/emails/asdad@asd.rrurururu/submitconfirm HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 7
    
    "41069"
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 119
    
    {
    "Type": "EmailAddress",
    "Contact": "asdad@asd.rrurururu",
    "Confirmed": true,
    "Primary": true,
    "Notification": true,
    "Usages": []
    }
    

    Установка адреса электронной почты пользователя для идентификации (входа)

    SetUserPrimaryEmail

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/primary
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса primary - флаг, отвечающий за назначение почтового адреса в качестве логина для идентификации (если это не запрещено на сервере)
    Возвращаемое значение UserContactInfo - Контактная информация пользователя
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/1c4df002-ed3c-4c88-a395-8e2795a295c6/emails/umscontactinfotestuser@test3.ru/primary HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 5
    
    false
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 132
    
    {
    "Type": "EmailAddress",
    "Contact": "umscontactinfotestuser@test3.ru",
    "Confirmed": true,
    "Primary": false,
    "Notification": true,
    "Usages": []
    }
    

    Установка адреса электронной почты для получения уведомлений

    SetUserNotificationEmail

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/notification
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса notification - флаг, отвечающий за возможность получать уведомления на заданный почтовый адрес
    Возвращаемое значение UserContactInfo - Контактная информация пользователя
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/1c4df002-ed3c-4c88-a395-8e2795a295c6/emails/umscontactinfotestuser@test3.ru/notification HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 5
    
    false
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 133
    
    {
    "Type": "EmailAddress",
    "Contact": "umscontactinfotestuser@test3.ru",
    "Confirmed": true,
    "Primary": false,
    "Notification": false,
    "Usages": []
    }
    

    Установка адреса электронной почты для вторичной аутентификации

    SetUserSecondaryAuthEmail

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/secondaryauth
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/emails/asdad@asd.rrurururu/secondaryauth HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление адреса электронной почты пользователя

    DeleteUserEmail

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    email - Адрес электронной почты пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -
    Примечание

    Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.

    Для корректной обработки запроса сервером после адреса электронной почты необходимо помещать символ /.

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/d2ebbe7d-55b1-468e-9e30-9c101377572f/emails/testuser4@dss.ru/ HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    (Для обратной совместимости) Получение информации об адресе электронной почты пользователя назначенном для вспомогательной аутентификации

    GetUserEmailTokenInfo

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserEmailInfo - Информация об адресе электронной почты пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/0fd10693-f4a8-46b2-bb9b-aa9e0ae9760d/email HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 32
    
    {
    "Email": null,
    "Confirmed": false
    }
    

    (Для обратной совместимости) Установка адреса электронной почты пользователя в качестве основного (для входа, вторичной аутентификации и оповещения)

    SetUserMainEmail

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса email - Адрес электронной почты пользователя
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/0929c5b2-1ef3-4b23-b544-99a9658fe421/email HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 14
    
    "sample@cp.ru"
    

    Пример ответа

    HTTP/1.1 200 OK
    

    (Для обратной совместимости) Удаление адреса электронной почты пользователя

    Примечание

    Данный метод может быть использован только если отключен соответствующий метод аутентификации (одноразовые пароли, доставляемые посредством Email-сообщений, см. SetUserAuthenticationMethodOtpViaEmail).

    DeleteUserEmail

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/7d68d4f6-c398-4ce1-a217-8a097da42294/email HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка Push-адресов пользователей

    Данная группа методов позволяет управлять Push-адресами пользователей.

    Получение списка Push-адресов

    GetUserPushAddresses

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress/{activeOnly}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    activeOnly - Получить сведения только об активных устройствах пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение List< PushAddressContactInfo > - список Push-адресов пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/7d68d4f6-c398-4ce1-a217-8a097da42294/pushaddress/false HTTP/1.1
    

    Пример ответа

    GET HTTP/1.1 200 OK
    
    [
        {
            "PushAddress": {
                "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
                "OsType": 2,
                "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
            },
            "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
            "SystemName": "mysystem",
            "Kid": "1389544",
            "DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
            "State": "Active",
            "ExtendedInfo": null,
            "DataSource": "Tokens",
            "Type": "PushAddress",
            "Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
            "Confirmed": false,
            "Primary": false,
            "Notification": false,
            "Usages": null
        }
    ]
    

    Получение списка Push-адресов с возможностью фильтрации

    GetUserPushAddresses

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    PushAddressFilter - фильтр информации о PUSH-адресе пользователя
    Параметры в теле запроса -
    Возвращаемое значение List<PushAddressContactInfo> - список Push-адресов пользователя

    Пример запроса

    GET https://{{FeniksStand}}/{{feniksidp}}/ums/user/07ddacc4-cf5f-4ae4-8d9c-3caf7c6a9e3e/pushaddress?DataSource=all&ActiveOnly=false
    

    Пример ответа

    HTTP/1.1 200 OK
    
    [
        {
            "PushAddress": {
                "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
                "OsType": 2,
                "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
            },
            "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
            "SystemName": "mysystem",
            "Kid": "1389544",
            "DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
            "State": "Active",
            "ExtendedInfo": null,
            "DataSource": "All",
            "Type": "PushAddress",
            "Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
            "Confirmed": true,
            "Primary": false,
            "Notification": false,
            "Usages": []
        }
    ]
    

    Восстановление PUSH-адреса для оповещения пользователя

    Метод используется, если по некоторым причинам PUSH-адрес, связанный с мобильным устройством пользователя, был удален из контактной информации пользователя.

    RestoreUserPushAdressContact

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress/restore
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса PushAddressInfo - информация о PUSH-адресе устройства пользователя
    Возвращаемое значение PushAddressContactInfo - информация о Push-адресе пользователя

    Пример запроса

    POST https://{{hostname}}/{{instanceName}}/ums/user/07ddacc4-cf5f-4ae4-8d9c-3caf7c6a9e3e/pushaddress/restore
    
    {
        "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
        "OsType": 2,
        "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
        }
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "PushAddress": {
            "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
            "OsType": 2,
            "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
        },
        "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
        "SystemName": "mysystem",
        "Kid": "1389544",
        "DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
        "State": "Active",
        "ExtendedInfo": null,
        "DataSource": "All",
        "Type": "PushAddress",
        "Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
        "Confirmed": true,
        "Primary": false,
        "Notification": false,
        "Usages": null
        }
    

    Включение оповещения пользователя посредством PUSH-уведомлений

    SetUserNotificationPushAdress

    Параметр Значение
    HTTP-метод POST, PATCH
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress/notification/{notification}
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    notification - флаг, позволяющий включить (true) или отключить (false) оповещение при помощи PUSH-уведомлений (не является частью query string)
    Параметры в теле запроса PushAddressInfo - информация о PUSH-адресе устройства пользователя
    Возвращаемое значение PushAddressContactInfo - информация о Push-адресе пользователя

    Пример запроса

    POST https://{{FeniksStand}}/{{feniksidp}}/ums/user/07ddacc4-cf5f-4ae4-8d9c-3caf7c6a9e3e/pushaddress/notification/true
    
    {
        "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
        "OsType": 2,
        "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
        }
    

    Пример ответа

    HTTP/1.1 200 OK
    
    [
        {
            "PushAddress": {
                "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
                "OsType": 2,
                "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
            },
            "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
            "SystemName": "mysystem",
            "Kid": "1389544",
            "DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
            "State": "Active",
            "ExtendedInfo": null,
            "DataSource": "All",
            "Type": "PushAddress",
            "Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
            "Confirmed": true,
            "Primary": false,
            "Notification": true,
            "Usages": []
        }
    ]
    

    Удаление PUSH-адреса пользователя

    DeleteUserPushAddress

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress/
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса PushAddressInfo - информация о PUSH-адресе устройства пользователя
    Возвращаемое значение PushAddressContactInfo - информация о Push-адресе пользователя

    Пример запроса

    DELETE https://{{FeniksStand}}/{{feniksidp}}/ums/user/07ddacc4-cf5f-4ae4-8d9c-3caf7c6a9e3e/pushaddress/ HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    
    [
        {
            "PushAddress": {
                "Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
                "OsType": 2,
                "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
            },
            "SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
            "SystemName": "mysystem",
            "Kid": "1389544",
            "DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
            "State": "Active",
            "ExtendedInfo": null,
            "DataSource": "All",
            "Type": "PushAddress",
            "Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
            "Confirmed": true,
            "Primary": false,
            "Notification": true,
            "Usages": []
        }
    ]
    

    Настройка протокола OATH (одноразовые пароли на брелках и приложения-аутентификаторы)

    Назначение пользователю токена аутентификации HOTP или TOTP

    SetUserOtpToken

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса OtpTokenInfo - информация о токене, назначаемом пользователю
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/oath HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 62
    
    
    {
    "Serial": "AA000001",
    "FirstOtp": "189034",
    "SecondOtp": "223303"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Синхронизация токена аутентификации HOTP или TOTP

    RestoreUserOtpTokenSync

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath/sync
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса OtpTokenInfo - информация о токене, назначаемом пользователю
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/oath/sync HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 62
    
    
    {
    "Serial": "AA000001",
    "FirstOtp": "189034",
    "SecondOtp": "223303"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Создание данных для приложения-аутентификатора

    CreateUserOathAppData

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath/app
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса OAthAppTokenRequest - данные для регистрации OATH-приложения ({})
    Возвращаемое значение UserAppOtpTokenInfo - данные для инициализации приложения-аутентификатора

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/oath/app HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 62
    
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "QrCode": "iVBORw0KGgoAAAANSUhEUgAAASYAAAEmCA...",
        "QrCodeData": "otpauth://totp/CryptoProKey:login?secret=KTVJCC4WFLXAE4U...6YSW&issuer=CryptoProKey",
        "SecretBase32": "KTVJCC4WFLXAE4UW6GYJFTLSP3NL6YSW",
        "Serial": "7511646",
        "Type": "TOtp"
    }
    

    Получение информации о прикрепленном к пользователю токене

    GetUserOtpTokenInfo

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserOtpTokenInfo - Информация об OTP-токене пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/oath HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 35
    
    {
    "Serial": "AA000001",
    "Type": "HOTP"
    }
    

    Удаление закрепленного за пользователем токена

    RemoveUserOtpToken

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/612a7f3f-49a1-48ed-ac27-d47062f68b1a/oath HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Общие настройки аутентификации

    Получение схемы аутентификации пользователя

    GetUserAuthenticationScheme

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение List<AuthenticationInfo> - Список с информацией о шагах схемы аутентификации пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/authmethod HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 194
    
    [{
    "MethodUri": "http: //schemas.microsoft.com/ws/2012/09/identity/authenticationmethod/none",
    "Level": 0
    },
    {
    "MethodUri": "http: //dss.cryptopro.ru/identity/authenticationmethod/otpviaemail",
    "Level": 1
    }]
    

    Назначение метода аутентификации пользователя Identification Only

    SetUserAuthenticationMethodIdOnly

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/idonly
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/e6c3240b-e9f8-44c1-b662-0e0937883eaa/authmethod/idonly HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя Identification Only

    DeleteUserAuthenticationMethodIdOnly

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/idonly
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/e33d3b69-4461-4789-a9cc-ce07f8bfca07/authmethod/idonly HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя по паролю

    SetUserAuthenticationMethodPassword

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/password
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/958186d2-5514-4ab3-8f22-ae9c34417675/authmethod/password HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя по паролю

    DeleteUserAuthenticationMethodPasword

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/password
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/password HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя по сертификату

    SetUserAuthenticationMethodCert

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/cert
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/dc723f91-2728-426c-a18b-fe5c5d2499b9/authmethod/cert HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя по сертификату

    DeleteUserAuthenticationMethodCert

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/cert
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/cert HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя через внешний ЦИ

    SetUserAuthenticationMethodSaml

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/external
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/399397a2-7d86-42fa-a95a-5a943db1aea2/authmethod/external HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя через внешний ЦИ

    DeleteUserAuthenticationMethodSaml

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/external
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/external HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя через одноразовые пароли по SMS

    SetUserAuthenticationMethodOtpViaSms

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviasms
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    level - Шаг аутентификации (int)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/7184647a-fc20-4a23-a77f-9a1c6172c82b/authmethod/otpviasms?level=1 HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя через одноразовые пароли по SMS

    DeleteUserAuthenticationMethodOtpViaSms

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviasms
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/otpviasms HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя через одноразовые пароли по электронной почте

    SetUserAuthenticationMethodOtpViaEmail

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviaemail
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    level - Шаг аутентификации (int)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/authmethod/otpviaemail?level=1 HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя через одноразовые пароли по электронной почте

    DeleteUserAuthenticationMethodOtpViaEmail

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviaemail
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/7f0f902e-dc9b-462e-a3c3-c4d6b21ba013/authmethod/otpviaemail HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя через OTP-токен

    SetUserAuthenticationMethodOAth

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/oath
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    level - Шаг аутентификации (int)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/authmethod/oath?level=1 HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя через OTP-токен

    DeleteUserAuthenticationMethodOAth

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/oath
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/oath HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Назначение метода аутентификации пользователя при помощи мобильного приложения

    SetUserAuthenticationMethodMyDss

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    level - Шаг аутентификации (int)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/58149f21-fbad-4606-a2d3-e80141e85a11/authmethod/mydss?level=1 HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление метода аутентификации пользователя при помощи мобильного приложения

    DeleteUserAuthenticationMethodMyDss

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/mydss HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Получение подробной аутентификационной информации пользователя

    GetUserRawAuthenticationDataAsync

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/rawauthdata
    Параметры в строке запроса -
    Параметры в теле запроса UserRawAuthDataRequest - Запрос на аутентификационную информацию пользователя
    Возвращаемое значение Сведения о запрошенных методах аутентификации пользователя (String)

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/rawauthdata HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 208
    
    {
    "UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
    "AuthnMethods": ["http: //dss.cryptopro.ru/identity/authenticationmethod/password", "http: //dss.cryptopro.ru/identity/authenticationmethod/otpviasms"],
    "Format": 0
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 460
    
    "{\"UserId\": \"9fba6076-3509-4e8e-abc1-dae6d052a230\",\"AuthMethodInfos\": [{\"AuthnMethod\": \"http: //dss.cryptopro.ru/identity/authenticationmethod/password\",\"Confirmed\": true,\"Parameters\": [{\"Key\": \"HasPassword\",\"Value\": \"True\"}]},{\"AuthnMethod\": \"http: //dss.cryptopro.ru/identity/authenticationmethod/otpviasms\",\"Confirmed\": true,\"Parameters\": [{\"Key\": \"PhoneNumber\",\"Value\": \"78889996655\"},{\"Key\": \"Confirmed\",\"Value\": \"true\"}]}]}"
    

    Настройка аутентификации при помощи мобильного приложения

    • Назначить пользователю существующее мобильное устройство
    • Создание QR-кода с Kinit
    • Получение существующего QR-кода с Kinit
    • Отправка QR-кода на email
    • Повторная отправка кода активации на KInit
    • Удалить QR-код с Kinit
    • Получение QR-кода с Nonce
    • Получение информации о ключах аутентификации
    • Блокировка/разблокировка устройства пользователя
    • Удаление вектора аутентификации пользователя
    • Удаление всех векторов аутентификации

    Назначение пользователю существующего мобильного устройства

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/assign
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssAssignKeyRequest - Информация о добавляемом устройстве
    Возвращаемое значение MyDssKeyInfo - Информация об устройстве

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss/assign HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {"Kid":"73128110"}
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
    "Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
    "Kid":"73128110",
    "DeviceName":"MyApple",
    "NotBefore":1574869065,
    "NotAfter":1614440265,
    "State":"NotVerified",
    "UserName":"MdagTestUser-D547B268",
    "Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{}}",
    "NonceRequired":true
    }
    

    Типовые ошибки

    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 key_not_found Анонимное устройство с идентификатором [ kid ] не найдено.

    Создание QR-кода с Kinit

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init
    Параметры в строке запроса id - Глобальный идентификатор пользователя (query string)
    Параметры в теле запроса MyDssKInitRequest - Информация для получения QR-кода и отправки кода активации
    Возвращаемое значение MyDssCreatedKeyInfoEx - Информация об устройстве и K-init
    Примечание

    Если настройками сервера отключено требование кодов активации KInit, то параметры Msisdn и Email игнорируются.

    Примечание

    Если настройками сервера включено требование подтверждения контактной информации, то указанные в параметрах Msisdn и Email должны быть заранее зарегистрированы в профиле пользователя.

    Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "KeyInfo":
            {
                "EncryptedBlobs":"ASAAA ... ADQBS9V",
                "PublicKey":null,
                "Seed":null,
                "ActivationRequired":false,
                "ServiceUrl":"https:/hostname:4430/mdagname",
                "Alias":null,
                "Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
                "Kid":"73128502",
                "DeviceName":null,
                "NotBefore":1574880257,
                "NotAfter":1614451457,
                "State":"Active",
                "UserName":null,
                "Profile":null,
                "NonceRequired":false
            },
        "QrCode":"R0lGODlhLAEsAf...",
        "QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
    }
    
    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 initialization_key_already_exists У пользователя уже есть ключ инициализации нового устойства.
    400 invalid_contact_info * Параметр [Msisdn] не задан или имеет невалидный формат.
    * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя.
    400 wrong_operation * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения.
    * Контактная информация [contact] типа [contactType] не добавлена для этого пользователя.
    400 invalid_license
    500 internal_error Внутренняя ошибка сервиса. Необходимо обратиться к Администратору.

    Получение существующего QR-кода с Kinit

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/get
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение MyDssCreatedKeyInfoEx - Информация об устройстве и K-init

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/get HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "KeyInfo":
            {
                "EncryptedBlobs":"ASAAA ... ADQBS9V",
                "PublicKey":null,
                "Seed":null,
                "ActivationRequired":false,
                "ServiceUrl":"https:/hostname:4430/mdagname",
                "Alias":null,
                "Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
                "Kid":"73128502",
                "DeviceName":null,
                "NotBefore":1574880257,
                "NotAfter":1614451457,
                "State":"Active",
                "UserName":null,
                "Profile":null,
                "NonceRequired":false
            },
        "QrCode":"R0lGODlhLAEsAf...",
        "QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
    }
    
    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 key_not_found Ключ инициализации не найден.

    Отправка QR-кода на email

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/sendqr
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssKInitSendRequest - Информация для отправки QR-кода (email)
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/sendqr HTTP/1.1
    
    {
        "Email": "example@info.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    
    HTTP-код Ошибка Описание
    404 Пользователь не найден.
    400 key_not_found У пользователя нет ключа инициализации нового устройства.
    400 invalid_contact_info Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя.
    400 wrong_operation * Возможность отправки QR-кода по электронной почте отключена.
    * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения.
    * Контактная информация [%email%] типа [EmailAddress] не добавлена для этого пользователя.
    400 contact_information_required Контактная информация [%email%] типа [EmailAddress] не подтверждена.

    Повторная отправка кода активации на KInit

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/resendotp
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssKInitRequest - Информация для получения QR-кода и отправки кода активации
    Возвращаемое значение -
    Примечание

    Если настройками сервера включено требование подтверждения контактной информации, то указанные в параметрах Msisdn и Email должны быть заранее зарегистрированы в профиле пользователя.

    Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init/resendotp HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {"msisdn":"71234567890"}
    

    Пример ответа

    HTTP/1.1 200 OK
    
    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 key_not_found Ключ инициализации не найден.
    400 invalid_contact_info * Параметр [Msisdn] не задан или имеет невалидный формат.
    * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя.
    400 wrong_operation * У ключа инициализации нового устойства нет кода активации.
    * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения.
    * Контактная информация [contact] типа [contactType] не добавлена для этого пользователя.

    Удаление QR-кода с Kinit

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/delete
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение Отсутствует

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/delete HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Типовые ошибки

    HTTP-код Ошибка Описание
    404 Пользователь не найден
    400 wrong_operation У пользователя нет ключа инициализации нового устойства.

    Получение QR-кода с Nonce

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/verify/get
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssGetVerificationDataRequest - Информация об устройстве
    Возвращаемое значение Отсутствует

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/verify/get HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {"Kid":"73128110"}
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
    "QrCode":"R0lGODlhLA ... RczdZ8zdiczdq8zdzczd78zeAczuI8zuRczuZ8zuisEgEBADs=",
    "QrCodeData":"{\"type\":\"Verification\",\"version\":1,\"data\":{\"kid\":\"73128110\",\"uid\":\"8d16086d-676c-49d6-bf49-09e6f936a596\",\"service_url\":\"https://teststand.cryptopro.ru:4430/mydss\",\"seed\":\"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=\",\"nonce\":\"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw=\"}}",
    "Data":
        {
        "type":"Verification",
        "version":1,
        "data":
            {
                "kid":"73128110",
                "uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
                "service_url":"https://hostname:4430/mydss",
                "seed":"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=",
                "nonce":"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw="
            }
        }
    }
    

    Получение информации о ключах аутентификации

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserMyDssAuthInfo - сведения об устройствах пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
     "UserId":"8d16086d-676c-49d6-bf49-09e6f936a596",
     "Keys":
        [
            {
                "Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
                "Kid":"73128110",
                "DeviceName":"MyApple",
                "NotBefore":1574869065,
                "NotAfter":1614440265,
                "State":"NotVerified",
                "UserName":"MdagTestUser-D547B268",
                "Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
                "NonceRequired":true
            }
        ],
     "InitializationToken":null}
    

    Блокировка/разблокировка устройства пользователя

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/lockout
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssLockoutDeviceRequest - Информация об устройстве
    Возвращаемое значение MyDssKeyInfo - Обновленная нформация об устройстве

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/lockout HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {
        "Kid": "73128110",
        "Lock": true
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "Uid": "9fba6076-3509-4e8e-abc1-dae6d052a230",
        "Kid": "73128110",
        "DeviceName": "MyApple",
        "NotBefore":1574869065,
        "NotAfter":1614440265,
        "State": "NotVerified,Blocked",
        "UserName": "MdagTestUser-D547B268",
        "Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
        "NonceRequired":true
    }
    

    Удаление вектора аутентификации пользователя

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/delete
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssDeleteKeyRequest - Информация об устройстве
    Возвращаемое значение Отсутствует

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/delete HTTP/1.1
    Content-Type: application/json; charset=utf-8
    
    {"Kid":"73128110"}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Удаление всех векторов аутентификации

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка политики подтверждения операций

    Получение политики подтверждения операций пользователя

    GetUserOperationPolicy

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/operationpolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string),
    full - необходимость возврата полной модели политики подтверждения операций (необязательный параметр)
    Параметры в теле запроса -
    Возвращаемое значение UserOperationPolicy - Политика подтверждения операций пользователя при наличии параметра full, равного true;
    List<OperationPolicy> - Политика подтверждения операций пользователя в режиме обратной совместимости

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/1e4ba67f-937d-48a4-9852-93bcff012486/operationpolicy?full=true HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 680
    
    {
        "Policy": [
            {
                "Action": "Issue",
                "ConfirmationRequired": false
            },
            {
                "Action": "SignDocument",
                "ConfirmationRequired": false
            },
            {
                "Action": "DecryptDocument",
                "ConfirmationRequired": false
            },
            {
                "Action": "CreateRequest",
                "ConfirmationRequired": false
            },
            {
                "Action": "ChangePin",
                "ConfirmationRequired": false
            },
            {
                "Action": "RenewCertificate",
                "ConfirmationRequired": false
            },
            {
                "Action": "RevokeCertificate",
                "ConfirmationRequired": false
            },
            {
                "Action": "HoldCertificate",
                "ConfirmationRequired": false
            },
            {
                "Action": "UnholdCertificate",
                "ConfirmationRequired": false
            },
            {
                "Action": "DeleteCertificate",
                "ConfirmationRequired": false
            },
            {
                "Action": "PrivateKeyAccess",
                "ConfirmationRequired": false
            }
        ],
        "ChangesAllowed": true
    }
    

    Установка политики подтверждения операции пользователя

    SetUserOperationPolicy

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/operationpolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса IList<DSSActions> - Список операций, для которых требуется подтверждение
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/519900cc-fb54-40ab-8b44-794d5fd7dc1b/operationpolicy HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 8
    
    [2,
    1024]
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка политики доступа к операциям

    Получение политики доступа к операциям

    GetUserAccessPolicy

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/accesspolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string),
    full - необходимость возврата полной модели политики доступа к операциям (необязательный параметр)
    Параметры в теле запроса -
    Возвращаемое значение UserAccessPolicy - Политика доступа к операциям пользователя при наличии параметра full, равного true;
    List<AccessPolicy> - Политика доступа к операциям пользователя в режиме обратной совместимости

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/accesspolicy?full=true HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 445
    
    {
        "Policy": [
            {
                "Action": "SignDocument",
                "AccessDenied": false
            },
            {
                "Action": "DecryptDocument",
                "AccessDenied": false
            },
            {
                "Action": "CreateRequest",
                "AccessDenied": false
            },
            {
                "Action": "DeleteCertificate",
                "AccessDenied": false
            },
            {
                "Action": "RenewCertificate",
                "AccessDenied": false
            },
            {
                "Action": "RevokeCertificate",
                "AccessDenied": false
            },
            {
                "Action": "HoldCertificate",
                "AccessDenied": false
            },
            {
                "Action": "UnholdCertificate",
                "AccessDenied": false
            },
            {
                "Action": "ChangePin",
                "AccessDenied": false
            }
        ],
        "ChangesAllowed": true
    }
    

    Установка политики доступа к операциям

    SetUserAccessPolicy

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/accesspolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса IList<DSSActions> - Список операций, для которых требуется подтверждение
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/accesspolicy HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 6
    
    [2,
    16]
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Настройка политики оповещения

    Получение списка событий о которых может быть оповещен пользователь

    GetNotificationEvents

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/notificationpolicy/events
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserEventsInfo

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/notificationpolicy/events HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    
    {
        "Events": [
            {
                "Type": "UserAccountChanged",
                "Category": "UserAccount",
                "Description": "Изменение данных учетной записи пользователя"
            },
            {
                "Type": "UserPasswordChanged",
                "Category": "UserAccount",
                "Description": "Изменение пароля пользователем"
            },
    
    <...>
    
            {
                "Type": "Type N",
                "Category": "cat",
                "Description": "Ошибка действия M"
            }
        ],
        "EventCategories": [
            {
                "Category": "Certificates",
                "Description": "Операции с сертификатами"
            },
            {
                "Category": "CertificatesV2",
                "Description": "Операции с сертификатами (v2 API)"
            },
    
    <...>
    
            {
                "Category": "Authentication",
                "Description": "Аутентификация пользователей"
            }
        ]
    }
    

    Получение политики оповещения

    GetNotificationPolicy

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/notificationpolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserNotificationPolicy - Политика оповещения пользователя

    Пример запроса

    GET https://{{hostName}}/{{instanceName}}/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/notificationpolicy HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Content-Length: 445
    
    {
        "Policy": {},
        "ChangesAllowed": false,
        "AvailableNotifiers": [
            "SMS",
            "Push"
        ]
    }
    

    Установка политики оповещения

    SetNotificationPolicy

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/notificationpolicy
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса Policy - Dictionary<EventTypeEnum, List<DssNotifier>> - словарь событий и соответствующих им способов оповещения дл каждого из событий
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/notificationpolicy HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 6
    
    {
        "CertificatesRequested": [ "Email", "SMS" ],
        "RevokeRequestsRequested": [ "Email", "SMS", "Push" ],
    }
    
    Примечание

    При отправке запроса текущая политика оповещения пользователя будет перезаписана. В словаре необходимо указывать все события, для которых требуется оповещение.

    Пример ответа

    HTTP/1.1 200 OK
    

    Блокировка/разблокировка пользователя

    SetUserLockoutState

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/lockout
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    lock - Требуемое состояние учетной записи (True или False)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/lockout?lock=True HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 2
    
    {}
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Отложенная блокировка пользователя

    SetUserLockoutStateEx

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/lockoutex
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    UserLockoutRequest - Параметры блокировки
    Параметры в теле запроса UserLockoutRequest - Параметры блокировки
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/lockoutex HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 58
    
    {
        "LockUser": true,
        "UseLockoutDelay": true,
        "LockoutDelay": 30
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    

    Отзыв прав приложений на доступ к ресурсам (OAuth)

    RevokeUserGrants

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/user/{id}/grants/revoke
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/user/9fba6076-3509-4e8e-abc1-dae6d052a230/grants/revoke HTTP/1.1
    Content-Type: application/json; charset=utf-8
    Content-Length: 6
    

    Пример ответа

    HTTP/1.1 200 OK
    
    В начало © ООО "КРИПТО-ПРО", 2000–2025