Справочный центр Wialon

check_unique

Чтобы проверить, используется ли уже значение, используйте метод core/check_unique. Можно проверить имена пользователей и ресурсов, номера телефонов объектов и водителей, а также уникальные ID устройств объектов.

Конечная точка

Чтобы проверить одно имя пользователя, имя ресурса или номер телефона, используйте следующий запрос:

Copied!
svc=core/check_unique&params={
  "type": "<text>",
  "value": "<text>"
}

Чтобы проверить сразу несколько значений или уникальный ID устройства объекта, используйте следующий запрос:

Copied!
svc=core/check_unique&params={
  "items": [
    {
      "type": "<text>",
      "value": "<text>"
    },
    {
      "hwType": <long>,
      "uniqueId": "<text>"
    },
    ...
  ]
}

Параметры

Запрос должен содержать либо параметры type и value, либо параметр items. Если запрос содержит и то и другое, используются параметры type и value, а параметр items игнорируется.

Параметр Описание
type Тип элемента: user, avl_resource или avl-phones (номер телефона объекта или водителя). Имена объектов и водителей не обязательно уникальны, поэтому проверить их с помощью этого метода нельзя. Чтобы найти объект или водителя по имени, используйте метод core/search_items.
value Проверяемое значение: имя пользователя, имя ресурса или номер телефона. В именах учитывается регистр: например, john_smith и John_Smith — это разные имена. Указывайте номер телефона в международном формате с символом +, например +37011122233.
items Массив проверяемых значений. Каждый элемент массива должен содержать либо параметры type и value, либо параметры hwType и uniqueId.
hwType ID типа устройства. Используется только в элементах массива items. ID можно получить из поля id в ответе метода core/get_hw_types или из поля hw в расширенных свойствах объекта.
uniqueId Уникальный ID устройства объекта (например, IMEI), указанный в свойствах объекта. Используется только в элементах массива items. Его можно получить из поля uid в расширенных свойствах объекта. Уникальность проверяется по сочетанию уникального ID и типа устройства: такой же уникальный ID может использоваться с другим типом устройства.

Ответ

Если значение уникально, возвращается следующий ответ:

Copied!
{
  "result": 0
}

Если значение уже используется, возвращается следующий ответ:

Copied!
{
  "result": 1
}

Если в параметре type указано значение, которого нет в таблице выше, возвращается 0. То же относится к несуществующему ID типа устройства.

При проверке нескольких значений возвращается массив. Каждый элемент массива содержит результат для соответствующего элемента массива items: 0 или 1. Например:

Copied!
[0, 1, 0]

В случае неудачного выполнения запроса возвращается код ошибки.

Коды ошибок

Код ошибки Описание
4 Неверные входные параметры: запрос не соответствует ни одному из приведенных выше форматов, или один из элементов массива items имеет неверный формат.
1003 Не удалось проверить лимиты запросов или превышен лимит на количество API-запросов по одному из правил. См. Ограничения.

Примеры

Ниже приведены примеры запроса core/check_unique.

Проверка имени пользователя

Чтобы проверить, используется ли уже имя пользователя john_smith, укажите в параметре type значение user, а в параметре value — имя пользователя. Оба параметра обязательны.

Copied!
svc=core/check_unique&params={"type":"user","value":"john_smith"}

Ответ: {"result":1}. Имя пользователя уже используется.

Проверка уникального ID устройства объекта

Запрос проверяет, используется ли уже уникальный ID 123456789012345 с ID типа устройства 96266. Уникальный ID можно проверить только в массиве items, поэтому массив содержит один элемент с обязательными параметрами hwType и uniqueId.

Copied!
svc=core/check_unique&params={"items":[{"hwType":96266,"uniqueId":"123456789012345"}]}

Не добавляйте в этот элемент параметры type и value, даже с пустыми значениями. В противном случае возвращается 0.

Ответ: [0]. Уникальный ID не используется.

Проверка нескольких значений

Запрос проверяет имя пользователя john_smith, имя ресурса Delivery Service и уникальный ID 123456789012345 с ID типа устройства 96266.

Copied!
svc=core/check_unique&params={"items":[{"type":"user","value":"john_smith"},{"type":"avl_resource","value":"Delivery Service"},{"hwType":96266,"uniqueId":"123456789012345"}]}

Ответ: [1,0,0]. Результаты расположены в том же порядке, что и элементы массива items: имя пользователя уже используется, а имя ресурса и уникальный ID не используются.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.