Получение существующего процесса по его идентификатору. Согласно API-контракту, результат уже возвращается синхронно при создании процесса — используйте этот эндпоинт для повторных запросов, аудита и поддержки.
Перед получением процесса ознакомьтесь с настройкой вебхуков и стратегиями резервного варианта — нажмите здесь.
Эндпоинт
| Окружение | URL |
|---|---|
| Production | GET https://api.id.unico.app/processes/v1/{processId} |
| Sandbox | GET https://api.id.uat.unico.app/processes/v1/{processId} |
Запрос
| Заголовок | Значение |
|---|---|
Authorization | Bearer <access_token> |
APIKEY | Предоставленный API-ключ. |
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
processId | string (UUID) | да | Идентификатор процесса, возвращённый при создании процесса. |
Пример
- cURL
- Node.js
curl -X GET https://api.id.unico.app/processes/v1/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.id.unico.app/processes/v1/${processId}`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
APIKEY: apiKey
}
}
);
const result = await res.json();
Ответы
Контракт единый — поле idCloud.result содержит консолидированный вердикт используемых возможностей.
Unico консолидирует результаты выполненных возможностей в единое поле idCloud.result, готовое для принятия решения о следующем шаге вашего флоу — без необходимости оркестрировать отдельные результаты.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
| Поле | Тип | Описание |
|---|---|---|
id | string (UUID) | Идентификатор процесса. |
status | integer | 1 (обработка), 2 (расхождение), 3 (завершён успешно), 4 (отменён), 5 (ошибка). |
| idCloud.result | Значение | Рекомендуемое действие |
|---|---|---|
| approved | Реальный человек и подтверждённая личность. | Продолжить флоу. |
| denied | Личность не подтверждена, проверка живости не пройдена или выявлен экстремальный риск. | Завершить флоу или перенаправить на альтернативный флоу. |
| critical-risk | Выявлен критический уровень риска. | Завершить флоу или направить на ручную проверку. |
| high-risk | Выявлен высокий уровень риска. | Направить на ручную проверку или альтернативный флоу. |
| retry | Недостаточно данных захвата или скора для оценки. | Запросить у пользователя новый захват. |
| inconclusive | Недостаточно доказательств для вынесения вердикта. | Направить на ручную проверку или альтернативный флоу. |
Возвращаемые значения зависят от рецепта, настроенного в вашем APIKey. См. Потоки — значения результата, которые может вернуть каждый рецепт.
Клиенты в Бразилии могут получать ответ по возможностямОбщая структура ответа остаётся прежней — единый результат используется по умолчанию.

Общая структура ответа остаётся прежней — единый результат используется по умолчанию.
Интеграции в Бразилии могут получать открытые результаты по каждой возможности отдельно. Каждая возможность, включённая в APIKey, добавляет свой блок в ответ — поля для отключённых возможностей отсутствуют.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": {
"result": "yes"
},
"riskLevel": {
"result": "inconclusive"
},
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"identityFraudsters": {
"result": "inconclusive"
},
"government": {
"serpro": 87
},
"liveness": 1,
"idAge": {
"result": "yes"
},
"cardholderVerification": {
"result": "approved"
}
}
| Поле | Тип | Описание |
|---|---|---|
unicoId.result | string | yes, no, inconclusive — см. Проверку личности. |
riskLevel.result | string | not_approved, critical_risk, high_risk, inconclusive — см. Классификацию рисков мошенничества. |
idFace.result | string | FOUND — см. Идентификатор лица. |
idFace.personId | string | Стабильный непрозрачный идентификатор лица, возвращается вместе с idFace.result = FOUND. Если лицо не удаётся идентифицировать на изображении, процесс возвращает ошибку 20532 вместо блока idFace. |
identityFraudsters.result | string | Устарело. Используйте вместо него riskLevel. Клиенты с текущими интеграциями могут продолжать использовать это поле, согласовывая миграцию с командой проекта. |
government.serpro | integer | Оценка сходства Serpro (0–100, -1, -2). Доступно только в Бразилии. См. Результат проверки сходства Serpro. |
liveness | integer | 1 (пройдено), 2 (не пройдено) — см. Проверку живости. |
idAge.result | string | yes, no, inconclusive — см. Проверку возраста. Доступно только в Бразилии. |
score | integer | Вероятностная оценка риска. Присутствует, когда unicoId.result = inconclusive и оркестрация риск-скора активна. Положительные значения указывают на более высокую вероятность того, что это держатель; отрицательные значения указывают на более высокий риск. Доступно только в Бразилии. |
cardholderVerification.result | string | approved, unsure — см. Cardholder Verification. Отсутствует, пока status не станет равным 3 (завершён). Доступно только в Бразилии. |
Клиенты в Мексике могут получать блок RENAPO VerificationСтруктура ответа остаётся прежней, добавляется блок idGov.

