API / Публичные API очереди задач

Публичные API очереди задач

Создание задачи

Метод запроса

POST

Протокол

HTTP

Запрос

http://example.com:48080/v1/orchestra/task/create

Тело запроса:

{
"auth_tkn":"5d5ec66f-357d-4c2d-bbc1-2012278d2361",
"task":
    {
    "process":"c39f99de-cb8f-4661-a206-b282a4830cbf",
    "version":0,
    "ctx": "{\"StringParam_in\":\"Строковое значение\",\"FileParam_in\":\"http://127.0.0.1:8088/v1/task/download_elma?uid=c054ab8e-cd33-429e-b4f3-7f61abcfd381&system=5d5ec66f-357d-4c2d-bbc1-2012278d2361\",\"DateTimeParam_in\":\"2020-03-22T00:00:00Z\",\"BoolParam_in\":true,\"DoubleParam_in\":12.2,\"IntParam_in\":76,\"ArrayParam_in\":[\"http://127.0.0.1:8088/v1/task/download_elma?uid=c054ab8e-cd33-429e-b4f3-7f61abcfd381&system=5d5ec66f-357d-4c2d-bbc1-2012278d2361\",\"http://127.0.0.1:8088/v1/task/download_elma?uid=c054ab8e-cd33-429e-b4f3-7f61abcfd381&system=5d5ec66f-357d-4c2d-bbc1-2012278d2361\"]}"
    }
}

Параметр

Описание

auth_tkn

Идентификатор внешней системы

process

Токен процесса

version

Версия процесса или 0, если необходимо выполнить актуальную версию процесса (process)

ctx

Строка, представляющая собой JSON входящего контекста

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

{
    "status": 201,
    "task": {
        "id": 955,
        "process": "c39f99de-cb8f-4661-a206-b282a4830cbf",
        "system": "5d5ec66f-357d-4c2d-bbc1-2012278d2361",
        "priority": "MEDIUM",
        "status": "PREPARE",
        "metrics": {},
        "created": "2020-06-29T14:29:52+04:00",
        "updated": "2020-06-29T14:29:52+04:00"
    }
}

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

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

Метод запроса

POST

Протокол

HTTP

Запрос

http://example.com:48080/v1/orchestra/task/status

Тело запроса:

{
    "auth_tkn":"5d5ec66f-357d-4c2d-bbc1-2012278d2362",
    "id":955
}

Параметр

Описание

auth_tkn

Идентификатор внешней системы

id

Идентификатор задачи, который вернул сервер при ее создании

Отмена задачи в очереди

Метод запроса

POST

Протокол

HTTP

Запрос

http://example.com:48080/v1/orchestra/task/cancel

Тело запроса:

{
   "auth_tkn":"5d5ec66f-357d-4c2d-bbc1-2012278d2362",
   "id":955
}

Параметр

Описание

auth_tkn

Идентификатор внешней системы

id

Идентификатор задачи, который вернул сервер при ее создании

Удалять задачу может только та система, которая ее ставила.

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

  • задача в очереди;

{
    "status": 201,
    "task": {
        "id": 955,
        "process": "c39f99de-cb8f-4661-a206-b282a4830cbf",
        "system": "5d5ec66f-357d-4c2d-bbc1-2012278d2361",
        "priority": "MEDIUM",
        "status": "PREPARE",
        "metrics": {},
        "created": "2020-06-29T14:29:52+04:00",
        "updated": "2020-06-29T14:29:52+04:00"
    }
}

  • задача выполнена успешно;

