ThinkingHome.Plugins.Scripts.WebApi
Предоставляет HTTP API для управления сценариями и сценарными событиями.
Сохраняет в системе информацию о сценарии: его название и текст.
id
(guid) - id ранее сохраненного сценария. Если этот параметр не указан, будет создан новый сценарий.name
(string, required) - название сценария, по которому к нему можно будет обращаться из других сценариев и плагинов.body
(string, required) - текст сценария на языке JavaScript.
В ответ на клиент возвращается строка, содержащая id сохраненного сценария.
"21222eed-5a92-42ad-b7c9-23f548482024"
curl 'http://localhost:8080/api/scripts/web-api/save?name=say-hello&body=host.log.fatal(%22hello%20world%22);'
Получает информацию о ранее сохраненном сценарии.
id
(guid, required) - id сценария.
В ответ на клиент возвражается объект, содержащий id, название и текст заданного сценария.
{
"id":"21222eed-5a92-42ad-b7c9-23f548482024",
"name":"say-hello",
"body":"host.log.fatal(\"hello world\");"
}
curl 'http://localhost:8080/api/scripts/web-api/get?id=21222eed-5a92-42ad-b7c9-23f548482024'
Удаляет сценарий с указанным id.
id
(guid, required) - id сценария.
В ответ на клиент возвражается null
. Если сценарий с заданным id не удалось найти, будет возвращен код ошибки 500.
null
curl 'http://localhost:8080/api/scripts/web-api/delete?id=21222eed-5a92-42ad-b7c9-23f548482024'
Возвращает список сценариев, сохраненных в системе.
Для этого запроса не нужно передавать никаких параметров.
В ответ на клиент возвражается список сценариев, содержащий их id и названия.
[
{
"id":"a634a269-d250-40bc-a9ca-0e76b19d84b5",
"name":"debug-tool"
},
{
"id":"57a79a81-3045-46f0-a76c-6f0f2fafde24",
"name":"say-hello"
}
]
curl 'http://localhost:8080/api/scripts/web-api/list'
Запускает сценарий с указанным id.
id
(guid, required) - id сценария.
В ответ на клиент возвражается значение, которое было возвращено из сценария через return
. Если сценарий не имеет возвращаемого значения, на клиент будет возвращен null
.
curl 'http://localhost:8080/api/scripts/web-api/execute?id=c91f45c6-2da1-4cc6-a2b8-8190adf5144f'
Возвращает список сценариев, подписанных на сценарные события.
Для этого запроса не нужно передавать никаких параметров.
В ответ на клиент возвражается список, содержащий id подписки на событие, название события, а также id и название сценария.
[
{
"id":"b308f0e7-7f0c-4599-ba89-65cff22ae043",
"scriptId":"a634a269-d250-40bc-a9ca-0e76b19d84b5",
"scriptName":"say-hello",
"eventAlias":"я дома"
},
{
"id":"ab4ef0e7-7f0c-4599-ba89-65cff22ae756",
"scriptId":"57a79a81-3045-46f0-a76c-6f0f2fafde24",
"scriptName":"debug-tool",
"eventAlias":"my-event"
}
]
Добавляет подписку сценария на заданное сценарное событие.
scriptId
(guid, required) - id сценария.eventAlias
(string, required) - название события.
В ответ на клиент возвращается строка, содержащая id добавленной подписки.
"fa170f1a-4665-40df-884b-307f0731fa86"
curl 'http://localhost:8080/api/scripts/web-api/subscription/add?scriptId=a634a269-d250-40bc-a9ca-0e76b19d84b5&eventAlias=my-event'
Удаляет подписку сценария на сценарное событие.
subscriptionId
(guid, required) - id удаляемой подписки.
В ответ на клиент возвражается null
. Если подписка с заданным id не найдена, будет возвращен код ошибки 500.
null
curl 'http://localhost:8080/api/scripts/web-api/subscription/delete?subscriptionId=fa170f1a-4665-40df-884b-307f0731fa86'