Создание учетных записей и объектов
В данной статье будет рассмотрено создание учетных записей и объектов при помощи Remote API. Эти элементы являются ключевыми при работе с Wialon, а их создание требует выполнения цепочки обязательных действий.
Также вам могут быть полезны:
- Статья Базовые запросы.
- Документация с подробным описанием каждого API-запроса.
- Примеры готовых решений с использованием SDK из раздела Маркетплейс.
- Серия вебинаров Wialon API и SDK: обучающие видео.
- Коллекция примеров в приложении Postman для тестирования API-запросов.
- Раздел форума Собственные разработки под Wialon.
Создание учетной записи
Перед выполнением данного действия необходимо вспомнить два важных термина:
- Создатель — это пользователь, от имени которого создан определенный элемент системы.
- Учетная запись — это макроэлемент системы, который представляет собой единство ресурса, пользователя и тарифного плана.
Исходя из этого, чтобы создать учетную запись, необходимо:
- Найти подходящий тарифный план.
- Найти системный ID пользователя-создателя, под которым будет находиться будущий создатель учетной записи.
- От имени найденного пользователя создать нового пользователя.
- От имени нового пользователя создать ресурс.
- Объединить нового пользователя, ресурс и тарифный план в учетную запись.
Рассмотрим запросы, которые понадобятся на каждом из этих шагов, на следующем примере: необходимо создать учетную запись с именем sdk_account, которая по иерархии сервиса будет находиться под учетной записью пользователя manager.
1. Поиск тарифного плана
Используем запрос core/get_account_data.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/get_account_data¶ms={"type":1}&sid=ИДЕНТИФИКАТОР_СЕССИИ
В отличие от других элементов, тарифный план не имеет системного ID. При необходимости ссылаться на него уникальным параметром является имя.
Имена назначенных тарифных планов будут отображаться в ответе на запрос в параметре subPlans. Предположим, что мы будем использовать тарифный план с именем standard_client.
Если в ответе не отображаются тарифные планы, то необходимо проверить, обладает ли учетная запись правами дилера и назначены ли на нее тарифные планы.
2. Поиск системного ID пользователя-создателя
Используем запрос core/search_items.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items¶ms={"spec":{"itemsType":"user","propName":"sys_name","propValueMask":"manager","sortType":"sys_name"},"force":1,"flags":1,"from":0,"to":0}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “itemsType”:“user” | Поиск будет выполнен по пользователям. | 
| “propName”:“sys_name” | Поиск будет выполнен по имени элемента. | 
| “propValueMask”:“manager” | В ответе будет отображен пользователь, имя которого полностью совпадает с выражением manager. | 
| “sortType”:“sys_name” | Сортировка будет выполнена по имени элемента. | 
| “force”:1 | Результаты предыдущих поисков не будут учитываться. | 
| “flags”:1 | В ответе будет содержаться только информация об основных свойствах. | 
| “from”:0,“to”:0 | Ограничения по количеству найденных элементов не будут применяться. | 
Системный ID пользователя будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 11111.
3. Создание нового пользователя
Используем запрос core/create_user.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/create_user¶ms={"creatorId":11111,"name":"sdk_account","password":"Pa%24%24w0rd","dataFlags":1}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “creatorId”:11111 | Создателем нового пользователя будет пользователь с системным ID 11111. | 
| “name”:“sdk_account” | Новый пользователь будет иметь имя sdk_account. | 
| “password”:“Pa%24%24w0rd” | Новый пользователь будет иметь пароль Pa$$w0rd. Так как по требованиям безопасности пароль должен содержать спецсимволы, то они должны быть закодированы для передачи в URL. | 
| “dataFlags”:1 | В качестве ответа будут отображены только основные свойства нового пользователя. | 
Системный ID пользователя будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 22222.
4. Создание ресурса
Используем запрос core/create_resource.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/create_resource¶ms={"creatorId":22222,"name":"sdk_account","dataFlags":1,"skipCreatorCheck":0}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “creatorId”:22222 | Создателем нового ресурса будет пользователь с системным ID 22222. | 
| “name”:“sdk_account” | Новый ресурс будет иметь имя sdk_account. | 
| “dataFlags”:1 | В качестве ответа будут отображены только основные свойства нового ресурса. | 
| “skipCreatorCheck”:0 | Проверить, является ли пользовать создателем каких-либо элементов системы на данный момент. | 
Системный ID ресурса будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 33333.
5. Объединение в учетную запись
Используем запрос account/create_account.
https://hst-api.wialon.com/wialon/ajax.html?svc=account/create_account¶ms={"itemId":33333,"plan":"standard_client"}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “itemId”:33333 | Новая учетная запись будет содержать в себе ресурс с системным ID 33333. | 
| “plan”:“standard_client” | Новая учетная запись будет использовать тарифный план standard_client. | 
Выше рассмотрены только минимальные необходимые шаги для появления учетной записи в системе. Для выполнения прочих настроек нужно использовать отдельные запросы из списка в документации.
Создание объекта
Чтобы создать объект с помощью Remote API, необходимо:
- Найти системный ID типа оборудования.
- Найти системный ID пользователя-создателя, в учетной записи которого будет находиться будущий объект.
- Создать объект.
- Присвоить объекту уникальный ID.
Рассмотрим необходимые запросы на следующем примере: необходимо создать объект Delivery truck с типом оборудования Wialon IPS и уникальным ID 12345 в учетной записи пользователя sdk_account.
1. Поиск системного ID типа оборудования
Используем запрос core/get_hw_types.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/get_hw_types¶ms={"filterType":"name","filterValue":["Wialon%20IPS"],"includeType":0,"ignoreRename":1}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “filterType”:“name” | Фильтрация будет осуществляться по имени типа оборудования. | 
| “filterValue”:[“Wialon%20IPS”] | Поиск будет выполнен по выражению Wialon IPS. | 
| “includeType”:0 | В ответе не будет показана дополнительная информация о типе оборудования. | 
| “ignoreRename”:1 | В ответе будут проигнорированы переименования типов оборудования. | 
Системный ID типа оборудования будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 44444.
Системный ID одного типа оборудования может отличаться для разных сервисов Wialon Hosting и Wialon Local.
2. Поиск системного ID пользователя-создателя
Используем запрос core/search_items.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items¶ms={"spec":{"itemsType":"user","propName":"sys_name","propValueMask":"sdk_account","sortType":"sys_name"},"force":1,"flags":1,"from":0,"to":0}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “itemsType”:“user” | Поиск будет выполнен по пользователям. | 
| “propName”:“sys_name” | Поиск будет выполнен по имени элемента. | 
| “propValueMask”:“sdk_account” | В ответе будет отображен пользователь, имя которого полностью совпадает со словом sdk_account. | 
| “sortType”:“sys_name” | Сортировка будет выполнена по имени элемента. | 
| “force”:1 | Результаты предыдущих поисков не будут учитываться. | 
| “flags”:1 | В ответе будет содержаться только информация об основных свойствах. | 
| “from”:0;“to”:0 | Ограничения по количеству найденных элементов не будут применяться. | 
Системный ID пользователя будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 22222.
3. Создание объекта
Используем запрос core/create_unit.
https://hst-api.wialon.com/wialon/ajax.html?svc=core/create_unit¶ms={"creatorId":22222,"name":"Delivery%20truck","hwTypeId":44444,"dataFlags":1}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “creatorId”:22222 | Создателем нового объекта будет пользователь с системным ID 22222. | 
| “name”:“Delivery%20truck” | Имя нового объекта будет Delivery truck. | 
| “hwTypeId”:“44444” | Системный ID типа оборудования для нового объекта будет иметь значение 44444. | 
| “dataFlags”:1 | В качестве ответа будут отображены только основные свойства нового объекта. | 
Системный ID объекта будет отображаться в ответе на запрос в параметре id. Предположим, он будет иметь значение 55555.
4. Указание уникального ID
Используем запрос unit/update_device_type.
https://hst-api.wialon.com/wialon/ajax.html?svc=unit/update_device_type¶ms={"itemId":55555,"deviceTypeId":44444,"uniqueId":"12345"}&sid=ИДЕНТИФИКАТОР_СЕССИИ
| Параметр и его значение | Описание | 
|---|---|
| “itemId”:55555 | Изменение настроек будет осуществляться для объекта с системным ID 55555. | 
| “deviceTypeId”:“44444” | Системный ID типа оборудования будет иметь значение 44444. С помощью данного параметра можно изменить тип оборудования объекта. | 
| “uniqueId”:“12345” | Уникальный ID объекта будет иметь значение 12345. | 
Выше рассмотрены только минимальные необходимые шаги для появления объекта в системе. Для выполнения прочих настроек нужно использовать отдельные запросы из списка в документации.
