check_unique
Чтобы проверить, используется ли уже значение, используйте метод core/check_unique. Можно проверить имена пользователей и ресурсов, номера телефонов объектов и водителей, а также уникальные ID устройств объектов.
Конечная точка
Чтобы проверить одно имя пользователя, имя ресурса или номер телефона, используйте следующий запрос:
svc=core/check_unique¶ms={
"type": "<text>",
"value": "<text>"
}
Чтобы проверить сразу несколько значений или уникальный ID устройства объекта, используйте следующий запрос:
svc=core/check_unique¶ms={
"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 может использоваться с другим типом устройства. |
Ответ
Если значение уникально, возвращается следующий ответ:
{
"result": 0
}
Если значение уже используется, возвращается следующий ответ:
{
"result": 1
}
Если в параметре type указано значение, которого нет в таблице выше, возвращается 0. То же относится к несуществующему ID типа устройства.
При проверке нескольких значений возвращается массив. Каждый элемент массива содержит результат для соответствующего элемента массива items: 0 или 1. Например:
[0, 1, 0]
В случае неудачного выполнения запроса возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Неверные входные параметры: запрос не соответствует ни одному из приведенных выше форматов, или один из элементов массива items имеет неверный формат. |
| 1003 | Не удалось проверить лимиты запросов или превышен лимит на количество API-запросов по одному из правил. См. Ограничения. |
Примеры
Ниже приведены примеры запроса core/check_unique.
Проверка имени пользователя
Чтобы проверить, используется ли уже имя пользователя john_smith, укажите в параметре type значение user, а в параметре value — имя пользователя. Оба параметра обязательны.
svc=core/check_unique¶ms={"type":"user","value":"john_smith"}
Ответ: {"result":1}. Имя пользователя уже используется.
Проверка уникального ID устройства объекта
Запрос проверяет, используется ли уже уникальный ID 123456789012345 с ID типа устройства 96266. Уникальный ID можно проверить только в массиве items, поэтому массив содержит один элемент с обязательными параметрами hwType и uniqueId.
svc=core/check_unique¶ms={"items":[{"hwType":96266,"uniqueId":"123456789012345"}]}
Не добавляйте в этот элемент параметры type и value, даже с пустыми значениями. В противном случае возвращается 0.
Ответ: [0]. Уникальный ID не используется.
Проверка нескольких значений
Запрос проверяет имя пользователя john_smith, имя ресурса Delivery Service и уникальный ID 123456789012345 с ID типа устройства 96266.
svc=core/check_unique¶ms={"items":[{"type":"user","value":"john_smith"},{"type":"avl_resource","value":"Delivery Service"},{"hwType":96266,"uniqueId":"123456789012345"}]}
Ответ: [1,0,0]. Результаты расположены в том же порядке, что и элементы массива items: имя пользователя уже используется, а имя ресурса и уникальный ID не используются.