SES. Руководство пользователя: различия между версиями
Материал из Флора AI
| Строка 550: | Строка 550: | ||
* <small>'''robot''' - идентификатор робота</small> | * <small>'''robot''' - идентификатор робота</small> | ||
* <small>'''id''' - идентификатор скрипта</small> | * <small>'''id''' - идентификатор скрипта</small> | ||
| colspan="2" style="width: 50%" |{ "error": 0, | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
"data": { | <small> "data": {</small> | ||
"id": "6a9f91b6-9634-4079-ac2b-60a944922c61", | <small> "id": "6a9f91b6-9634-4079-ac2b-60a944922c61",</small> | ||
"name": "Наименование скрипта", | <small> "name": "Наименование скрипта",</small> | ||
"code": "Текст скрипта" } | <small> "code": "Текст скрипта" }</small> | ||
} | <small>}</small> | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/ses/robot/script/list/{robot}''' | ! style="color:blue;width: 15%" |'''GET/ses/robot/script/list/{robot}''' | ||
| Строка 608: | Строка 608: | ||
! colspan="3" style="width: 85%" |Получение ответа эмулятора сервиса интеграции | ! colspan="3" style="width: 85%" |Получение ответа эмулятора сервиса интеграции | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>request - запрос вида <service1>/<параметры></small> | | colspan="2" style="width: 50%" | | ||
* <small>'''request''' - запрос вида <service1>/<параметры></small> | |||
| colspan="2" style="width: 50%" |<small>{ "success": true,</small> | | colspan="2" style="width: 50%" |<small>{ "success": true,</small> | ||
| Строка 618: | Строка 619: | ||
! colspan="3" style="width: 85%" |Получение ответа эмулятора сервиса интеграции | ! colspan="3" style="width: 85%" |Получение ответа эмулятора сервиса интеграции | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>request - запрос вида <service1>/<параметры></small> | | colspan="2" style="width: 50%" | | ||
* <small>'''request''' - запрос вида <service1>/<параметры></small> | |||
| colspan="2" style="width: 50%" |<small>{ "success": true,</small> | | colspan="2" style="width: 50%" |<small>{ "success": true,</small> | ||
Версия от 09:23, 15 ноября 2024
Общее описание
Сервис предназначен для создания сценарных машин и обеспечения их работы.
Термины и определения
Script engine service (SES) - сервис обеспечения работы и создания сценарных машин. Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SES в реальном времени
Описание методов API
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SES. По умолчанию используется порт 6189/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6190 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.
| Группа методов ses | |||
|---|---|---|---|
| POST/ses/ask/{robot_id} | Получение ответа на запрос пользователя. Метод для отладки робота | ||
|
{ "error": 0,
"question": "Вопрос", "answer": [ { "messages": [ "ответ" ], "voice": "" } ], "session": null} | ||
| POST/ses/log | Получение лога всех сессий начиная с date. В логе error, message и массив сессий log | ||
|
{ "error": 0, "message": "success",
"log": [ { "id": "0b4d87d8-6e8f-4d2b-a5e6-c4b2f08ba5d3", "session": "54503252-90d8-486f-87a8-b580729078a7", "robot": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78", "channel": "default", "closed": true, "endpoint": null, "variables": {}, "request": { "datetime": "2024-11-05T06:57:43.011249", "message": "вопрос", "data": [ { "id": "1f8d4086-d68f-4571-92cb-f96e1d5a4b4e", "name": "имя элемента данных", "model": "имя модели", "type": "тип", "param": "параметр", "reply": { "class": "обнаруженный класс", "confidence": 1 } } ] }, "reply": { "answers": [], "datetime": "2024-11-05T06:57:44.320266" } }, ..... ] } | ||
| GET/ses/session/{robot_id}/{session_id} | Выдает параметры сессии. Для отображения на боковой панели тестирования в UPS. Пример ответа: | ||
|
{ "started": "2024-11-05 15:03:14",
"modified": "2024-11-05 15:03:14", "current": { "id": "789a2605-da27-4fb8-b9ea-9400b72d0caa", "qas": "", "answered": false, "category": null, "entry": [ "1f8d4086-d68f-4571-92cb-f96e1d5a4b4e" ], "nearest": null, "missingRunData": [ null ] }, "data": [ { "request": { "datetime": "2024-11-05T12:03:14.103304", "message": "как поставить окружение", "data": [ { "id": "1f8d4086-d68f-4571-92cb-f96e1d5a4b4e", "name": "pve", "model": "Рыжик", "type": "smc", "param": "PVE", "reply": { "class": "PVE", "confidence": 1 } } ] }, "reply": { "answers": [ { "messages": [ "скачать и поставить" ], "voice": "" } ], "datetime": "2024-11-05T12:03:14.127868" } } ], "variables": {}, "history": [ { "id": "2d5853d3-2d62-49f9-b2cd-329937c2985b", "session": "4fa212dd-645f-48b5-af90-6cab208de1d2", "robot": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78", "channel": "default", "closed": false, "endpoint": null, "variables": {}, "request": { "datetime": "2024-11-05T12:03:14.103304", "message": "как поставить окружение", "data": [ { "id": "1f8d4086-d68f-4571-92cb-f96e1d5a4b4e", "name": "pve", "model": "Рыжик", "type": "smc", "param": "PVE", "reply": { "class": "PVE", "confidence": 1 } } ] }, "reply": { "answers": [ { "messages": [ "скачать и поставить" ], "voice": "" }, { "messages": [ "Фраза 2" ], "voice": "" } ], "datetime": "2024-11-05T12:03:14.127868" } } ]} | ||
| Группа методов ses/robot/ | |||
| POST/ses/robot/add | Создание нового робота. На выходе id созданного робота или сообщение об ошибке | ||
|
{ "error": 0,
"id": "2fd2f909-2069-4b20-a725-3a598c83f886"} | ||
| GET/ses/robot/apply/{id} | Применение робота. Переводит черновик робота в статус prod. Если до этого был prod вариант - становится backup. | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/cleardraft/{id} | Обнуление черновика рабочей версией робота | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/commit/{id} | Применение текущих изменений настроек робота в черновик. | ||
|
{ "error": 0,
"message": "success"} | ||
| DELETE/ses/robot/delete/{id} | Удаление всех версий робота | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/export/{id} | Выгрузка робота в архив. | ||
|
zip файл с именем = идентификатор робота | ||
| GET/ses/robot/get/{id} | Выгрузка основных настроек робота | ||
|
{ "error": 0,
"data": { "id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78", "name": "test", "description": "", "voice": "", "session": { "lifetime": 600 }, "models": {}, "servicedata": {}, "exceptions": {}, "actions": {}, "holidays": [], "timeintervals": { "name": { "weekdays": [ 1, 2, 3, 4, 5, 6, 7 ], "dates": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "months": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ], "days": "all", "intervals": [ [ 0, 1440 ] ] }}}} | ||
| POST/ses/robot/import/{id} | Загрузка архива робота в черновик существующего робота | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/list | Получение списка роботов | ||
| Входные параметры отсутствуют | [ { "id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78",
"name": "test", "hasProd": true, "hasBackup": true } ] | ||
| POST/ses/robot/modify/{id} | Изменение основных настроек робота. Формат data как в ответе метода GET/ses/robot/get/{id} | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/restore/{id} | Откат рабочей версии из бэкапа. Бывшая рабочая версия становится черновиком | ||
|
{ "error": 0,
"message": "success"} | ||
| Группа методов ses/robot/data | |||
| POST/ses/robot/data/add/{robot} | Добавление элемента данных | ||
|
{ "error": 0,
"message": "success"} | ||
| DELETE/ses/robot/data/delete/{robot}/{id} | Удаление элемента данных | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/data/get/{robot}/{id} | Получение настроек элемента данных | ||
|
{ "error": 0,
"data": { "id": "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb", "name": "pve", "type": "smc", "model": "Рыжик", "param": "PVE", "weight": 0, "slaveData": [], "forEndpointRunOnly": true, "actions": {} } } | ||
| GET/ses/robot/data/list/{robot} | Получение списка элементов данных | ||
|
[ { "id": "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb",
"name": "pve", "type": "smc" } ] | ||
| POST/ses/robot/data/modify/{robot}/{id} | Изменение элемента данных. Формат data как на выходе метода GET/ses/robot/data/get/{robot}/{id} | ||
|
{ "error": 0,
"message": "success"} | ||
| Группа методов ses/robot/endpoint | |||
| POST/ses/robot/endpoint/add/{robot} | Создание конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id} | ||
|
{ "error": 0,
"id": "8576593b-b0d8-4b03-a623-74f3132356ea"} | ||
| DELETE/ses/robot/endpoint/delete/{robot}/{id} | Удаление конечной точки. | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/endpoint/get/{robot}/{id} | Получение настроек конечной точки | ||
|
{ "error": 0,
"data": { "id": "6500dd0f-4bd1-43b3-9fd4-145eb7210c45", "name": "pve", "entry": [ [ "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb"]], "run": [], "actions": { "default": [ {"action": "say", "type": "linear", "text": [ "текст сообщения"] }, { "action": "следующее действие"} ] } } } | ||
| GET/ses/robot/endpoint/list/{robot} | Получение списка конечных точек робота | ||
|
[ { "id": "8576593b-b0d8-4b03-a623-74f3132356ea",
"name": "точка 1", "entry": [] }, { "id": "6500dd0f-4bd1-43b3-9fd4-145eb7210c45", "name": "точка 2", "entry": [ [ "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb" ] ] }] | ||
| POST/ses/robot/endpoint/modify/{robot}/{id} | Изменение конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id} | ||
|
{ "error": 0,
"message": "success"} | ||
| Группа методов ses/robot/script | |||
| POST/ses/robot/script/add/{robot} | Добавление нового скрипта. Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id} | ||
|
{ "error": 0,
"message": "success"} | ||
| DELETE/ses/robot/script/delete/{robot}/{id} | Удаление скрипта | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/ses/robot/script/get/{robot}/{id} | Получение текста скрипита | ||
|
{ "error": 0,
"data": { "id": "6a9f91b6-9634-4079-ac2b-60a944922c61", "name": "Наименование скрипта", "code": "Текст скрипта" } } | ||
| GET/ses/robot/script/list/{robot} | Получение списка скриптов | ||
| Входные параметры отсутствуют | [ { "id": "9b9d83b7-d5c3-49e6-9bd4-a123a9047939",
"name": "наименование1", "hasProd": true, "hasBackup": false }, { "id": "48b508ba-a32b-4ada-bcc3-66ce26d81c6a", "name": "наименование2", "hasProd": false, "hasBackup": false }] | ||
| POST/ses/robot/script/modify/{robot}/{id} | Изменение скрипта.Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id} | ||
|
{ "error": 0,
"message": "success"} | ||
| Группа методов ses/testapi | |||
| GET/ses/testapi/list | Получение списка эмуляторов сервисов интеграции | ||
| Входные параметры отсутствуют | [ "service1",
"service2", "serviceN"] | ||
| POST/ses/testapi/{request} | Получение ответа эмулятора сервиса интеграции | ||
|
{ "success": true,
"message": null, <ответ эмулятора> } | ||
| GET/ses/testapi/{request} | Получение ответа эмулятора сервиса интеграции | ||
|
{ "success": true,
"message": null, <ответ эмулятора> } | ||