Получение существующего процесса по его идентификатору. Согласно API-контракту, результат уже возвращается синхронно при создании процесса — используйте этот эндпоинт для повторных запросов, аудита и поддержки.
Перед получением процесса ознакомьтесь с настройкой вебхуков и стратегиями резервного варианта — нажмите здесь.
Эндпоинт
| Окружение | URL |
|---|---|
| Production | GET https://api.idcloud.unico.app/client/v1/process/{processId} |
| Sandbox | GET https://api.idcloud.uat.unico.app/client/v1/process/{processId} |
Запрос
| Заголовок | Значение |
|---|---|
Authorization | Bearer <access_token> |
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
processId | string (UUID) | да | Идентификатор процесса, возвращённый при создании процесса. |
Пример
- cURL
- Node.js
curl -X GET https://api.idcloud.unico.app/client/v1/process/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.idcloud.unico.app/client/v1/process/${processId}`,
{ headers: { Authorization: `Bearer ${accessToken}` } }
);
const { process: proc } = await res.json();
Ответы
{
"process": {
"id": "226fd950-4b80-4da6-a476-ba9d397ddc91",
"flow": "id_r2",
"callbackUri": "/",
"userRedirectUrl": "https://cadastro.uat.unico.app/flow?collect-data=true&dynamic-wrapper=true&id=226fd950-4b80-4da6-a476-ba9d397ddc91",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_APPROVED",
"createdAt": "2026-08-06T01:42:21.693615Z",
"finishedAt": "2026-08-06T01:43:03.080508Z",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "40*******50",
"friendlyName": "teste",
"email": "",
"phone": "5511999999999",
"notifications": [
{ "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP" }
],
"phoneCountryCodeAlpha3": ""
},
"purpose": "personAuthentication",
"services": [],
"authenticationInfo": { "authenticationId": "55cba227-9828-49df-a16f-bcdaa7bdaa4d" },
"capacities": ["PROCESS_CAPACITY_IDCLOUDONE"],
"expiresAt": "2026-08-13T01:42:21.536500Z",
"token": "",
"companyData": { "branchId": "", "countryCode": "BRA" },
"simulated": false
}
}
| Поле | Описание |
|---|---|
id | UUID процесса; ключ для запроса и отслеживания потока. |
flow | Тип выполняемого прохождения (например, id_r2, idlivetrust_r2, idtrust_r2 и т. д.). |
callbackUri | URI обратного вызова, на который перенаправляется клиентское приложение в конце потока. |
userRedirectUrl | Полный URL страницы CbU, которую открывает пользователь для прохождения (содержит id и флаги поведения). |
state | Состояние жизненного цикла процесса. Значения PROCESS_STATE_* (например, CREATED, FAILED, FINISHED, AWAITING_FOR_DOCUMENT, UNSPECIFIED). |
result | Итоговый вердикт оценки. Значения PROCESS_RESULT_* (например, APPROVED, AUTHENTICATED, NOT_APPROVED и т. д.). Является окончательным только когда state = PROCESS_STATE_FINISHED. |
createdAt | Временная метка создания процесса (UTC). |
finishedAt | Временная метка завершения процесса (UTC). |
person | Вложенный объект с данными проверяемого лица. |
purpose | Назначение процесса (например, personAuthentication, регистрация лица). |
services | Список дополнительных сервисов, привязанных к процессу; пусто, если их нет. |
authenticationInfo.authenticationId | ID события аутентификации личности, созданного потоком. |
capacities | Использованные возможности/продукты. Значения PROCESS_CAPACITY_* (например, IDCLOUDONE). |
expiresAt | Временная метка истечения срока действия процесса/ссылки (UTC). |
token | Токен сессии/доступа, связанный с процессом (может быть пустым). |
companyData | Вложенный объект с данными компании/тенанта, владеющего процессом. |
simulated | Логическое значение; является ли процесс симуляцией/sandbox (true) или реальным (false). |
| Поле | Описание |
|---|---|
duiType | Тип уникального документа, удостоверяющего личность. Значения DUI_TYPE_* (например, BR_CPF). |
duiValue | Значение документа (например, номер CPF). |
friendlyName | Понятное имя/псевдоним для лица (свободный текст, без валидации). |
email | Email лица; может быть пустым. |
phone | Номер телефона в формате E.164 (код страны + код региона + номер). |
notifications | Список каналов уведомлений. Каждый элемент содержит notificationChannel со значениями NOTIFICATION_CHANNEL_* (например, WHATSAPP, SMS, EMAIL). |
phoneCountryCodeAlpha3 | Код страны ISO alpha-3 для номера телефона (например, BRA); может быть пустым. |
| Поле | Описание |
|---|---|
branchId | Идентификатор филиала тенанта; пусто, если сегментация по филиалам не используется. |
countryCode | Страна компании в формате ISO alpha-3 (например, BRA). |
process.services[].documents[].doc.code возвращает тип документа в виде короткого кода в верхнем регистре. unico.moja.dictionary.br.cnh.v2.Cnh превращается в CNH.
Код не содержит ни страны, ни версии схемы; версия возвращается отдельно в doc.version.
Типы документов, использующие единую схему — unified_schema в справочнике полей, — возвращаются как определённый при захвате тип в верхнем регистре: IDCARD, DRIVERLICENSE, PASSPORT или VOTERID.
Паспорта США сохраняют свой вариант вместо объединения в PASSPORT, поэтому также возвращаются значения POLYCARBONATEPASSPORT, PASSPORTCARD и PAPERPASSPORT.
Например, unico.moja.dictionary.ar.generic.v1.IdCard и unico.moja.dictionary.us.generic.v1.PolycarbonatePassport возвращаются как IDCARD и POLYCARBONATEPASSPORT.
Типы документов, использующие собственную схему полей — перечисленные в разделе specific_document_schemas в справочнике полей, — приведены в таблице ниже. Используйте тип словаря, чтобы найти каждую схему в этом файле.
| Страна | doc.code | Тип словаря | Документ |
|---|---|---|---|
| BR | RG | unico.moja.dictionary.br.rg.v2.Rg | RG |
| BR | CNH | unico.moja.dictionary.br.cnh.v2.Cnh | CNH (водительское удостоверение) |
| BR | CIN | unico.moja.dictionary.br.cin.v1.Cin | CIN |
| BR | PASSAPORTE | unico.moja.dictionary.br.passaporte.v1.Passaporte | Паспорт |
| MX | INE | unico.moja.dictionary.mx.ine.v1.Ine | Избирательное удостоверение INE |
| MX | LPC | unico.moja.dictionary.mx.lpc.v1.Lpc | Licencia para conducir (водительское удостоверение) |
| MX | PASAPORTE | unico.moja.dictionary.mx.pasaporte.v1.Pasaporte | Паспорт |
| — | UNKNOWN | unico.moja.dictionary.other.unknown.v1.Unknown | Тип не удалось определить — doc.data пусто |
PASSAPORTE и PASAPORTE — разные документыБразильский паспорт — это PASSAPORTE (с двумя S), а мексиканский — PASAPORTE (с одной S); каждое значение повторяет написание из своего словаря. Это не опечатка — не считайте эти два значения эквивалентными.
Извлечение данных OCR не выполняется, и ни одно поле не возвращается в doc.data, когда doc.code имеет значение UNKNOWN.
Клиенты в Бразилии могут получать полный объект процессаОбщая структура ответа остаётся прежней — единый результат используется по умол чанию.

