set_prms_limit
Чтобы ограничить количество параметров сообщений, которые сервер возвращает для каждого объекта в текущей сессии, используйте метод core/set_prms_limit.
Метод полезен для объектов с большим количеством параметров сообщений, например для объектов с BLE-метками. При наличии ограничения сервер возвращает не весь список, а только последние параметры, поэтому ответ становится намного меньше.
Метод core/set_prms_limit недоступен в Wialon Local.
Конечная точка
svc=core/set_prms_limit¶ms={
"prms_limit": <uint>
}
Параметры
Запрос должен содержать следующий параметр:
| Название | Описание |
|---|---|
prms_limit |
Максимальное количество параметров сообщений, возвращаемых для каждого объекта:
|
Ограничение применяется ко всем объектам сессии и только к параметрам сообщений. Оно не влияет на другие сессии, даже на те, которые получают данные от тех же объектов. Ограничение не применяется к ресурсам, хотя флаг групп геозон имеет то же значение, что и флаг параметров сообщений.
Метод только сохраняет ограничение. Он не добавляет объекты в сессию и не возвращает их данные. Чтобы получить параметры сообщений с новым ограничением, отправьте запрос core/update_data_flags с флагом параметров сообщений в режиме 1. Подробнее о возвращаемых данных см. в разделе Ограниченный список параметров.
Чтобы изменить ограничение, повторно отправьте запрос core/set_prms_limit с новым значением. Формат новых событий меняется сразу. Чтобы получить список параметров с новым ограничением, выполните следующее:
- Если новое ограничение — положительное число, отправьте запрос
core/update_data_flagsс флагом параметров сообщений в режиме 1. - Если новое ограничение равно
0, сначала удалите флаг параметров сообщений из сессии (режим 2), а затем добавьте его снова (режим 1). Если у объекта уже есть этот флаг, его добавление в режиме 1 без предварительного удаления ничего не возвращает.
Ответ
Если запрос выполнен успешно, результат возвращается в следующем формате:
{
"prms_limit": <uint> /* Сохраненное ограничение. */
}
Если запрос не выполнен, возвращается код ошибки. В большинстве случаев продолжает действовать предыдущее ограничение. Однако ошибка 6 может вернуться и после сохранения нового ограничения, если серверу не удалось сформировать ответ. В этом случае отправьте запрос повторно, чтобы убедиться, что нужное ограничение установлено.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 1 | Невалидная сессия. |
| 4 | Параметр prms_limit не указан или не является целым числом. Если значение отрицательное или превышает максимальное, ответ также содержит "reason": "WRONG_PRMS_LIMIT". |
| 6 | Не удалось сохранить ограничение. |
Пример
В этом примере сессия получает не полный список параметров сообщений объекта, а не более 100 последних параметров. Для этого сначала установите ограничение, а затем добавьте в сессию флаг параметров сообщений для объекта.
Ограничьте количество параметров сообщений до 100:
svc=core/set_prms_limit¶ms={"prms_limit":100}
Ответ:
{
"prms_limit": 100
}
Затем запросите параметры сообщений объекта:
svc=core/update_data_flags¶ms={"spec":[{"type":"id","data":28877572,"flags":1048576,"mode":1}]}
Ответ:
[
{
"i": 28877572,
"d": {
"prms": {
"engine_temp": {
"v": 87,
"ct": 1790541264,
"at": 1790541264
},
...
},
"prms_total": 2450
},
"f": 1048576
}
]