multi_import
Метод exchange/multi_import позволяет создать объекты из ZIP-архива и импортировать их сообщения. Чтобы создать такой архив, используйте метод exchange/multi_export.
Для использования метода в учетной записи должна быть включена услуга Импорт/Экспорт. Каждый файл WLP в архиве засчитывается как одно использование услуги.
В Wialon Local этот метод доступен начиная с версии 2304.
Конечная точка
svc=exchange/multi_import¶ms={
"userId": <uint>
}
Метод относится к ресурсоемким запросам, поэтому на него распространяется ограничение на количество одновременно обрабатываемых ресурсоемких запросов в одной сессии. При превышении ограничения возвращается ошибка 1003 с причиной
LIMIT api_concurrent. Список ресурсоемких запросов см. в разделе Ограничения.
Параметры
| Параметр | Описание |
|---|---|
userId |
ID пользователя, который становится создателем объектов. Если параметр не указан, создателем становится текущий пользователь. Создателем не может быть пользователь верхнего уровня. |
Загрузка файла
Чтобы загрузить архив, используйте POST-запрос с множественным содержимым (multipart/form-data). Если прикреплено несколько файлов, обрабатывается только первый из них. Например:
Request URL: https://hst-api.wialon.com/wialon/ajax.html?svc=exchange/multi_import&sid=SESSION_IDENTIFIER
Request Method: POST
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarylvunQiir9AesO8qB
------WebKitFormBoundarylvunQiir9AesO8qB
Content-Disposition: form-data; name="params"
{"userId":123456}
------WebKitFormBoundarylvunQiir9AesO8qB
Content-Disposition: form-data; name="file"; filename="multi_export.zip"
Content-Type: application/zip
------WebKitFormBoundarylvunQiir9AesO8qB--
Архив должен содержать следующие файлы:
| Файл | Содержимое |
|---|---|
<имя>.wlp |
Свойства объекта. Обязательный файл. |
<имя>.wlb |
Сообщения объекта. Необязательный файл. Имя файла должно совпадать с именем файла WLP объекта. |
Импорт объектов
Для каждого файла WLP в архиве создается новый объект. Существующие объекты не обновляются. К новому объекту применяются свойства объекта из файла.
Тип устройства определяется по его ID или имени из файла. Если тип устройства не найден, устанавливается тип устройства с ID 899 (Wialon Retranslator). Если на сервере нет типа устройства с этим ID, объект не создается.
Сообщения из файла WLB импортируются, только если у создателя есть право Импорт сообщений на новый объект.
Если объект не удается создать, он пропускается, а ошибка не возвращается.
Ответ
Если запрос выполнен успешно, возвращается следующий ответ:
{
"error": 0
}
При неудачном выполнении возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Одна из следующих ошибок:
|
| 5 | Создатель объектов является пользователем верхнего уровня. |
| 6 | Внутренняя ошибка, например прикрепленный файл не является ZIP-архивом. |
| 14 | Учетная запись заблокирована, или услуга Импорт/Экспорт недоступна для учетной записи. |
| 1003 | Достигнуто ограничение на количество одновременно обрабатываемых ресурсоемких запросов (причина LIMIT api_concurrent). |