REST-запросы к балансировщику

<< Показать Оглавление >>

Настройка > Настройка голосовой активации      

REST-запросы к балансировщику

В этом разделе приведены запросы для централизованного управления доступом к голосовой активации на клиентах.

•[POST] /api/servers

•[POST] /api/settings

•[POST] /api/VAC/AllowClients

•[POST] /api/VAC/DenyClients

•[POST] /api/VAC/DeleteClients

•[GET] /api/VAC/List

[POST] /api/servers

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

Параметры запроса

Название

Тип данных

Описание

ClientId (не обязательно)

UUID

Идентификатор клиента

GetVacFeatureStatus (не обязательно)

Boolean

Параметр, при отправке которого балансировщик возвращает сведения о статусе настройки голосовой активации (либо статус по умолчанию для всех клиентов, либо статус для конкретного ClientId, если он передан)

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

http://<хост балансировщика>:39255/api/servers?ClientId=<идентификатор клиента>&GetVacFeatureStatus=true

Тело запроса

Отсутствует.

Ответ

В ответе возвращается JSON-структура со следующими полями:

Название

Тип данных

Описание

TimeStamp

DateTime

Дата и время балансировщика в момент запроса

RecommendedServer (не обязательно)

ServerInfo

Рекомендованный сервер. Возвращается, если указан ClientId

ServerList

Список ServerInfo

Список серверов, подключенных к этому балансировщику

VacEnabled (не обязательно)

Nullable Boolean

Статус настройки голосовой активации: доступна или недоступна.

Если не указан ClientId, возвращается статус настройки для всех клиентов, подключенных к этому балансировщику.

При true разрешено использовать голосовую активацию.

При false запрещено использовать голосовую активацию.

При null (если настройка не задана) доступ к голосовой активации определяется файлом конфигурации клиента. См. примеры

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

{

    "Data": {

        "TimeStamp": "2023-01-17T09:26:06.0673989Z",

        "RecommendedServer": {

            "ServerId": "9fb6fd20-8343-4f20-a2cc-e50ae167444d",

            "ConnectionString": "dsrv-314;34000;39255",

            "CanAcceptClient": true,

            "EstimatedLoadLevel": 0.0,

            "DeclaredLoadLevel": 0.0,

            "LastUpdateDate": "2023-01-17T09:25:13.5108681Z",

            "LoadPerClient": 0.125

        },

        "ServerList": [

            {

                "ServerId": "9fb6fd20-8343-4f20-a2cc-e50ae167444d",

                "ConnectionString": "dsrv-314;34000;39255",

                "CanAcceptClient": true,

                "EstimatedLoadLevel": 0.0,

                "DeclaredLoadLevel": 0.0,

                "LastUpdateDate": "2023-01-17T09:25:13.5108681Z",

                "LoadPerClient": 0.125

            },

            {

                "ServerId": "5af5b482-87fa-4ea4-acaf-330c2b2fd144",

                "ConnectionString": "dsrv-333;34000;39255",

                "CanAcceptClient": true,

                "EstimatedLoadLevel": 0.1,

                "DeclaredLoadLevel": 0.0,

                "LastUpdateDate": "2023-01-17T09:26:00.0494181Z",

                "LoadPerClient": 0.1

            }

        ],

        "VacEnabled": true

    },

    "Error": null

}

[POST] /api/settings

Этот запрос задает глобальную настройку голосовой активации (доступна/недоступна) для всех подключенных к балансировщику клиентов.

Параметры

Название

Тип данных

Описание

VacEnabled (не обязательно)

Nullable Boolean

Доступ к голосовой активации на клиентах, подключенных к балансировщику.

При true разрешено использовать голосовую активацию.

При false запрещено использовать голосовую активацию. См. примеры

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

http://<хост балансировщика>:39255/api/settings

Тело запроса

{

    "VacEnabled": false

}

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

{

    "Data": {

        "VacEnabled": false

    },

    "Error": null

}

[POST] /api/VAC/AllowClients

Этот запрос добавляет ClientId в белый список клиентов, на которых всегда разрешена голосовая активация.

Если ClientId был в черном списке, то он будет удален из черного списка и добавлен в белый.

Если ClientId уже в белом списке, второй раз он добавлен не будет.

Параметры

Название

Тип данных

Описание

ClientIds

список UUID

Список идентификаторов клиентов

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

http://<хост балансировщика>:39255/api/VAC/AllowClients

Тело запроса

{

    "ClientIds": [

        "b4fd347d-9fd8-4122-b325-2ee6f8fdbb63",

        "afa9dea8-6a71-4f22-b432-218c776527fc",

        "27b6a5a4-fd81-4663-9aa1-d8d6d5ed694a"

    ]

}

Ответ

При успешном выполнении с ответом возвращается код 200.

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

{

    "Data": true,

    "Error": null

}

[POST] /api/VAC/DenyClients

Этот запрос добавляет ClientId в черный список клиентов, на которых всегда запрещена голосовая активация.

Если ClientId был в белом списке, то он будет удален из белого списка и добавлен в черный.

Если ClientId уже в черном списке, второй раз он добавлен не будет.

Параметры

Название

Тип данных

Описание

ClientIds

список UUID

Список идентификаторов клиентов

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

http://<хост балансировщика>:39255/api/VAC/DenyClients

Тело запроса

{

    "ClientIds": [

        "402a8a7b-8fa6-40ce-8ba6-f23129dcb656",

        "80e89fc1-7493-4cdc-bbfc-5b05a9d739ee",

        "a79edc87-cb22-4cb6-b24e-a06da7d9a803"

    ]

}

Ответ

При успешном выполнении с ответом возвращается код 200.

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

{

    "Data": true,

    "Error": null

}

[POST] /api/VAC/DeleteClients

Удаляет ClientId из белого или черного списка.

Параметры

Название

Тип данных

Описание

ClientIds

список UUID

Список идентификаторов клиентов

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

http://<хост балансировщика>:39255/api/VAC/DeleteClients

Тело запроса

{

    "ClientIds": [

        "402a8a7b-8fa6-40ce-8ba6-f23129dcb656",

        "a79edc87-cb22-4cb6-b24e-a06da7d9a803"

    ]

}

Ответ

При успешном выполнении с ответом возвращается код 200.

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

{

    "Data": true,

    "Error": null

}

[GET] /api/VAC/List

Этот запрос выводит черный и белый списки клиентов. Параметры и тело запроса отсутствуют.

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

http://<хост балансировщика>:39255/api/VAC/List

Ответ

В ответе возвращаются черный и белый списки в виде JSON-структуры.

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

{

    "Data": {

        "Allowed": [

            "82523476-3e78-4d29-9228-0c41ecde583111"

        ],

        "Denied": [

            "cacb56cc-dc8a-40b3-a6c3-1448704be568"

        ]

    },

    "Error": null

}