Общая структура ответа остаётся прежней — единый результат используется по умол чанию.
Интеграции в Бразилии могут получать приведённый ниже полный объект процесса с результатами по каждой возможности в authenticationInfo.
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"flow": "idchecktrust",
"callbackUri": "https://example.com/callback",
"userRedirectUrl": "https://example.com/redirect",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"createdAt": "2024-01-01T10:00:00Z",
"finishedAt": "2024-01-01T10:15:00Z",
"expiresAt": "2024-01-08T10:00:00Z",
"purpose": "VERIFICATION",
"clientReference": "client-ref-abc",
"useCase": "smart_revalidation",
"capacities": ["liveness", "face_match"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"notifications": [
{
"notificationChannel": "email"
}
]
},
"authenticationInfo": {
"authenticationId": "auth-123",
"livenessResult": "LIVENESS_RESULT_LIVE",
"authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
"identityFraudstersResult": "TRUST_RESULT_INCONCLUSIVE",
"bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",
"smartRevalidationResult": "SMART_REVALIDATION_RESULT_UNSPECIFIED",
"idAgeResult": "ID_AGE_RESULT_UNSPECIFIED",
"scoreEngineResult": {
"scoreEnabled": "SCORE_ENABLED_TRUE",
"score": 85.5
}
},
"companyData": {
"branchId": "branch-123",
"countryCode": "BR"
},
"bioTokenData": {
"referenceProcessId": "ref-proc-123",
"authenticationId": "auth-ref-123"
},
"services": [
{
"envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",
"documentIds": ["doc-abc-123"],
"consent_granted": true,
"documents": [
{
"doc_id": "doc-abc-123",
"typified": true,
"cpf_match": true,
"face_match": true,
"validate_doc": true,
"reused_doc": false,
"signed_url": "https://example.com/doc?token=xyz",
"doc": {
"version": 1,
"code": "CNH",
"data": {
"numero": "044589731564",
"cpfNumero": "12345678909",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "1990-05-12T00:00:00Z",
"dataExpiracao": "2027-12-07T00:00:00Z",
"categoria": "B"
}
}
}
]
}
]
}
}
| Поле | Тип | Описание |
|---|---|---|
process.id | string (UUID) | Идентификатор процесса. |
process.flow | string | Идентификатор потока, отправленный при создании. |
process.callbackUri | string | URL обратного вызова, настроенный для событий процесса. |
process.userRedirectUrl | string | URL для перенаправления пользователя после завершения прохождения. |
process.state | enum | Текущее состояние процесса. Значения см. ниже. |
process.result | enum | Результат верификации. Присутствует только когда state = PROCESS_STATE_FINISHED. |
process.createdAt | string (datetime) | Временная метка ISO 8601 создания процесса. |
process.finishedAt | string (datetime) | Временная метка ISO 8601 завершения процесса. Присутствует только когда state = PROCESS_STATE_FINISHED. |
process.expiresAt | string (datetime) | Временная метка ISO 8601 истечения срока действия процесса. |
process.purpose | string | Назначение процесса, настроенное в потоке. |
process.clientReference | string | О пциональная клиентская ссылка для индексации в портале. |
process.useCase | string | Идентификатор сценария, связанного с потоком. |
process.capacities | array of strings | Список возможностей, активированных в данном процессе. |
process.token | string | Подписанный JWT для интеграции SDK. |
process.person | object | Идентификационные данные, предоставленные при создании. |
process.person.notifications | array | Каналы уведомлений, настроенные для прохождения (например, email). |
process.authenticationInfo | object | Результаты по каждой возможности. См. ниже. |
process.companyData | object | Контекст компании и филиала. |
process.companyData.branchId | string | Идентификатор филиала. |
process.companyData.countryCode | string | Код страны ISO 3166-1 alpha-2. |
process.bioTokenData | object | Информация о референсном процессе — присутствует только в потоках Валидации 1:1 и Умной ревалидации. |
process.services | array | Подписанные конверты, захваченные документы и другие результаты сервисов. См. ниже. |
| Значение | Описание |
|---|---|
PROCESS_STATE_CREATED | Процесс создан; пользователь ещё не завершил прохождение. |
AWAITING_FOR_DOCUMENT | Процесс создан без документа, удостоверяющего личность; ожидание его установки через установку документа процесса. Присутствует только когда Custom Flow допускает опциональный документ. |
PROCESS_STATE_FINISHED | Прохождение завершено. Проверьте result и authenticationInfo. |
PROCESS_STATE_FAILED | Ошибка обработки. |
AWAITING_FOR_DOCUMENT не соответствует соглашению о префиксе PROCESS_STATE_*, используемому для остальных состояний. Это известное несоответствие в именовании в текущей версии API.
| Значение | Описание |
|---|---|
PROCESS_RESULT_OK | Все возможности в ернули положительные результаты. |
PROCESS_RESULT_INVALID_IDENTITY | Хотя бы одна возможность вернула однозначно отрицательный результат (например, проверка живости не пройдена, личность не совпала). |
PROCESS_RESULT_ERROR | Ошибка при обработке результата. |
PROCESS_RESULT_EXPIRED | Процесс истёк до завершения прохождения. |
PROCESS_RESULT_UNSPECIFIED | Процесс ещё не завершён. |
Все поля всегда возвращаются независимо от потока. Поля для возможностей, не используемых в потоке, возвращают *_UNSPECIFIED.
Сокращённые значения (например, livenessResult = LIVE, authenticationResult = INCONCLUSIVE) напрямую соответствуют полным значениям перечислений, документированным здесь (LIVENESS_RESULT_LIVE, AUTHENTICATION_RESULT_INCONCLUSIVE и т. д.) — префикс опущен для краткости.
| Поле | Возможность | Возможные значения |
|---|---|---|
authenticationId | — | Уникальный идентификатор данной попытки аутентификации. |
livenessResult | Проверка живости | LIVENESS_RESULT_LIVE, LIVENESS_RESULT_NOT_LIVE, LIVENESS_RESULT_UNSPECIFIED |
authenticationResult | Проверка личности | AUTHENTICATION_RESULT_POSITIVE, AUTHENTICATION_RESULT_NEGATIVE, AUTHENTICATION_RESULT_INCONCLUSIVE, AUTHENTICATION_RESULT_UNSPECIFIED |
identityFraudstersResult | Классификация рисков мошенничества | TRUST_RESULT_YES, TRUST_RESULT_INCONCLUSIVE, TRUST_RESULT_UNSPECIFIED |
bioTokenEngineResult | Валидация 1:1 | BIO_TOKEN_ENGINE_RESULT_POSITIVE, BIO_TOKEN_ENGINE_RESULT_NEGATIVE, BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED |
smartRevalidationResult | Умная ревалидация | SMART_REVALIDATION_RESULT_POSITIVE, SMART_REVALIDATION_RESULT_NEGATIVE, SMART_REVALIDATION_RESULT_UNSPECIFIED |
idAgeResult | Проверка возраста | ID_AGE_RESULT_POSITIVE, ID_AGE_RESULT_NEGATIVE, ID_AGE_RESULT_INCONCLUSIVE, ID_AGE_RESULT_UNSPECIFIED |
scoreEngineResult.scoreEnabled | Риск-скор | SCORE_ENABLED_TRUE, SCORE_ENABLED_FALSE, SCORE_ENABLED_UNSPECIFIED |
scoreEngineResult.score | Риск-скор | Число от -100 до +100. Присутствует, когда authenticationResult = AUTHENTICATION_RESULT_INCONCLUSIVE и Риск-скор включён. |
serproResult.score | Результат проверки сходства Serpro | 0–100 (сходство); -1 (нет фото для данного CPF); -2 (ошибка интеграции). |
servicesМассив services использует camelCase для полей уровня конверта (envelopeId, documentIds) и snake_case для полей уровня документа (doc_id, consent_granted, face_match и т. д.). Это отражает реальный ответ API — обе конвенции намеренны и не являются ошибкой документации.
| Поле | Тип | Описание |
|---|---|---|
envelopeId | string (UUID) | Идентифик атор подписанного конверта. |
documentIds | array of strings | ID захваченных документов в данном сервисе. |
consent_granted | boolean | Дал ли пользователь согласие на обмен данными. |
documents | array | Захваченные документы с данными OCR и результатами валидации. |
documents[].doc_id | string | Идентификатор документа. |
documents[].typified | boolean | Был ли тип документа успешно определён. |
documents[].cpf_match | boolean | Совпадает ли CPF на документе с предоставленным CPF (только Бразилия). |
documents[].face_match | boolean | Совпадает ли селфи с фотографией на документе. |
documents[].validate_doc | boolean | Прошёл ли документ проверку подлинности. |
documents[].reused_doc | boolean | Был ли этот документ повторно использован из предыдущего процесса. |
documents[].signed_url | string | Заранее подписанный URL для скачивания PDF документа (действителен 5 минут — запросите заново для обновления). |
documents[].doc.version | integer | Версия схемы OCR. |
documents[].doc.code | string | Краткий код типа документа (например, CNH). Все значения и способ формирования кода см. в разделе Типы документов и поля OCR. |
documents[].doc.data | object | Извлечённые поля OCR. Содержимое зависит от типа документа — полный каталог см. в полном справочнике полей. Названия полей внутри doc.data (например, nomeCivil, dataNascimento) возвращаются на португальском языке — это фактические значения, генерируемые движком OCR. |
Коды ошибок
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- 429 Too Many Requests
- 500 Internal Server Error
| Код | Сообщение | Описание |
|---|---|---|
3 | process id is invalid | Когда ID процесса недействителен. |
| Код | Сообщение | Описание |
|---|---|---|
| — | Jwt header is an invalid JSON | Когда используемый access-token содержит некорректные символы. |
| — | Jwt is expired | Когда используемый access-token истёк. |
| Код | Сообщение | Описание |
|---|---|---|
5 | error getting process: rpc error: code = NotFound desc = process not found | Когда ID процесса не найден. |
Rate limit reached. When your system receives an HTTP 429 error, you must implement mechanisms to prevent cascading failures and avoid worsening the restriction.
Best practices:
- Cool-down period (backoff): Immediately halt or throttle subsequent requests from your system. Do not continuously retry failed requests in a tight loop.
- Queueing & throttling: Buffer or queue outgoing requests on your end to control the traffic flow before re-sending them.
- Exponential backoff with jitter: When retrying, increase the waiting time exponentially between attempts (e.g., 1 s, 2 s, 4 s, 8 s) and add a small random delay ("jitter") to prevent a herd effect where all queued requests retry at the exact same millisecond.
Continuously hitting a rate-limited endpoint without backing off can prolong the restriction period and severely impact your system's operational throughput. Properly throttling requests on your side ensures a smoother, more resilient integration.
For default limits, increase requests and additional details, see Rate Limits.
| Код | Сообщение | Описание |
|---|---|---|
99999 | Internal failure! Try again later | Внутренняя ошибка. |
Опрос против вебхука
Вы можете опрашивать этот эндпоинт для проверки прогресса, но рекомендуемый подход — подписаться на вебхук и использовать этот эндпоинт только как запасной вариант. См. Вебхуки и события.
Что дальше
- Для получения захваченного селфи см. Получение селфи.
- Для пакета доказательств для аудита см. Получение набора доказательств.