REST API

Примечание

Для получения доступа к API нужно отправить следующие заголовки:

  • –header „ipaddr: ipaddr
  • –header „domain: domain
  • –header „user: user
  • –header „password: password

RemoteApp API

Информация о модуле.

Подробная информация о модуле.

GET
/api/
Получение подробной информации о модуле.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api'
Ответ
Параметры ответа:
Name In Type Description
version body object Версия модуля.

Пример получения информации о модуле в JSON формате:

{
    "versions": {
        "values": [
            {
                "id": "v1.0",
                "links": [
                    {
                        "href": "/api/v1/",
                        "rel": "self"
                    }
                ],
                "media-types": [
                    {
                        "base": "application/json",
                        "type": "application/accentos-ra-v1+json"
                    }
                ],
                "status": "stable",
                "updated": "2021-08-19T00:00:00Z"
            }
        ]
    }
}

Приложения (Applications).

Действия над приложениями.

GET
/api/v1/app
Получение приложений.

Получение всех приложений в виде списка словарей.

Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/app'
Ответ
Параметры ответа:
Name In Type Description
desc body string Описание приложения.
ico body string Иконка приложения.
id body string Идентификатор приложения.
name body string Название приложения.
path body string Путь приложения.
pub body string Тип публикации.
type body string Тип приложения.

Пример результата в JSON формате:

[
    {
        "desc": "desc: desc",
        "ico": "skype",
        "id": 1,
        "name": "app: 1",
        "path": "path: /etc/",
        "pub": 1,
        "type": 1
    }
]
POST
/api/v1/app
Создание приложений.
Запрос
Параметры запроса:
Name In Type Description
desc body string Описание приложения.
ico body string Иконка приложения.
name body string Название приложения.
path body string Путь приложения.
pub body string Тип публикации.
type body string Тип приложения.
Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/app' --data-raw '{"desc": "desc: desc", "ico": "skype", "name": "app: 1", "path": "path: /etc/", "pub": 1, "type": 1}'
Ответ
Параметры ответа:
Name In Type Description
desc body string Описание приложения.
ico body string Иконка приложения.
name body string Название приложения.
path body string Путь приложения.
pub body string Тип публикации.
type body string Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 4,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
GET
/api/v1/{api_id}
Получение приложений по ID.
Запрос
Параметры запроса:
Name In Type Description
id body string Идентификатор приложения.
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/app/1' --data-raw ''
Ответ
Параметры ответа:
Name In Type Description
desc body string Описание приложения.
ico body string Иконка приложения.
name body string Название приложения.
path body string Путь приложения.
pub body string Тип публикации.
type body string Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 1,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
PATCH
/api/v1/app/{app_id}
Обновление приложений.
Запрос
Параметры запроса:
Name In Type Description
desc (Optional) body string Описание приложения.
id body string Идентификатор приложения.
ico (Optional) body string Иконка приложения.
name (Optional) body string Название приложения.
path (Optional) body string Путь приложения.
pub (Optional) body string Тип публикации.
type (Optional) body string Тип приложения.
Пример запроса:
curl --location --request PATCH 'http://localhost:8001/api/v1/app/1' --data-raw '{"desc": "desc: desc", "ico": "skype", "id": 1, "name": "app: 1. Patched", "path": "path: /etc/", "pub": 1, "type": 1}'
Ответ
Параметры ответа:
Name In Type Description
desc body string Описание приложения.
ico body string Иконка приложения.
name body string Название приложения.
path body string Путь приложения.
pub body string Тип публикации.
type body string Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 1,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
DELETE
/api/v1/app/{app_id}
Удаление приложений.
Запрос
Параметры запроса:
Name In Type Description
id body string Идентификатор приложения.
Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/app/1' \ --data-raw ''

Эта операция не имеет содержания ответа.

Виртуальные машины.

Действия с виртуальными машинами.

GET
/api/v1/vm
Получение списка виртуальных машин, связанных с приложениями.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/vm' \ --data-raw ''
Ответ
Параметры ответа:
Name In Type Description
vm_app_id body string Идентификатор приложения.
vm_id body string Идентификатор виртуальной машины.
vm_uid body string UID виртуальной машины.