{
    "status": 200,
    "task": {
        "id": 955,
        "process": "c39f99de-cb8f-4661-a206-b282a4830cbf",
        "ctx": "6e01adcb-de15-475f-86fa-b5d3a78a2d14",
        "system": "5d5ec66f-357d-4c2d-bbc1-2012278d2361",
        "priority": "MEDIUM",
        "groups": [
            "8f6895c5-70a5-498f-b813-ab72e2b6e5f0"
        ],
        "status": "DONE",
        "bot": "5e771afd-1261-4451-b059-4543d41a5814",
        "outputCtx": "{\r\n  \"stringvalue_out\": \" (changed script)\",\r\n  \"filevalue_out\": null,\r\n  \"datetimevalue_out\": \"2020-06-29T11:08:29.2068223Z\",\r\n  \"boolvalue_out\": true,\r\n  \"doublevalue_out\": 0.1,\r\n  \"intvalue_out\": 7\r\n}",
        "log": "[INF] 2020/06/29 14:08:23 | [ELMA.RPA.Bot.Server.RepositoryTask] | Started preparing a task for the bot.\n[INF] 2020/06/29 14:08:23 | [ELMA.RPA.Bot.Server.RepositoryTask] | Task context configured `example.com:14588` and return client for connect.\n[INF] 2020/06/29 14:08:23 | [ELMA.RPA.Services.Cache] | Try get process from cache\n[INF] 2020/06/29 14:08:23 | [ELMA.RPA.SDK.Serialization.StoredPackaged] | Start deserialize object of type `RpaProcess`.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.SDK.Serialization.StoredPackaged] | End deserialize object of type `RpaProcess`.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.SDK.Serialization.StoredPackaged] | Start deserialize object of type `Dictionary`2`.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.SDK.Serialization.StoredPackaged] | End deserialize object of type `Dictionary`2`.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.Player.PlayerService] | Executing process 'Создание учетных записей' (token c39f99de-cb8f-4661-a206-b282a4830cbf) with parameters: ('stringvalue_in' => ')', ('filevalue_in' => ')', ('datetimevalue_in' => '01.01.0001 3:00:00)', ('boolvalue_in' => ')', ('doublevalue_in' => '0,1)', ('intvalue_in' => ')', ('stringvalue_out' => ')', ('filevalue_out' => ')', ('datetimevalue_out' => ')', ('boolvalue_out' => ')', ('doublevalue_out' => ')', ('intvalue_out' => '123)', ('DirectoryContext' => 'C:\\Users\\Alexsander\\AppData\\Local\\ELMA_RPA\\context)'.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.Services.EmulatorService] | Emulator initizlized.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.Services.ClipboardService] | Clipboard cleared.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.HotKeys.Services.HotKeysService] | Hot key registered: id 200, modifier Alt, Control, key B.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.UI.Common.UiService] | Show PLAY label.\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.Player.PlayerService] | Executing StartActivity (UID e335bbf8-8327-4f7e-a546-78c5456bce51).\n[INF] 2020/06/29 14:08:24 | [ELMA.RPA.Player.PlayerService] | Executing ActionActivity (UID ef68fdb9-5d20-4b9a-8d8e-8e1bb95af97a).\n[INF] 2020/06/29 14:08:29 | [ELMA.RPA.Player.PlayerService] | Executing FinishActivity (UID bc1fc847-c477-4efc-aaa4-1417f10df88f).\n[INF] 2020/06/29 14:08:29 | [ELMA.RPA.HotKeys.Services.HotKeysService] | Hot key unregistered: id 200.\n[INF] 2020/06/29 14:08:29 | [ELMA.RPA.Services.ClipboardService] | Clipboard cleared.\n[INF] 2020/06/29 14:08:29 | [ELMA.RPA.UI.Common.UiService] | Hide PLAY label.\n[INF] 2020/06/29 14:08:29 | [ELMA.RPA.Player.PlayerService] | Process 'Создание учетных записей' (token c39f99de-cb8f-4661-a206-b282a4830cbf) completed!\n",
        "metrics": {
            "startTime": "0001-01-01T00:00:00Z",
            "endTime": "0001-01-01T00:00:00Z"
        },
        "created": "2020-06-29T10:29:52Z",
        "updated": "2020-06-29T11:08:29Z"
    }
}

Параметр

Описание

status

Числовой код результата выполнения запроса (используются коды состояния HTTP)

task

Информация по задаче

id

Идентификатор задачи

process

Токен процесса

system

Uuid системы, которая создала задачу

priority

Приоритет задачи (допустимые значения: EMPTY_P, HIGH, MEDIUM, LOW)

status

Статус задачи (допустимые значения: EMPTY_ST, QUEUE, EXECUTING, DONE, ERROR, PREPARE)

bot

Бот, которому была поставлена задача

outputCtx

Строка, представляющая собой json исходящего контекста

log

Лог выполнения задачи

startTime

Дата и время начала выполнения процесса ботом

endTime

Дата и время окончания выполнения процесса ботом

created

Дата и время получения задачи Оркестратором

endTime

Дата и время последнего обновления информации о задаче

Получение файла из исходящего контекста выполненной задачи

Метод запроса

POST

Протокол

HTTP

Запрос

http://example.com:48080/v1/repository/task/download

Тело запроса:

{
    "auth_tkn":"5d5ec66f-357d-4c2d-bbc1-2012278d2362",
    "taskid":717,
    "filename":"12.txt"
}

Параметр

Описание

auth_tkn

Идентификатор внешней системы

taskid

Идентификатор задачи, который вернул сервер при ее создании

filename

Имя файла из исходящего контекста

В ответ начинается отправка файла.