---
title: Получение документов для повторного использования
description: Проверьте, есть ли у пользователя документ, доступный для повторного использования, прежде чем начинать новый процесс захвата.
canonical: https://developer.unico.io/ru/dual-api/developers/api-reference/api/get-document
locale: ru
generated_by: markdown-export
---

- [/ru/](/ru/)
- [Справочник API](/ru/dual-api/developers/api-reference/)
- [API](/ru/dual-api/developers/api-reference/api/)
- Get Reusable Documents

**На этой странице# Получение документов для повторного использования

Используйте этот эндпоинт, чтобы проверить, есть ли у пользователя доступный для повторного использования документ, прежде чем начинать новый процесс захвата документа. Если документ найден, его `documentId` можно передать напрямую в `POST /processes/v1` (тип Document), чтобы пропустить этап захвата.
### Эндпоинт​

СредаURL**Production**`GET https://api.id.unico.app/documents/v1`**Sandbox**`GET https://api.id.uat.unico.app/documents/v1`
### Запрос​

Заголов ки
ЗаголовокЗначение`Authorization``Bearer <access_token>` (см. [Аутентификация](/ru/dual-api/developers/api-reference/authentication))`APIKEY`Предоставленный API-ключ с включённой функцией Распознавание документов и повторное использование.
Параметры запроса
ПараметрТипОбязательныйОписание`code`stringдаИдентификатор пользователя (CPF или CURP, без форматирования).`type`stringдаТип документа для запроса. Допустимые значения: `BR_RG`, `BR_CNH`, `BR_CIN`, `BR_PASSPORT`.
примечаниеЗначения `type`, указанные выше, относятся только к этому эндпоинту. Не путайте их с:
`subject.duiType` в POST-запросах — использует префикс `DUI_TYPE_*` и идентифицирует человека, а не тип документа (например, `DUI_TYPE_BR_CPF`).
`documentType` в ответе — использует полный путь реестра (например, `unico.moja.dictionary.br.cnh.v2.Cnh`).

### Пример​

cURLNode.js```
curl -X GET "https://api.id.unico.app/documents/v1?code=12345678909&type=BR_CNH" \  -H "Authorization: Bearer $TOKEN" \  -H "APIKEY: $API_KEY"
```

```
import fetch from 'node-fetch';const params = new URLSearchParams({ code: '12345678909', type: 'BR_CNH' });const res = await fetch(  `https://api.id.unico.app/documents/v1?${params}`,  {    headers: {      Authorization: `Bearer ${accessToken}`,      APIKEY: apiKey    }  });const data = await res.json();// data.items[0].documentId → pass to POST /processes/v1 for reuse
```

### Ответы​

200 OK
```
{  "items": [    {      "documentType": "unico.moja.dictionary.br.cnh.v2.Cnh",      "documentId": "doc-abc-123"    }  ]}
```

ПолеТипОписание`items`arrayСписок документов, доступных для повторного использования. Пустой массив, если для указанных `code` и `type` документ не найден.`items[].documentType`stringИдентификатор типа документа. Возможные значения: `unico.moja.dictionary.br.rg.v2.Rg`, `unico.moja.dictionary.br.cnh.v2.Cnh`, `unico.moja.dictionary.br.cin.v1.Cin`, `unico.moja.dictionary.br.passaporte.v1.Passaporte`.`items[].documentId`stringИдентификатор документа. Передайте это значение в `document.documentId` при вызове `POST /processes/v1`, чтобы повторно использовать документ.
### Использование documentId для повторного использования​

Получив `documentId`, передайте его в запросе на создание процесса Document, чтобы пропустить захват:
```
{  "subject": {    "code": "12345678909",    "name": "Luke Skywalker"  },  "document": {    "purpose": "onboarding",    "authProcessId": "<biometric-process-id>",    "documentId": "doc-abc-123"  }}
```

ПолеОписание`document.purpose`Бизнес-цель данного процесса документа. Допустимые значения: `creditprocess`, `carpurchase`, `paybypaycheck`, `onboarding`, `fgts`. Эти значения специфичны для Document API и отличаются от перечисления `purpose` биометрического SDK.`document.authProcessId`ID биометрического процесса, ранее созданного для этого пользователя (из `POST /processes/v1`).`document.documentId`ID документа, полученный из ответа этого эндпоинта. При указании этого параметра `document.files` можно опустить — платформа автоматически извлечёт ранее захваченный документ.
Полную схему запроса процесса Document см. в разделе [Создание процесса Document](/ru/dual-api/developers/api-reference/api/post-processes-document).
### Коды ошибок​

400 Bad Request403 Forbidden404 Not Found429 Too Many Requests500 Internal Server ErrorКодСообщениеОписание`20507`O parâmetro subject.code é inválido.Некорректное или несуществующее значение идентификатора (CPF или CURP).`20002`O parâmetro APIKey não foi informado.Отсутствует заголовок APIKEY.`20001`O parâmetro authtoken não foi informado.Отсутствует заголовок токена аутентификации.Bearer-токен или `APIKEY` отсутствует, истёк или недействителен.КодСообщениеОписание`30020`The provided authorization token does not have permission to perform this action.Токен не имеет разрешения на доступ к селфи документа.`30017`User does not have permission to perform this action.Некорректный JWT или пользователь без разрешения на выполнение этой операции.`10502`O token informado está expirado.Истёкший токен доступа.`10501`O token informado é inválido.Недействительный токен аутентификации.`10201`O AppKey informado é inválido.Отсутствующий или несуществующий APIKEY.КодСообщениеОписание`99987`Attachment not found.Вложение, связанное с документом, не найдено.`50001`The process is not found.Документ для указанных параметров не найден.Достигнут лимит запросов. Когда ваша система получает ошибку HTTP 429, необходимо реализовать механизмы для предотвращения каскадных сбоев и избежания усугубления ограничения.
**Лучшие практики:**

**Период ожидания (backoff):** Немедленно остановите или снизьте частоту последующих запросов из вашей системы. Не повторяйте неудачные запросы непрерывно в тесном цикле.
**Очередь и ограничение (Queueing & throttling):** Буферизируйте или ставьте в очередь исходящие запросы на вашей стороне для контроля потока трафика перед их повторной отправкой.
**Экспоненциальный backoff с джиттером:** При повторных попытках увеличивайте время ожидания экспоненциально между попытками (например, 1 с, 2 с, 4 с, 8 с) и добавляйте небольшую случайную задержку ("джиттер"), чтобы предотвратить эффект стада, когда все запросы из очереди повторяются в одну и ту же миллисекунду.

предупреждениеНепрерывная отправка запросов к эндпоинту с ограничением частоты без применения backoff может **продлить период ограничения** и серьез но снизить операционную пропускную способность вашей системы. Правильное ограничение запросов на вашей стороне обеспечивает более плавную и устойчивую интеграцию.
Информацию о лимитах по умолчанию, увеличении запросов и дополнительные сведения см. в разделе [Лимиты запросов](/ru/dual-api/developers/api-reference/rate-limits).КодСообщениеОписание`99999`Internal failure! Try again later.Ошибка обработки на стороне сервера.Последнее обновление 8 окт. 2026 г.**