API
Для интеграции с внешними системами (при необходимости), Оркестратор предлагает набор инструментов для обмена данными через API.
Раздел "API" представляет собой справочник по доступным API-методам в формате Swagger. В данном разделе представлены следующие вкладки:
1. Ключ (API Key)
В этом разделе пользователь может увидеть свой уникальный ключ доступа к API, который необходимо передать в HTTP-заголовке, в поле Ключ. Также при изменении данного поля необходимо подтвердить действие нажатием одной из кнопок:
Ниже расположено информационное поле "Authorization", которое используется для предоставления токена доступа, подтверждающего, что Пользователь имеет право на выполнение запрашиваемого действия.
Пример:
“Bearer” — тип токена,
“Y2Y5M2U3OGUtMDk1ZC00MGNjLTkwNWUtZTYyNjUwMTg5YjU2” — сам токен, который сервер будет использовать для идентификации Пользователя.
Запросы к API осуществляются с обязательной передачей API Key, который хранится в настройках Учетной записи. Подробные примеры запросов приведены в разделе по каждому блоку отдельно.
Коды ответов:
2. Робот
Позволяет управлять Роботами. Пользователь может создавать нового Робота, получить информацию о Роботе, обновить информацию о Роботе, удалить Робота, вернуть статус Робота и установить статус Робота.
В верхней части страницы располагается таблица со всеми доступными статусами Роботов:
В нижней части располагаются вкладки с методами:
1) Создание нового Робота
Эндпоинт: /api/robot/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Имя создаваемого Робота;
Description: Описание создаваемого Робота.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robot",
"Description": "My first Robot",
}
```
```json
{
"Name": "test robot",
"Description": "test robot description",
"GUID": "1ed7e9a1-87a9-4f56-b977-498485a28e6f",
"Status": 0,
}
```
2) Получение информации о Роботе по его GUID
Эндпоинт: /api/robot/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
guid: GUID Робота.
Примеры:
Запрос
Ответ
/api/robot/read/554ab883-1f82-48e1-bb12-5049002e7d70
```json
{
{ "GUID": "16f94238-ede9-435b-a001-1489b32e7dc2",
"Name": "r1",
"Machine": "",
"Status": 0,
"IP": "",
"MAC": "",
"Description": "",
"LicenseExpiration": 12345789,
"LicenseString": "",
"CreatedAt": 12345789,
"UpdatedAt": 12345789,
"LastHeartbeatAt": 0
}
```
/api/robot/read
```json
[
{ "GUID": "16f94238-ede9-435b-a001-1489b32e7dc2",
"Name": "r1",
"Machine": null,
"Status": "0",
"IP": null,
"MAC": null,
"Description": "",
"LicenseExpiration": 12345789,
"LicenseString": "abc",
"CreatedAt": 12345789,
"UpdatedAt": 12345789,
"LastHeartbeatAt": 12345789,
},
{ "GUID": "45906f9e-d51d-49b6-9600-f58110d7a10f",
"Name": "r2",
"Machine": "",
"Status": 0,
"IP": "",
"MAC": "",
"Description": "",
"LicenseExpiration": 0,
"LicenseString": "",
"CreatedAt": 12345789,
"UpdatedAt": 12345789,
"LastHeartbeatAt": 12345789,
},
]
3) Обновление информации о Роботе
Эндпоинт: /api/robot/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
GUID (обязательно): GUID Робота;
Name: Имя Робота;
Description: Описание Робота;
Status: Статус Робота.
Примеры:
Запрос
Ответ
```json
{ "GUID": "45906f9e-d51d-49b6-9600-f58110d7a10f",
"Name": "Test Robot",
}
```
[]
4) Удаление Робота по его GUID
Эндпоинт: /api/robot/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
guid (обязательно): GUID Робота.
Примеры:
Запрос
Ответ
/api/robot/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
5) Возвращение статуса Робота по его GUID
Эндпоинт: /api/robot/getStatus/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
guid (обязательно): GUID Робота.
Примеры:
Запрос
Ответ
/api/robot/getStatus/554ab883-1f82-48e1-bb12-5049002e7d70
```json
{
"Status": 1,
}
```
6) Установка статуса Робота по его GUID
Эндпоинт: /api/robot/setStatus
Метод: PUT;
Авторизация: обязательна;
Параметры:
GUID (обязательно): GUID Робота;
STATUS (обязательно): статус для установки.
Примеры:
Запрос
Ответ
```json
{
"GUID": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Status": 1,
}
```
[]
3. Группы Роботов
Позволяет управлять Группами Роботов. Пользователь может создавать и управлять Группами Роботов, а также управлять ассоциацией Роботов с этими Группами.
На данной странице располагаются вкладки с методами:
1) Создание новой Группы Робота
Эндпоинт: /api/robotGroup/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Имя создаваемой Группы Роботов;
Description: Описание создаваемой Группы Роботов.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robots",
}
```
```json
{
"GUID": "554ab883-1f82-48e1-bb12-5049002e7d70",
}
```
2) Получение информации о Группе Роботов по GUID
Эндпоинт: /api/robotGroup/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
GUID (обязательно): GUID Группы Роботов.
Пример:
Запрос
Ответ
/api/robotGroup/read/554ab883-1f82-48e1-bb12-5049002e7d70
```json
[
"id": "55",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"name": "TestRobotGroup",
"description": "Test Description",
"created": "2023-06-27 12:31:29",
"updated": "2023-06-27 12:31:29",
"is_deleted": "0",
"account_id": "1",
]
3) Обновление информации о Группе Роботов по GUID
Эндпоинт: /api/robotGroup/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
GUID (обязательно): GUID Группы Роботов;
Name: Имя Группы Роботов;
Description: Описание Группы Роботов.
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Name": "Test Robot Group",
}
[]
4) Удаление информации о Группе Роботов по GUID
Эндпоинт: /api/robotGroup/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
guid (обязательно): GUID Группы Роботов.
Пример:
Запрос
Ответ
/api/robotGroup/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
5) Добавление Робота по GUID в Группу Роботов по GUID
Эндпоинт: /api/robotGroup/addRobot
Метод: PUT;
Авторизация: обязательна;
Параметры:
RobotGroupGuid (обязательно): GUID Группы Роботов;
RobotGuid (обязательно): GUID Робота.
Пример:
Запрос
Ответ
```json
{
"RobotGroupGuid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"RobotGuid": "554ab883-1f82-48e1-bb12-50490343454d70",
}
```
[]
6) Удаление Робота по GUID из Группы Роботов по GUID
Эндпоинт: /api/robotGroup/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
RobotGroupGuid (обязательно): GUID Группы Роботов;
RobotGuid (обязательно): GUID Робота.
Пример:
Запрос
Ответ
```json
{
"RobotGroupGuid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"RobotGuid": "554ab883-1f82-48e1-bb12-50490343454d70",
}
```
[]
4. Процесс
Позволяет работать с Процессами. Пользователь может создавать Процесс, получить информацию о Процессе, обновить информацию о Процессе, а также обновить и удалить Процессы.
На данной странице располагаются вкладки с методами:
1) Создание Процесса
Эндпоинт: /api/process/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название Процесса;
Description: Описание Процесса;
MinVersionToRun: Минимальная версия среды выполнения, необходимая для запуска процесса;
ProcessType: Тип процесса (0 - Процесс, 1 - Пакет).
Пример:
Запрос
Ответ
```json
{
"Name": "Test Process", "Description": "My Test Process", "MinVersionToRun": 1.05, "ProcessType": 0, }
```
["guid":"554ab883-1f82-48e1-bb12-5049002e7d70"]
2) Чтение Процесса по GUID
Эндпоинт: /api/process/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Процесса.
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
}
```
[
"id": "1",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"name": "TestProcess",
"description": "test",
"process_version_id": "1",
"process_version_id": "1",
"min_version_to_run": "1.14",
"created": "2023-05-26 09:50:27",
"updated": "2023-05-26 09:50:43",
"is_deleted": "0",
"account_id": "1",
"process_type": "0",
"process_version_guid": "554ab883-1f82-48e1-bb12-5045562e7d70",
]
3) Обновление Процесса
Эндпоинт: /api/process/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid: GUID Процесса;
Name: Название Процесса;
Description: Описание Процесса;
MinVersionToRun: Минимальная версия для запуска;
ProcessType: Тип процесса (0 - Процесс, 1 - Пакет).
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Name": "Test Process 1",
}
```
[]
4) Удаление Процесса по GUID
Эндпоинт: /api/process/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Процесса.
Пример
5. Версия процесса
Позволяет работать с Версиями Процессов. Пользователь может создавать Версию Процесса, получить информацию о Версии Процесса, обновить информацию о Версии Процесса, а также удалить Версию Процесса.
На данной странице располагаются вкладки с методами:
1) Создание Версии Процесса
Эндпоинт: /api/processVersion/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название новой Версии Процесса;
Description: Описание новой Версии Процесса;
ProcessFile (обязательно): Файл .robot для новой Версии Процесса;
ProcessGuid (обязательно): GUID Процесса, для которого создается новая Версия.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Process Version",
"ProcessGuid": "554ab883-1f82-48e1-bb12-5049002e7d70",
}
```
[
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
]
2) Чтение Версии Процесса по GUID
Эндпоинт: /api/processVersion/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательный): GUID Версии Процесса для получения Процесса, для которого создается новая Версия.
Пример:
Запрос
Ответ
/api/processVersion/read/554ab883-1f82-48e1-bb12-5049002e7d70
```json
{
"id": "6",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"process_id": "5",
"name": "New Version",
"description": "New Version for Process 5",
"process_file_name": "new-file.robot",
"created": "2023-06-29 14:51:30",
"updated": "2023-06-29 14:51:30",
"is_deleted": "0",
"account_id": "5",
}
```
3) Обновление Версии Процесса
Эндпоинт: /api/processVersion/update
Метод: POST;
Авторизация: обязательна;
Параметры:
Guid: GUID Версии Процесса для обновления;
Name: Название Версии Процесса для обновления;
Description: Описание Версии Процесса для обновления;
ProcessFile: Файл .robot для Версии Процесса;
ProcessGuid: GUID процесса для Версии Процесса
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Name": "Test Process Version 1",
}
```
[]
4) Удаление Версии Процесса по GUID
Эндпоинт: /api/processVersion/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Версии Процесса для удаления.
Пример:
Запрос
Ответ
/api/processVersion/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
6. Работа
Позволяет управлять Работами. Пользователь может создавать новую Работу, получить информацию о Работе, обновить информацию о Работе, а также удалить Работу.
В верхней части страницы располагается таблица со всеми доступными статусами Работ:
И таблица с Типами Работ:
В нижней части располагаются вкладки с методами:
1) Создание Работы
Эндпоинт: /api/job/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Работы.
Пример:
Запрос
Ответ
/api/job/read/554ab883-1f82-48e1-bb12-5049002e7d70
[
"status": 1,
"process_version_id": "55",
"robot_id": 1,
"account_id": 4,
"schedule_id": 2,
"stop_after": 2023-03-04 12:00:00,
"created_at": 2023-03-03 12:48:06,
"updated_at": 2023-03-03 13:24:26
]
2) Чтение Работы по GUID
Эндпоинт: /api/job/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательный): GUID Версии Процесса для получения Процесса, для которого создается новая Версия.
Пример:
Запрос
Ответ
/api/processVersion/read/554ab883-1f82-48e1-bb12-5049002e7d70
```json
{
"id": "6",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"process_id": "5",
"name": "New Version",
"description": "New Version for Process 5",
"process_file_name": "new-file.robot",
"created": "2023-06-29 14:51:30",
"updated": "2023-06-29 14:51:30",
"is_deleted": "0",
"account_id": "5",
}
```
3) Обновление Работы
Эндпоинт: /api/job/update
Метод: POST;
Авторизация: обязательна;
Параметры:
Guid: GUID Работы для обновления;
Status: Статус Работы для обновления.
Пример:
Запрос
Ответ
```json
{
"Status": 8,
}
```
[]
4) Удаление Работы по GUID
Эндпоинт: /api/job/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
guid (обязательно): GUID Работы для удаления.
Пример:
Запрос
Ответ
/api/job/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
7. Очередь
Позволяет управлять Очередями. Пользователь может создавать новую Очередь, получить информацию об Очереди, обновить информацию об Очереди, а также удалить Очередь.
На данной странице располагаются вкладки с методами:
1) Создание Очереди
Эндпоинт: /api/queue/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название новой Очереди;
Description: Описание новой Очереди;
UniqueTasks: Разрешить только уникальные имена Задач в новой Очереди (0 - Нет, 1 - Да);
AutoChangeStatus: Установить статус «Не выполнено» для Задач со статусом «Выполняется», у которых Работа имеет статус «Не выполнено», «Остановлено» или «Прервано» (0 - Нет, 1 - Да).
Пример:
Запрос
Ответ
```json
{
"Name": "Test Queue",
}
```
[
"guid": "c39713ea-d8b9-4669-976e-5ff39677dc64"
]
2) Чтение Очереди по GUID
Эндпоинт: /api/queue/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательный): GUID Очереди.
Пример:
Запрос
Ответ
/api/queue/read/554ab883-1f82-48e1-bb12-5049002e7d70
[
"id": 53,
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"name": "Test Queue",
"description": "Test Queue Description",
"auto_change_status": 0,
"unique_tasks": 1,
]
```
3) Обновление Очереди
Эндпоинт: /api/queue/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Очереди для обновления;
Name: Название Очереди для обновления;
Description: Описание Очереди для обновления;
UniqueTasks: Разрешить только уникальные имена Задач в новой Очереди (0 - Нет, 1 - Да);
AutoChangeStatus: Установить статус «Не выполнено» для Задач со статусом «Выполняется», у которых Работа имеет статус «Не выполнено», «Остановлено» или «Прервано» (0 - Нет, 1 - Да).
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Name": "Updated Test Queue",
}
```
[]
4) Удаление Очереди по GUID
Эндпоинт: /api/queue/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Очереди.
Пример:
Запрос
Ответ
/api/queue/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
8. Задача
Позволяет управлять Задачами. Пользователь может создавать новую Задачу, получить информацию о Задаче, обновить информацию о Задаче, а также удалить Задачу.
В верхней части страницы располагается таблица со всеми доступными статусами Задач:
В нижней части располагаются вкладки с методами:
1) Создание Задачи
Эндпоинт: /api/task/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название новой Задачи;
QueueGuid (обязательно): GUID Очереди для добавления новой Задачи;
Description: Описание для новой Задачи;
Comment: Комментарий для новой Задачи;
Deadline: Крайний срок для новой Задачи;
Retries: Количество повторных попыток для новой Задачи;
Parameters: Параметры новой Задачи.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Task",
"QueueGuid": "16f94238-ede4343-435b-a001-1489b324342",
}
```
[
"guid":"16f94238-ede9-435b-a001-1489b32e7dc2"]
2) Получение Задачи по GUID или имени
Эндпоинт: /api/task/read
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid или Название Задачи.
Пример:
Запрос
Ответ
/api/task/read/123
[
"id":"45396",
"guid":"20de46db-18af-4d51-9908-07e88dc0c61f",
"queue_id":"6",
"name":"123",
"description":"",
"status":"0",
"job_id":null,
"priority":"1",
"created":"2023-08-25 14:45:50",
"started":"2023-08-25 15:42:50",
"postponed":null,
"deadline":"2023-09-30 10:30:00",
"updated":"2023-09-28 10:26:04",
"comment":"test",
"is_deleted":"0",
"account_id":"1",
"tags":"", "retries":"0",
"parent_task":null,
]
3) Получение детальной информации о конкретной Задаче из указанной Очереди по GUID или имени данной Очереди по указанным параметрам
Эндпоинт: /api/task/filter/read/{guid}[/{filters}]
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Guid или Название Задачи.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robot",
}
```
[]
4) Получение списка Задач, связанных с GUID или именем Очереди
Эндпоинт: /api/task/filter/list/{guid}[/{filters}]
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Guid или Название Очереди.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robot",
}
```
[]
5) Обновление Задачи
Эндпоинт: /api/task/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID или имя Задачи;
Name: Название обновленной Задачи;
QueueGuid: GUID Очереди для добавления новой Задачи;
Description: Описание для обновленной Задачи;
Comment: Комментарий для обновленной Задачи;
Deadline: Крайний срок для обновленной Задачи;
Retries: Количество повторных попыток для обновленной Задачи;
Parameters: Параметры обновленной Задачи;
Status: Статус обновленной Задачи.
Пример:
Запрос
Ответ
```json
{
"guid": "0cff3e77-78fc-405e-98c9-ef5076c0c883",
"status": 1,
}
```
[]
6) Удаление Задачи
Эндпоинт: /api/task/delete
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): GUID Задачи.
Пример:
Запрос
Ответ
/api/task/delete/0cff3e77-78fc-405e-98c9-ef5076c0c883
[
"result": "1"
]
7) Управление Тегами
Эндпоинт: /api/task/addTag
Метод: PUT;
Авторизация: обязательна;
Параметры:
TaskGuid (обязательно): GUID Задачи;
Пример:
Запрос
Ответ
```json
{
"TaskGuid": "0cff3e77-78fc-405e-98c9-ef5076c0c883",
"TagNames": "test;mytask;",
}
```
[]
8) Удаление Тегов из Задачи по GUID или имени
Эндпоинт: /api/task/removeTag
Метод: DELETE;
Авторизация: обязательна;
Параметры:
TaskGuid (обязательно): GUID Задачи;
Пример:
Запрос
Ответ
```json
{
"TaskGuid": "0cff3e77-78fc-405e-98c9-ef5076c0c883",
"TagNames": "test;mytask;",
}
```
[]
9. Триггер
Позволяет управлять Триггерами. Пользователь может создавать новый Триггер, получить информацию о Триггере, обновить информацию о Триггере, а также удалить Триггер.
В верхней части страницы располагается таблица со всеми доступными статусами Триггеров:
И таблица с типами Триггеров:
В нижней части располагаются вкладки с методами:
1) Создание Триггера
Эндпоинт: /api/schedule/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name: Название нового Триггера;
Description: Описание для нового Триггера;
Status: Статус для нового Триггера;
CronTab: Выражение Cron для нового Триггера. Только для ProcessingType = 2;
RobotType: Тип Роботов (0 - один Робот, 1 - группа Роботов);
RobotId: ID Робота для выполнения. Только для RobotType = 2;
RobotGroupId: ID Группы Роботов для выполнения. Только для RobotType = 1;
ProcessingType (обязательно): Тип обработки для нового Триггера (1 - непрерывный, 2 - по расписанию);
StartAt: Дата начала работы нового Триггера;
EndAt: Дата окончания работы нового Триггера;
MaxRuns: Макс. количество запусков для нового Триггера;
MaxRunningRobots: Максимальное количество одновременно работающих Роботов. Только для RobotType = 1;
CheckMissedTrigger: Включение механизма проверки пропущенных Триггеров для нового Триггера (1 - вкл., 0 - выкл.);
ProcessId (обязательно): ID Процесса для выполнения.
Пример:
Запрос
Ответ
```json
{
"Name": "New Trigger",
"Process": 5,
"ProcessingType": 1,
}
```
[
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70", ]
2) Получение информации о Триггере по GUID
Эндпоинт: /api/schedule/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Триггера.
Пример:
Запрос
Ответ
/api/schedule/read/554ab883-1f82-48e1-bb12-5049002e7d70
```json
{
"id": "55",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"name": "Test Trigger",
"processing_type": 1,
"robot_type": 2,
"robot_id": 24,
"process_id": 42,
}
```
3) Обновление информации о Триггере по GUID
Эндпоинт: /api/schedule/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Триггера;
Name: Название обновленного Триггера;
Description: Описание для обновленного Триггера;
Status: Статус для обновленного Триггера;
CronTab: Выражение Cron для нового Триггера. Только для ProcessingType = 2;
RobotType: Тип Роботов (0 - один Робот, 1 - группа Роботов);
RobotId: ID Робота для выполнения. Только для RobotType = 2;
RobotGroupId: ID Группы Роботов для выполнения. Только для RobotType = 1;
ProcessingType (обязательно): Тип обработки для нового Триггера (1 - непрерывный, 2 - по расписанию);
StartAt: Дата начала работы нового Триггера;
EndAt: Дата окончания работы нового Триггера;
MaxRuns: Макс. количество запусков для нового Триггера;
MaxRunningRobots: Максимальное количество одновременно работающих Роботов. Только для RobotType = 1;
CheckMissedTrigger: Включение механизма проверки пропущенных Триггеров для нового Триггера (1 — вкл., 0 — выкл);
ProcessId: ID Процесса для выполнения.
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70", "Name": "Updated Trigger",
}
```
[]
4) Удаление Триггера по GUID
Эндпоинт: /api/schedule/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Триггера;
Пример:
Запрос
Ответ
/api/schedule/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
10. Ресурс
Позволяет управлять Ресурсами. Пользователь может создавать новый Ресурс, получить информацию о Ресурсе, обновить информацию о Ресурсе, а также удалить Ресурс.
На данной странице располагаются вкладки с методами:
1) Создание Ресурса
Эндпоинт: /api/asset/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name: Название нового Ресурса;
Description: Описание для нового Ресурса;
Type: Тип Ресурса (1 - Учетные данные, 2 - Текст, 3 - Календарь);
Text: Логин для типа = 1 (Учетные данные); Текст для типа = 2 (Текст); JSON-строка с датами для типа = 3 (Календарь);Password: Пароль. Только для типа = 1 (Учетные данные);
PasswordExpiration: Дата окончания действия пароля в формате Год-Месяц-День Час:Минута:Секунда. Только для типа = 1 (Учетные данные);
RobotType: Доступность данного Ресурса для Роботов (3 — Доступно всем Роботам, 2 — Доступно только определенной группе Роботов (указанной в robot_group_id), 1 — Доступно только определенному Роботу (указанной в robot_id));
RobotId: ID Робота, имеющего доступ к Ресурсу. Только для RobotType = 1;
RobotGroupId: ID Группы Роботов, которая имеет доступ к Ресурсу. Только для RobotType = 2.
Пример:
Запрос
Ответ
```json
{
"Name": "Asset 1",
"Description": "My new test Asset",
"Type": 2,
"Text": "Hello World",
"RobotType": 3,
}
```
[
"guid": "16f94238-ede9-435b-a001-1489b32e7dc2", ]
2) Получение информации о Ресурсе по GUID
Эндпоинт: /api/asset/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Ресурса.
Пример:
Запрос
Ответ
/api/asset/read/16f94238-ede9-435b-a001-1489b32e7dc2
```json
{
"id": "16",
"guid": "16f94238-ede9-435b-a001-1489b32e7dc2",
"name": "Asset 1",
"description": "My new test Asset",
"type": 2,
"text": "Hello World",
"password": null,
"password_expiration": null,
"robot_type": 3,
"robot_id": null,
"robot_group_id": null,
"is_deleted": 0,
"created_at": "2023-05-30 08:57:23",
"updated_at": "2023-05-30 09:00:00",
}
```
3) Обновление информации о Ресурсе по GUID
Эндпоинт: /api/asset/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Ресурса;
Name: Название нового Ресурса;
Description: Описание для нового Ресурса;
Type: Тип Ресурса (1 - Учетные данные, 2 - Текст, 3 - Календарь);
Text: Логин для типа = 1 (Учетные данные); Текст для типа = 2 (Текст); JSON-строка с датами для типа = 3 (Календарь);
Password: Пароль. Только для типа = 1 (Учетные данные);
PasswordExpiration: Дата окончания действия пароля в формате Год-Месяц-День Час:Минута:Секунда. Только для типа = 1 (Учетные данные);
RobotType: Доступность данного Ресурса для Роботов (3 — Доступно всем Роботам, 2 — Доступно только определенной группе Роботов (указанной в robot_group_id), 1 — Доступно только определенному Роботу (указанной в robot_id));
RobotId: ID Робота, имеющего доступ к Русерсу. Только для RobotType = 1;
RobotGroupId: ID Группы Роботов, которая имеет доступ к Ресурсу. Только для RobotType = 2.
Пример:
Запрос
Ответ
```json
{
"Guid": "16f94238-ede9-435b-a001-1489b32e7dc2",
"Name": "Modified Asset",
}
```
[]
4) Удаление Ресурса по GUID
Эндпоинт: /api/asset/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Ресурса;
Пример:
Запрос
Ответ
/api/asset/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
11. Хранилище
Позволяет управлять Хранилищем. Пользователь может создавать новые папки и файлы, получать информацию о папках и файлах, обновлять информацию о папках и файлах, а также удалять папки и файлы.
На данной странице располагаются вкладки с методами:
API для работы с папками
1) Создание новой папки
Эндпоинт: /api/folders/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name: Название новой папки;
Description: Описание для новой папки.
Пример:
Запрос
Ответ
```json
{
"Name": "New Folder 1",
}
```
[
"guid": "16f94238-ede9-435b-a001-1489b32e7dc2", ]
2) Получение информации о папке по GUID
Эндпоинт: /api/folders/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid новой папки.
Пример:
Запрос
Ответ
/api/folders/read/4dd6abf4-daa3-45d0-9347-6780c2b46b0c
```json
{
"id": 1,
"guid": "4dd6abf4-daa3-45d0-9347-6780c2b46b0c",
"name": "Test Folder 1",
"description": "My new test Folder",
"created": "2023-01-29 10:29:25",
"updated": "2023-01-29 10:44:09",
"is_deleted": 0,
"account_id": 1,
}
```
3) Получение списка папок, связанных с GUID
Эндпоинт: /api/folders/list
Метод: GET;
Авторизация: обязательна;
Параметры: нет;
Пример:
Запрос
Ответ
/api/folders/list
```json
[
{
"id": 1,
"guid": "4dd6abf4-daa3-45d0-9347-6780c2b46b0c",
"name": "Test Folder 1",
"description": "My new test Folder",
"created": "2023-01-29 10:29:25",
"updated": "2023-01-29 10:44:09",
"is_deleted": 0,
"account_id": 1,
},
{
"id": 2,
"guid": "4dd6abf4-daa3-45d0-9347-6780c2b46a3c",
"name": "Test Folder 2",
"description": "My another new test Folder",
"created": "2023-10-05 10:59:41",
"updated": "2023-10-05 10:59:41",
"is_deleted": 0,
"account_id": 1,
}
]
```
4) Обновление информации о папке по GUID
Эндпоинт: /api/folders/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid папки;
Name: Название нового папки;
Description: Описание для новой папки.
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Name": "New Folder Name",
}
```
[]
5) Удаление папки по GUID
Эндпоинт: /api/folders/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid папки;
Пример:
Запрос
Ответ
/api/folders/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
API для работы с файлами
1) Создание нового файла
Эндпоинт: /api/files/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название нового файла;
folder_guid: ID папки, в которую необходимо добавить файл;
file: файл в бинарном формате, либо в кодировках Base16 / Base32;
Пример:
Запрос
Ответ
```json
{
"Name": "Asset 1",
}
```
[]
2) Получение информации о файле по GUID
Эндпоинт: /api/files/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название нового файла.
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robot",
}
```
[]
3) Обновление информации о файле по GUID
Эндпоинт: /api/files/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Name (обязательно): Название нового файла;
folder_guid: ID папки, в которую необходимо добавить файл;
file: файл в бинарном формате, либо в кодировках Base16 / Base32;
Пример:
Запрос
Ответ
```json
{
"Name": "Test Robot",
}
```
[]
4) Удаление файла по GUID
Эндпоинт: /api/files/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Ресурса;
Пример:
Запрос
Ответ
/api/files/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
12. Лог
Позволяет управлять Логами. Пользователь может создавать новый Лог, получить информацию о Логе, обновить информацию о Логе, а также удалить Лог.
В верхней части страницы располагается таблица со всеми уровнями Логирования:
В нижней части располагаются вкладки с методами:
1) Создание Лога
Эндпоинт: /api/log/create
Метод: POST;
Авторизация: обязательна;
Параметры:
RobotGUID: GUID Робота;
ProcessVersionGUID: GUID версии Процесса;
JobGUID: GUID Работы;
Level: уровень Логирования;
Message (обязательно): текст Лога.
Пример:
Запрос
Ответ
```json
{
"RobotGUID": "16f94238-ede9-435b-a001-1489b32e7dc2",
"ProcessVersionGUID": "c39713ea-d8b9-4669-976e-5ff39677dc64",
"JobGUID": "70ce211b-3c9a-48f6-8e71-11088b41b825",
"Level": 1,
"Message": "no message",
}
```
[]
2) Получение информации о Логе по GUID
Эндпоинт: /api/log/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Лога.
Пример:
Запрос
Ответ
/api/log/read/c39713ea-d8b9-4669-976e-5ff39677dc64
```json
{
"id": "1",
"guid": "16f94238-ede9-435b-a001-1489b32e7dc2",
"robot_id": "16",
"process_version_id": "39",
"job_id": "70",
"Level": 1,
"Message": "no message",
"created_at": "2023-09-17 15:39:06",
"updated_at": "2023-09-17 16:39:06",
}
```
3) Получение списка файлов, связанных с GUID
Эндпоинт: /api/log/list
Метод: POST;
Авторизация: обязательна;
Параметры: нет.
Пример:
Запрос
Ответ
/api/log/list
[]
4) Удаление Логов, принадлежащих текущей учетной записи и созданных до выбранного времени
Эндпоинт: /api/log/purge
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Time (обязательно): временная метка в формате Unix (Unix timestamp);
Пример:
Запрос
Ответ
```json
{
"Time": "1590481487",
}
```
[]
13. Аккаунт
Позволяет управлять Аккаунтами. Пользователь может создавать новый Аккаунт, получить информацию об Аккаунтах, обновить информацию об Аккаунтах, а также удалить Аккаунтах.
На данной странице располагаются вкладки с методами:
1) Создание нового Аккаунта
Эндпоинт: /api/account/create
Метод: POST;
Авторизация: обязательна;
Параметры:
Login (обязательно) — Логин для нового Аккаунта;
Password (обязательно) — Пароль для нового Аккаунта;
FirstName — Имя для нового Аккаунта;
LastName — Фамилия для нового Аккаунта;
Email — E-mail для нового Аккаунта;
Phone — Телефон для нового Аккаунта;
Company — Компания для нового Аккаунта;
Department — Отдел для нового Аккаунта.
Пример:
Запрос
Ответ
```json
{
"Login": "New Test Account",
"Password": "newPassword123",
}
```
["guid": "c39713ea-d8b9-4669-976e-5ff39677dc64"]
2) Получение информации об Аккаунте по GUID
Эндпоинт: /api/account/read/{guid}
Метод: GET;
Авторизация: обязательна;
Параметры:
GUID (обязательно): GUID Аккаунта.
Пример:
Запрос
Ответ
/api/account/read/c39713ea-d8b9-4669-976e-5ff39677dc64
```json
{
"id": "5",
"guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"login": "new Account",
"password": "123455678",
"first name": "Vasya",
"last name": "Ivanov",
}
```
3) Обновление информации об Аккаунте по GUID
Эндпоинт: /api/account/update
Метод: PUT;
Авторизация: обязательна;
Параметры:
Guid (обязательно) — GUID Аккаунта для обновления;
Login — Логин Аккаунта для обновления;
Password — Пароль Аккаунта для обновления;
FirstName — Имя в Аккаунте для обновления;
LastName — Фамилия в Аккаунте для обновления;
Email — E-mail в Аккаунте для обновления;
Phone — Телефон в Аккаунте для обновления;
Company — Компания Аккаунта для обновления;
Department — Отдел Аккаунта для обновления.
Пример:
Запрос
Ответ
```json
{
"Guid": "554ab883-1f82-48e1-bb12-5049002e7d70",
"Login": "Test Account",
}
```
[]
4) Удаление Аккаунта по GUID
Эндпоинт: /api/account/delete/{guid}
Метод: DELETE;
Авторизация: обязательна;
Параметры:
Guid (обязательно): Guid Аккаунта;
Пример:
Запрос
Ответ
/api/account/delete/554ab883-1f82-48e1-bb12-5049002e7d70
[]
Last updated