Как запустить скрипт извне
Программа Eonza позволяет запускать скрипты из других приложений. Вы можете интегрировать Eonza с любой программой, которая может отправлять HTTP запросы.
Для начала, добавьте событие в Планировщик задач. Обязательно нужно указать имя события и имя скрипта, который нужно будет запускать. Если вы хотите отправить запрос с этого же компьютера, то вам больше не нужно ничего настраивать. Отправьте POST запрос http://localhost:[port]/api/event со следующими параметрами:
- name - имя события, у которого будет запущен соответствующий скрипт.
- data - любые текстовые данные. Эти данные будут переданы скрипту в константе data. Скрипт должен обработать их, если это необходимо.
[port] - номер порта, который использует программа Eonza.
Например,
1POST: http://localhost:3234/api/event 2Parameters: 3name: "myevent" 4data: "value: 2345 5 name: John Doe 6 islocal: true"
Как запустить скрипт с другого компьютера
Вы можете вызвать событие в программе Eonza не только на этом же компьютере, но и с любого другого компьютера. Для этого предварительно привяжите Eonza к доменному имени или статическому IP-адресу. Также, укажите параметр Токен в событии, которое будет вызвано. Рекомендуется указывать больше 8 случайных символов в качестве токена.
Шаг 1. Получение одноразового идентификатора
Отправьте GET запрос https://[yourdomain]:[port]/api/randid для получения одноразового идентификатора. Eonza возвратит JSON объект с полем rand. Если произошла ошибка, то объект будет содержать поле error с текстом ошибки. Время жизни одноразового идентификатора равно 3 секундам.
1GET: https://playground.eonza.org:3234/api/randid 2Result: 3{ 4 "rand": "1234567484" 5}
Шаг 2. Формирование хэша
Вы должны вычислить sha256 хэш от параметров POST запроса. Объедините в одну строку имя события, параметр data, идентификатор rand и токен события. Все строки объединяются без пробелов и прочих разделителей. Вычислите SHA-256 хэш от полученной строки.
Шаг 3. Отправление POST запроса
Отправьте POST запрос https://[yourdomain]:[port]/api/event со следующими параметрами:
- name - имя события, которое запустит соответствующий скрипт.
- data - любые текстовые данные. Эти данные будут переданы скрипту в константе data. Скрипт должен обработать их, если это необходимо.
- rand - одноразовый идентификатор.
- sign - SHA-256 хэш, который был вычислен на преддыдущем шаге.
В случае успеха возвращается JSON объект с полями success, port - порт запущенного скрипта, id - идентификатор задачи. В случае ошибки, возвращается код 403 или JSON объект с полем error и success (равно false).
1POST: https://playground.eonza.org:3234/api/event 2Params: 3Parameters: 4name: "myevent" 5data: "{ 6 "value": 2345, 7 "name": "John Doe", 8 "islocal": false 9}" 10rand: "1234567484" 11sign: "034fa78bc....." 12Result: 13{ 14 "success": true, 15 "port": 3237, 16 "id": 762373421, 17}