Скачивание документов, изображений и видео¶
Все байты, прикреплённые к заявителю — лицевая и оборотная стороны ID, селфи, видео-проверка живости, PDF-документы компании — доступны через один эндпоинт «реестра» и один эндпоинт «байтов».
| Эндпоинт | Что возвращает |
|---|---|
GET /v1/applicants/{externalUserId}/resources |
Список метаданных |
GET /v1/applicants/{externalUserId}/resources/{resourceId} |
Сырые байты |
GET /v1/applicants/{externalUserId}/uploads/history |
Перезаписанные загрузки (старые версии) |
Сначала — список¶
curl -X GET 'https://api.compliance.example/v1/applicants/user-12345/resources' \
-H 'X-Api-Key: pk_live_...' \
-H 'X-Api-Secret: ...' \
-H 'X-Environment: production'
{
"items": [
{
"id": "0a1b2c3d4e5f6789abc...db.7fa3c91b88de",
"enrollmentId": "0a1b2c3d-4e5f-...",
"kind": "image",
"slot": "document_front",
"documentType": "passport",
"side": "front",
"mime": "image/jpeg",
"addedAtUtc": "2026-06-07T10:15:11Z",
"source": "docapture",
"active": true
},
{
"id": "0a1b2c3d4e5f6789abc...lv.f0aa1cbb31df",
"enrollmentId": "0a1b2c3d-4e5f-...",
"kind": "video",
"slot": "liveness_video",
"mime": "video/webm",
"addedAtUtc": "2026-06-07T10:15:42Z",
"source": "liveness",
"active": true
}
],
"totalItems": 2
}
Дискриминатор kind¶
image (jpeg/png/heic/webp), pdf (документы компании), video
(webm/mp4 для проверки живости). Подсказывает, какой Content-Type
вернёт эндпоинт байтов, ещё до запроса.
slot¶
document_front · document_back · selfie · liveness_video ·
company_doc · additional.
Параметры фильтрации¶
?enrollmentId={guid}— только из одной сессии?kind=image|video|pdf|all(по умолчаниюall)?activeOnly=true|false(по умолчаниюtrue)
Затем — байты¶
curl -X GET 'https://api.compliance.example/v1/applicants/user-12345/resources/0a1b2c3d4e5f6789abc...db.7fa3c91b88de' \
-H 'X-Api-Key: pk_live_...' \
-H 'X-Api-Secret: ...' \
-H 'X-Environment: production' \
-o doc-front.jpg
Заголовок Content-Type отражает реальный MIME ресурса —
не предполагайте его по URL или слоту. Поддерживается HEAD для
проверки размера/MIME без скачивания. Поддерживается Range для видео.
Формат resourceId¶
{enrollmentIdHex32}.{slotCode}.{hmac16} — непрозрачный. HMAC
вычисляется сервером по приватному ключу и проверяется при каждом
обращении, поэтому подделанный id возвращает 404. Кросс-продуктовые
зонды тоже возвращают 404 (никаких утечек существования).
Перезаписанные загрузки¶
Когда заявитель повторно загружает в тот же слот (например, переснял неудачное селфи), старая версия остаётся в хранилище со статусом неактивной:
curl -X GET 'https://api.compliance.example/v1/applicants/user-12345/uploads/history' \
-H 'X-Api-Key: pk_live_...' \
-H 'X-Api-Secret: ...' \
-H 'X-Environment: production'
В каждой записи есть resourceId, который можно передать в эндпоинт
байтов — резолвер сопоставляет и активные, и исторические загрузки.