Как запустить скрипт извне

Программа 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}
Онлайн-демо
Скачать Документация Скрипты Pro версия
Русский
English