- Created by Inna Kabanova , last modified on Dec 12, 2016
You are viewing an old version of this content. View the current version.
Compare with Current View Version History
« Previous Version 3 Next »
Структура url-запроса get-fact-set определяется форматом:
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startTs=<start-ts>&limit=<limit>&order=<order>
где <post-guid> — guid поста; <channel-no> — номер канала поста (возможные значения в интервале [0; 2147483647]); <start-ts> — начальный момент времени, мкс (от 01.01.1970 00:00 UTC); <limit> — опциональный параметр, который задает максимальное количество событий в ответе (возможные значения в интервале [1;1000], по умолчанию — 10); <order> — опциональный параметр, который задает порядок сортировки событий в теле ответа.
Возможные значения параметра <order>:
"asc". В порядке увеличения временной метки BestTs событий Fact.
"desc" (по умолчанию). В порядке уменьшения временной метки BestTs событий Fact.
"db". В порядке попадания событий Fact в базу данных. Предназначено для копирования архива событий.
"dbrev". В порядке, обратном порядку попадания событий Fact в базу данных. Предназначено для копирования архива событий.
Структура url-запроса get-fact-set2 определяется форматом:
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startId=<start-fact-id>&limit=<limit>&order=<order>
где <post-guid> — guid поста; <channel-no> — номер канала поста (возможные значения в интервале [0; 2147483647]); <start-fact-id> — задает начальный идентификатор события (целое число, не GUID); <limit> — опциональный параметр, который задает максимальное количество событий в ответе (возможные значения в интервале [1;1000], по умолчанию — 10); <order> — опциональный параметр, который задает порядок сортировки событий в теле ответа.
Структура url-запроса get-fact-set3 определяется форматом:
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startGuid=<start-fact-guid>&limit=<limit>&order=<order>
где <post-guid> — guid поста; <channel-no> — номер канала поста (возможные значения в интервале [0; 2147483647]); <start-fact-guid> — начальный GUID события; <limit> — опциональный параметр, который задает максимальное количество событий в ответе (возможные значения в интервале [1;1000], по умолчанию — 10); <order> — опциональный параметр, который задает порядок сортировки событий в теле ответа.
Если структура url запроса get-fact-set, get-fact-set2 или get-fact-set3 соответствует требованиям, сервер после успешной обработки возвращает ответ с http-кодом 200. Тело ответа содержит application/json-документ с параметрами:
"status" <uint16_t>. Содержит 200.
"result" <struct[]>. Массив. Каждый элемент содержит параметры одного события Fact (подраздел 2.6).
Структура url запроса get-fact-set4 определяется форматом (2.9.4).
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startTs=<start-ts>&limit=<limit>&order=<order>\ &imageclass=<image-class-1>&..&imageclass=<image-class-N> | (2.9.4) |
где <image-class-1>..<image-class-N> - Набор классов изображений в теле ответа.
Структура url запроса get-fact-set5 определяется форматом (2.9.5).
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startId=<start-fact-id>&limit=<limit>&order=<order>\ &imageclass=<image-class-1>&..&imageclass=<image-class-N> | (2.9.5) |
Структура url запроса get-fact-set3 определяется форматом (2.9.6).
GET /api/v1/post/<post-guid>/channel/<channel-no>/\ fact?startGuid=<start-fact-guid>&limit=<limit>&order=<order>\ &imageclass=<image-class-1>&..&imageclass=<image-class-N> | (2.9.6) |
Если структура url запроса get-fact-set, get-fact-set2 или get-fact-set3 соответствует требованиям, сервер после успешной обработки возвращает ответ с http-кодом 200. Тело ответа содержит multipart/form-data-документ. Первая часть, возвращаемая сервером, которой присваивается имя “facts”, содержит массив найденных событий в формате JSON. Вторая и последующие части содержат медиаданные изображений запрошенных событий и соответствующие этим изображениям метаданные, в формате JPEG и JSON соответственно. Каждой части присваивается имя, равное идентификатору события, которой соответствует данная часть. Каждой части присваивается имя файла в формате “image.<image-class> или “meta.<image-class>” для частей, содержащих медиаданные и метаданные соответственно.
Пример url запроса:
GET /post/a51d1532-466f-490a-8b06-753cfef7de28/channel/0/fact\
?order=dbrev&imageclass=plate&imageclass=body&limit=2
Пример тела ответа:
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: application/json
Content-Disposition: form-data; name="facts"
[{"Plate":{"Exact_rect":[8.59107e-3,0.550856999999999,4.16667e-2,0.558856999999999],"Text":"АА4527ОС","Country":804,"Validity":79,"Type":1},"Image":"1450715219089099","Direction":"approaching","AlarmTypes":[],"Bestts":1450715219051840,"Guid":"f3e07024-3e9d-464f-baa4-d31291e14903","Speed":1,"SpeedLimit":60,"Id":1450715219089099,"Geodata":{"latitude":50.43756,"speed":null,"altitude":null,"longitude":30.45221}},{"Plate":{"Exact_rect":[0.435996999999999,0.488,0.465205999999999,0.494286],"Text":"АА0669ОЕ","Country":804,"Validity":72,"Type":1},"Image":"1450715223089098","Direction":"receding","AlarmTypes":[],"Bestts":1450715223011871,"Guid":"e9877e1f-4d5b-41aa-a4b2-84422d9b0e2f","Speed":56,"SpeedLimit":60,"Id":1450715223089098,"Geodata":{"latitude":50.43756,"speed":null,"altitude":null,"longitude":30.45221}}]
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: image/jpeg
Content-Disposition: form-data; name="f3e07024-3e9d-464f-baa4-d31291e14903"; filename="image.plate"
(JPEG DATA)
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: application/json
Content-Disposition: form-data; name="f3e07024-3e9d-464f-baa4-d31291e14903"; filename="meta.plate"
{"transform":{"a":30.233766233766232,"d":125,"b":0.0,"x":-0.2597402597402597,"c":0.0,"y":-68.78571428571429},"size":[134,30]}
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: image/jpeg
Content-Disposition: form-data; name="f3e07024-3e9d-464f-baa4-d31291e14903"; filename="image.body"
(JPEG DATA)
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: application/json
Content-Disposition: form-data; name="f3e07024-3e9d-464f-baa4-d31291e14903"; filename="meta.body"
{"transform":{"a":5.049891540130152,"d":5.057803468208093,"b":0.0,"x":0.0,"c":0.0,"y":-2.3034682080924855},"size":[220,165]}
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: image/jpeg
Content-Disposition: form-data; name="e9877e1f-4d5b-41aa-a4b2-84422d9b0e2f"; filename="image.plate"
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: application/json
Content-Disposition: form-data; name="e9877e1f-4d5b-41aa-a4b2-84422d9b0e2f"; filename="meta.plate"
{"transform":{"a":34.74626865671642,"d":159.0909090909091,"b":0.0,"x":-15.149253731343284,"c":0.0,"y":-77.63636363636364},"size":[134,30]}
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: image/jpeg
Content-Disposition: form-data; name="e9877e1f-4d5b-41aa-a4b2-84422d9b0e2f"; filename="image.body"
(JPEG DATA)
--4tfwup9md5utg2ok45s9g28smfygsarq
Content-Type: application/json
Content-Disposition: form-data; name="e9877e1f-4d5b-41aa-a4b2-84422d9b0e2f"; filename="meta.body"
{"transform":{"a":5.805486284289277,"d":5.813953488372093,"b":0.0,"x":-2.114713216957606,"c":0.0,"y":-2.355481727574751},"size":[220,165]}
--4tfwup9md5utg2ok45s9g28smfygsarq--
Примечания:
Запрос (2.7.2) следует использовать для организации постраничных запросов, передавая в качестве этого параметра значение последнего идентификатора, полученного на предыдущей странице.
Клиентам рекомендуется задавать значение url-параметра limit. У сервера может быть свое значение для этого ограничения, меньшее, чем запросил клиент. В этом случае сервер вернет ошибку. Соответственно, если клиент запросил лимит и сервер успешно вернул число записей, меньшее, чем было запрошено, - это значит, что были получены все имеющиеся записи, удовлетворяющие критерию.
- No labels