Перейти к содержимому

Archive API

Archive API — отдельное API для работы с архивом конкретной камеры. Реквизиты для доступа к нему возвращаются методом GET /v1/cameras/{cameraId} в полях archiveApiUrl и archiveApiToken.

Archive API не использует X-Integration-Key. Вместо этого к URL каждого запроса добавляются query-параметры signature и exp из archiveApiToken.

Шаблон URL:

{archiveApiUrl}?signature={archiveApiToken.signature}&exp={archiveApiToken.exp}

Пример:

https://faceter-archive-api-server/archives/{archiveId}/preview?signature=3a1a3cfc&exp=1761376683

Методы timeline, index.m3u8 и size принимают одинаковые параметры:

ПараметрТипОписание
startnumber(double)начало интервала
durationnumber(double)длительность интервала

Метод preview использует параметр time — конкретный момент времени.


Возвращает информацию о наличии архивных записей на указанном временном промежутке.

GET /archives/{archiveId}/timeline
ПараметрТипОписание
archiveIduuidидентификатор архива
startnumber(double)начало интервала
durationnumber(double)длительность интервала

Response 200:

[
{ "time": 1712745600000, "duration": 60000, "offset": 0 }
]
ПолеТипОписание
timeint64время начала интервала
durationint64длительность интервала
offsetint64смещение

Возвращает M3U8-плейлист для воспроизведения архива HLS-плеером.

GET /archives/{archiveId}/index.m3u8
ПараметрТипОписание
archiveIduuidидентификатор архива
startnumber(double)начало интервала
durationnumber(double)длительность интервала
discontinuitybooleanдобавлять EXT-X-DISCONTINUITY при разрывах

Response 200 — текстовый M3U8 файл (application/vnd.apple.mpegurl):

#EXTM3U
#EXT-X-VERSION:3
#EXTINF:6.000,
segment1.ts
#EXTINF:6.000,
segment2.ts

Response 404:

{ "status": 404, "code": "PlaylistNotFound", "description": "Archive playlist was not found" }

Возвращает размер архива в байтах за указанный период.

GET /archives/{archiveId}/size
ПараметрТипОписание
archiveIduuidидентификатор архива
startnumber(double)начало интервала
durationnumber(double)длительность интервала

Response 200:

{ "size": 10485760 }
ПолеТипОписание
sizeint64размер в байтах

Возвращает JPEG-изображение из архива для указанного момента времени.

GET /archives/{archiveId}/preview
ПараметрТипОписание
archiveIdstringидентификатор архива
timenumber(double)момент времени

Response 200 — JPEG-изображение (image/jpeg).

Response 404ProblemDetails:

{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "Preview not found",
"instance": "/archives/{archiveId}/preview"
}