Структура ответа остаётся прежней, добавляется блок idGov.
Интеграции в Мексике с включённой RENAPO Verification получают дополнительный блок idGov с записью, которую RENAPO хранит по CURP пользователя. Это отдельный ответ, не связанный с результ атом проверки личности.
{
"id": "11111111-2222-3333-4444-555555555555",
"status": 3,
"idCloud": { "result": "approved" },
"idGov": {
"government_valid": true,
"curp": "PUEA880304MDFRJN04",
"government_name": "ANA PRUEBA EJEMPLO",
"date_of_birth": "1988-03-04",
"age": 38,
"gender": "F",
"deceased": false,
"is_mexican": true,
"citizenship": "MEXICO",
"state_of_birth": "Ciudad de México",
"state_iso": "MX-CMX",
"issuing_entity_code": "DF",
"municipality_registration": ""
}
}
| Поле | Тип | Описание |
|---|---|---|
idGov | object | Запись RENAPO по CURP. Отсутствует, если возможность не включена. {}, если RENAPO не ответил. Только Мексика. См. RENAPO Verification. |
Когда использовать этот эндпоинт
API-контракт возвращает результаты синхронно, поэтому большинству интеграций этот эндпоинт не нужен. Используйте его, когда:
- Вы сохранили только
processIdи позже хотите получить полный результат (аудит, поддержка). - Вы подозреваете, что исходный ответ был утерян при передаче (сетевая ошибка после того, как платформа завершила обработку).
- Вы создаёте бэк-офисный инструмент для просмотра исторических процессов.
Коды ошибок
- 400 Bad Request
- 404 Not Found
- 403 Forbidden
- 410 Gone
- 429 Too Many Requests
- 500 Internal Server Error
| Код | Сообщение | Описание |
|---|---|---|
20023 | O parâmetro processId não foi informado. | Параметр process id отсутствует. |
20002 | O parâmetro APIKey não foi informado. | Параметр APIKEY отсутствует в заголовке запроса. |
20001 | O parâmetro authtoken não foi informado. | Параметр токена интеграции отсутствует в заголовке запроса. |
| Код | Сообщение | Описание |
|---|---|---|
50001 | O processo informado não foi encontrado. | Процесс не существует в базе данных. |
| Код | Сообщение | Описание |
|---|---|---|
30017 | User does not have permission to perform this action. | Некорректный JWT или пользователь без разрешения на выполнение этой операции. |
10502 | O token informado está expirado. | Использованный access-token истёк. |
10501 | O token informado é inválido. | Токен аутентификации недействителен. |
10201 | O AppKey informado é inválido. | Параметр APIKEY не был указан или не существует. |
Процесс существует, но завершился с ошибкой. Возвращает только id и status: 5.
Достигнут лимит запросов. Когда ваша система получает ошибку HTTP 429, необходимо реализовать механизмы для предотвращения каскадных сбоев и избежания усугубления ограничения.
Лучшие практики:
- Период ожидания (backoff): Немедленно остановите или снизьте частоту последующих запросов из вашей системы. Не повторяйте неудачные запросы непрерывно в тесном цикле.
- Очередь и ограничение (Queueing & throttling): Буферизируйте или ставьте в очередь исходящие запросы на вашей стороне для контроля потока трафика перед их повторной отправкой.
- Экспоненциальный backoff с джиттером: При повторных попытках увеличивайте время ожидания экспоненциально между попытками (например, 1 с, 2 с, 4 с, 8 с) и добавляйте небольшую случайную задержку ("джиттер"), чтобы предотвратить эффект стада, когда все запросы из очереди повторяются в одну и ту же миллисекунду.
Непрерывная отправка запросов к эндпоинту с ограничением частоты без применения backoff может продлить период ограничения и серьезно снизить операционную пропускную способность вашей системы. Правильное ограничение запросов на вашей стороне обеспечивает более плавную и устойчивую интеграцию.
Информацию о лимитах по умолчанию, увеличении запросов и дополнительные сведения см. в разделе Лимиты запросов.
| Код | Сообщение | Описание |
|---|---|---|
99999 | Internal failure! Try again later | Внутренняя ошибка. |
Потоки
Рецепт — это комбинация возможностей (проверка живости, проверка личности, сигналы риска, документы...), настроенных в APIKey вашего проекта. Он определяет, что именно Unico выполняет в каждом процессе и как результаты консолидируются в единое поле result — вам не нужно ничего оркестровать на своей стороне.
Unico поддерживает каталог предустановленных рецептов, именованных и версионированных (например, byunico-idlive-idunico-oneresponse-std). Некоторые доступны только в Бразилии — например, включающие Риск-скор, Serpro или проверку возраста.
Комбинация возможностей — флоу вашего проекта — определяется в конфигурации вашего APIKey. Ознакомьтесь с предустановленными рецептами или обратитесь к контактному лицу вашего проекта в Unico, чтобы настроить его под себя.