Настройка токена и региона flespi через API
В этой статье описывается, как настроить параметры интеграции с flespi с помощью Remote API. Эти параметры соответствуют разделу Настройки flespi на вкладке Безопасность в настройках пользователя системы мониторинга. Токен flespi необходим для отправки команд на устройства типа flespi, а также для некоторых интеграций на основе flespi, например для потоковой передачи данных OEM или тахографа.
Параметры интеграции с flespi хранятся как произвольные свойства элемента пользователь учетной записи верхнего уровня. Для управления следующими произвольными свойствами используется метод item/update_custom_property: flespi_token (Master-токен flespi), flespi_token_dc (код региона центра обработки данных) и flespi_region (полная конфигурация региона в формате JSON).
Этот метод работает как в Wialon Hosting, так и в Wialon Local. Различается только хост запроса: https://hst-api.wialon.com для Wialon Hosting или URL вашего сайта мониторинга для Wialon Local.
Эти свойства необходимо задавать для элемента пользователь учетной записи верхнего уровня, а не для объекта или ресурса. У пользователя, выполняющего запрос, должно быть право доступа Редактирование неупомянутых свойств (бит
0x80) на этого пользователя.
Шаг 1. Поиск идентификатора пользователя учетной записи верхнего уровня
Чтобы найти системный идентификатор пользователя учетной записи верхнего уровня, используйте запрос core/search_items.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items¶ms={"spec":{"itemsType":"user","propName":"sys_name","propValueMask":"<top_account_name>","sortType":"sys_name"},"force":1,"flags":1,"from":0,"to":0}&sid=SESSION_IDENTIFIER
Системный идентификатор возвращается в параметре id возвращаемого результата. Предположим, что его значение — 600003506.
Шаг 2. Настройка токена flespi
Чтобы задать Master-токен flespi, используйте запрос item/update_custom_property.
https://hst-api.wialon.com/wialon/ajax.html?svc=item/update_custom_property¶ms={"itemId":600003506,"name":"flespi_token","value":"YOUR_FLESPI_MASTER_TOKEN"}&sid=SESSION_IDENTIFIER
| Параметр и его значение | Описание |
|---|---|
"itemId":600003506 |
Системный идентификатор пользователя учетной записи верхнего уровня. |
"name":"flespi_token" |
Имя произвольного свойства для токена flespi. |
"value":"YOUR_FLESPI_MASTER_TOKEN" |
Значение Master-токена flespi. Его можно скопировать на вкладке Tokens в панели flespi. |
Ответ
{
"n": "flespi_token",
"v": "YOUR_FLESPI_MASTER_TOKEN"
}
Шаг 3. Настройка региона центра обработки данных
Задайте код региона центра обработки данных flespi.
https://hst-api.wialon.com/wialon/ajax.html?svc=item/update_custom_property¶ms={"itemId":600003506,"name":"flespi_token_dc","value":"eu"}&sid=SESSION_IDENTIFIER
| Параметр и его значение | Описание |
|---|---|
"name":"flespi_token_dc" |
Имя произвольного свойства для региона центра обработки данных. |
"value":"eu" |
Код региона. Данные пользователей flespi хранятся в центре обработки данных в Нидерландах (регион eu). |
Ответ
{
"n": "flespi_token_dc",
"v": "eu"
}
Шаг 4. Настройка конфигурации региона flespi
Задайте полную конфигурацию региона. Это свойство содержит конечные точки и URL сервисов для выбранного региона flespi.
https://hst-api.wialon.com/wialon/ajax.html?svc=item/update_custom_property¶ms={"itemId":600003506,"name":"flespi_region","value":"{\"apps\":{\"login\":\"https://flespi.io/login\"},\"cdn\":\"https://cdn.flespi.io\",\"default\":true,\"gw\":\"gw.flespi.io\",\"gw-ftp\":\"{channel-address}:21\",\"gw-ip\":\"185.213.2.30\",\"media\":\"https://media.flespi.io\",\"mqtt\":\"mqtt.flespi.io:8883\",\"mqtt-ws\":\"mqtt.flespi.io:443\",\"name\":\"eu\",\"registration-allowed\":true,\"rest\":\"https://flespi.io\"}"}&sid=SESSION_IDENTIFIER
Значение flespi_region для региона eu содержит следующую конфигурацию:
| Ключ | Значение | Описание |
|---|---|---|
apps.login |
https://flespi.io/login |
URL страницы входа во flespi. |
cdn |
https://cdn.flespi.io |
URL CDN для ресурсов flespi. |
default |
true |
Отмечает этот регион как регион по умолчанию. |
gw |
gw.flespi.io |
Адрес шлюза flespi. |
gw-ip |
185.213.2.30 |
IP-адрес шлюза flespi. |
gw-ftp |
{channel-address}:21 |
Шаблон адреса FTP-шлюза flespi. |
media |
https://media.flespi.io |
URL медиасервера. |
mqtt |
mqtt.flespi.io:8883 |
Адрес MQTT-брокера (TLS). |
mqtt-ws |
mqtt.flespi.io:443 |
Адрес MQTT через WebSocket. |
name |
eu |
Название региона. |
registration-allowed |
true |
Показывает, разрешена ли регистрация новых учетных записей в этом регионе. |
rest |
https://flespi.io |
Базовый URL REST API flespi. |
При передаче в API-запросе в виде строки значение JSON должно быть правильно экранировано. Все внутренние двойные кавычки необходимо экранировать обратной косой чертой (
\").
Проверка конфигурации
Чтобы проверить настройки flespi, используйте запрос core/search_item с флагом 0x00000002 (2) для получения произвольных свойств элемента пользователя.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item¶ms={"id":600003506,"flags":3}&sid=SESSION_IDENTIFIER
Возвращаемый результат содержит объект prp со всеми произвольными свойствами, в котором можно проверить значения flespi_token, flespi_token_dc и flespi_region.
Удаление настроек flespi
Чтобы удалить настройку flespi у пользователя учетной записи верхнего уровня, используйте тот же метод item/update_custom_property с пустым значением:
https://hst-api.wialon.com/wialon/ajax.html?svc=item/update_custom_property¶ms={"itemId":600003506,"name":"flespi_token","value":""}&sid=SESSION_IDENTIFIER
После удаления свойство больше не показывается в объекте prp, который возвращает core/search_item.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Неверные входные параметры. |
| 6 | Внутренняя ошибка при обновлении свойства. |
| 7 | Элемент не найден или у текущего пользователя нет права доступа Редактирование неупомянутых свойств на элемент (пользователя учетной записи верхнего уровня). |