Получение процесса
Перед получением процесса ознакомьтесь с настройкой вебхуков и стратегиями резервного варианта — нажмите здесь.
В контракте API ответ POST /processes/v1 уже является итоговым результатом. Этот endpoint предназначен для повторных запросов — например, когда нужно просмотреть ранее сохранённый процесс или провести аудит предыдущей транзакции.
В API-контракте ответ POST /processes/v1 уже является финальным результатом. Этот эндпоинт существует для повторных запросов -- например, когда вам нужно проверить процесс, который вы сохранили ранее, или провести аудит предыдущей транзакции.
Эндпоинт
| Окружение | 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();
Ответы
{
"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
}
В приведённом выше примере показаны все возможные пол я возможностей. В реальном ответе будут только поля для возможностей, включённых в конфигурации вашего APIKey — поля для отключённых возможностей полностью отсутствуют. Свяжитесь с вашим менеджером проекта Unico для включения или изменения возможностей.
| Поле | Тип | Описание |
|---|---|---|
id | string (UUID) | Идентификатор процесса. |
status | integer | 1 (обработка), 2 (расхождение), 3 (завершён успешно), 4 (отменён), 5 (ошибка). |
unicoId.result | string | yes, no, inconclusive -- см. Проверка личности. |
riskLevel.result | string | not_approved, critical_risk, high_risk, inconclusive -- см. Классификация рисков мошенничества. |
idFace.result | string | FOUND, NOT_FOUND -- см. Идентификатор лица. |
idFace.personId | string | Стабильный непрозрачный идентификатор лица. Присутствует только при idFace.result = FOUND. |
identityFraudsters.result | string | Устарело. Используйте вместо него riskLevel. Клиенты с текущими интеграциями могут продолжать использовать это поле, согласовывая миграцию с командой проекта. |
government.serpro | integer | Оценка сходства Serpro (0--100, -1, -2). Доступно только в Бразилии. См. Результат проверки сходства Serpro. |
liveness | integer | 1 (пройдено), 2 (не пройдено) -- см. Проверка живости. |
score | integer | Вероятностная оценка риска. Присутствует, когда unicoId.result = inconclusive и оркестрация Риск-скора активна. Положительные значения указывают на более высокую вероятность того, что это держатель; отрицательные значения указывают на более высокий риск. Доступно только в Бразилии. |
Параметр пути processId отсутствует или имеет неверный формат. См. Коды ошибок ниже.
Bearer-токен или APIKEY отсутствует, истёк или недействителен.
processId не существует или не принадлежит аутентифицированному тенанту.
Процесс существует, но завершился с ошибкой. Возвращает только id и status: 5.
Достигнут лимит запросов. Когда ваша система получает ошибку HTTP 429, необходимо реализовать механизмы для предотвращения каскадных сбоев и ухудшения ограничения.
Лучшие практики:
- Период ожидания (backoff): Немедленно остановите или ограничьте последующие запросы из вашей системы. Не повторяйте неудачные запросы непрерывно в плотном цикле.
- Очередь и ограничение: Буферизуйте или ставьте в очередь исходящие запросы на вашей стороне для управления потоком трафика перед повторной отправкой.
- Экспоненциальный backoff с jitter: При повторных попытках увеличивайте время ожидания экспоненциально между попытками (например, 1 с, 2 с, 4 с, 8 с) и добавляйте небольшую случайную задержку ("jitter"), чтобы предотвратить эффект стада, когда все поставленные в очередь запросы повторяются в один и тот же момент.
Непрерывные запросы к эндпоинту с ограничением без отступления могут продлить период ограничения и серьёзно повлиять на операционную пропускную способность вашей системы. Правильное ограничение запросов на вашей стороне обеспечивает более плавную и устойчивую интеграцию.
Для получения информации о лимитах по умолчанию, увеличении запросов и дополнительных деталях см. Лимиты запросов.
Непредвиденная ошибка сервера.
Когда использовать этот эндпоинт
API-контракт возвращает результаты синхронно, поэтому большинству интеграц ий этот эндпоинт не нужен. Используйте его, когда:
- Вы сохранили только
processIdи позже хотите получить полный результат (аудит, поддержка). - Вы подозреваете, что оригинальный ответ был утерян при передаче (сетевая ошибка после того, как платформа завершила обработку).
- Вы создаёте бэк-офисный инструмент для просмотра исторических процессов.
Коды ошибок
- 400 Bad Request
- 404 Not Found
- 403 Forbidden
- 410 Gone
- 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.
| Код | Сообщение | Описание |
|---|---|---|
99999 | Internal failure! Try again later | Внутренняя ошибка. |