Пример результата в JSON формате:

[
    {
        "app_id": 1,
        "id": 1,
        "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
    },
    {
        "app_id": 2,
        "id": 2,
        "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
    },
]
GET
/api/v1/vm/{vm_id}
Получение приложения, связанного с виртуальной машиной по ID.
Запрос
Параметры запроса:
Name In Type Description
vm_id body string Идентификатор виртуальной машины.
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/vm/1' --data-raw ''
Ответ
Параметры ответа:
Name In Type Description
vm_app_id body string Идентификатор приложения.
vm_id body string Идентификатор виртуальной машины.
vm_uid body string UID виртуальной машины.

Пример результата в JSON формате:

{
    "app_id": 1,
    "id": 1,
    "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
}
POST
/api/v1/vm/
Создание связи между приложением и виртуальной машиной.
Запрос
Параметры запроса:
Name In Type Description
vm_app_id body string Идентификатор приложения.
vm_uid body string UID виртуальной машины.
Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/vm' \--data-raw '{"app_id": 1,"uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"}'
Ответ
Параметры ответа:
Name In Type Description
vm_app_id body string Идентификатор приложения.
vm_uid body string UID виртуальной машины.
vm_id body string Идентификатор виртуальной машины.

Пример результата в JSON формате:

{
    "app_id": 1,
    "id": 8,
    "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
}
DELETE
/v1/node-classes/{vm_id}
Удаление связи между приложением и виртуальной машиной.
Запрос
Параметры запроса:
Name In Type Description
vm_id body string Идентификатор виртуальной машины.
Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/vm' --data-raw '{"app_id": 1,"uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"}'

Эта операция не имеет содержания ответа.

Шаблоны.

Действия с шаблонами.

GET
/api/v1/type
Получение списка шаблонов.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/type' --data-raw ''
Ответ
Параметры ответа:
Name In Type Description
ext body string Ext.
template_id body string Идентификатор шаблона.
os_type body string Тип операционной системы.
template body string Шаблон.
template_type body string Тип шаблона.

Пример результата в JSON формате:

[
    {
        "ext": "rdp",
        "id": 1,
        "os_type": "appv",
        "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
        "type": "mstsc"
    }
]
GET
/api/v1/type/{template_id}
Получение шаблона по ID.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/type/2' --data-raw '{
 "ext": "rdp: Patch",
 "os_type": "appv",
 "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
 "type": "mstsc"}'
Ответ
Параметры ответа:
Name In Type Description
ext body string Ext.
template_id body string Идентификатор шаблона.
os_type body string Тип операционной системы.
template body string Шаблон.
template_type body string Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp",
    "id": 2,
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
POST
/api/v1/type
Создание шаблона.
Запрос
Name In Type Description
ext body string Ext.
os_type body string Тип операционной системы.
template body string Шаблон.
template_type body string Тип шаблона.
Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/type' --data-raw '{
    "ext": "rdp: Patch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"}'
Ответ
Параметры ответа:
Name In Type Description
ext body string Ext.
template_id body string Идентификатор шаблона.
os_type body string Тип операционной системы.
template body string Шаблон.
template_type body string Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp: Patch",
    "id": 3,
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
PATCH
/api/v1/type
Обновление шаблона.
Запрос
Пример запроса:
curl --location --request PATCH 'http://localhost:8001/api/v1/type/1' --data-raw '{
    "ext": "rdp: PatchToPatch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"}'
Ответ
Параметры ответа:
Name In Type Description
ext body string Ext.
template_id body string Идентификатор шаблона.
os_type body string Тип операционной системы.
template body string Шаблон.
template_type body string Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp: PatchToPatch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
DELETE
/api/v1/type/{template_id}
Удаление шаблона.
Запрос
Параметры запроса:
Name In Type Description
template_id body string Идентификатор шаблона.
Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/type/2' --data-raw ''

Эта операция не имеет содержания ответа.

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