Контекстные сигналы
Прежде чем начать
Контекстные сигналы анализируют завершённые кредитные транзакции и возвращают оценку риска — самостоятельное мошенничество или социальная инженерия — для дополнения вашего собственного решения по борьбе с мошенничеством.
Они дополняют Верификацию без предъявления карты: они не изменяют контракт или поведение эндпоинтов транзакций, которые вы уже используете. Вы по-прежнему получаете финальное состояние транзакции (approved, inconclusive и так далее) как обычно, а затем запрашиваете контекстные сигналы.
Ваши запросы к API аутентифицируются с помощью токена доступа. Любой запрос без действительного токена доступа вернёт ошибку. Подробнее в разделе Аутентификация.
Доступ к этому эндпоинту контролируется разрешением (ролью), назначенным вашей компании. Без него эндпоинт возвращает 403. Запросите включение доступа у команды Unico.
- UAT:
https://transactions.transactional.uat.unico.app/api/public/v1 - Продакшн:
https://transactions.transactional.unico.app/api/public/v1
Получение контекстных сигналов
GET /transactions/{transaction_id}/signals — возвращает оценку риска завершённой тра нзакции.
Результат вычисляется асинхронно заранее, как только транзакция достигает финального состояния, поэтому этот эндпоинт лишь получает уже доступный результат.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
transaction_id | string | да | Идентификатор транзакции (UUID v4). Например, 6ab1771e-dfab-4e47-8316-2452268e5481. |
| Заголовок | Значение |
|---|---|
Authorization | Bearer {token} — действительный токен доступа. |
Accept | application/json |
GET /api/public/v1/transactions/6ab1771e-dfab-4e47-8316-2452268e5481/signals HTTP/1.1
Host: transactions.transactional.uat.unico.app
Authorization: Bearer {token}
Accept: application/json
{
"signals": {
"auto_fraud_risk": "high",
"more_info": {
"limited_data": false,
"holder_identified": true
}
}
}
| Поле | Тип | Наличие | Описание |
|---|---|---|---|
signals.auto_fraud_risk | string (enum) | опционально | Уровень риска самостоятельного мошенничества. Присутствует только при обнаружении. |
signals.social_eng_risk | string (enum) | опционально | Уровень риска социальной инженерии. Присутствует только при обнаружении. |
signals.more_info.limited_data | boolean | всегда | true, если данных не достаточно для надёжной оценки. |
signals.more_info.holder_identified | boolean | всегда | false, если держателя карты не удалось идентифицировать. |
Возможные значения риска: very_low, low, medium, high, very_high.
auto_fraud_risk и social_eng_risk являются взаимоисключающими — они никогда не появляются вместе в одном ответе. Когда limited_data равно true, оба поля риска должны отсутствовать, поскольку данных недостаточно для оценки.
Обнаружен риск социальной инженерии:
{
"signals": {
"social_eng_risk": "very_high",
"more_info": {
"limited_data": false,
"holder_identified": true
}
}
}
Риск не выявлен — обычная транзакция:
{
"signals": {
"more_info": {
"limited_data": false,
"holder_identified": true
}
}
}
Недостаточно данных:
{
"signals": {
"more_info": {
"limited_data": true,
"holder_identified": true
}
}
}
Держатель карты не идентифицирован:
{
"signals": {
"more_info": {
"limited_data": false,
"holder_identified": false
}
}
}
Ошибки возвращаются в стандартном формате ошибок, описанном в разделе Ошибки.
| HTTP-код | Код | Ситуация | Что делать |
|---|---|---|---|
| 202 | — | Результат ещё не вычислен — асинхронная обработка всё ещё выполняется. | Повторяйте запрос (polling), пока не получите 200. |
| 400 | 40004 | transaction_id недействителен (не UUID v4) или параметр некорректен. | Исправьте формат идентификатора перед повторной отправкой запроса. |
| 403 | 40305 | У компании не включено разрешение (роль) для этого эндпоинта. | Запросите включение доступа у команды Unico. |
| 404 | 40401 | Транзакция не найдена. | Проверьте идентификатор транзакции. |
| 404 | 40484 | Транзакция не найдена для оценки. | Считайте, что результата не будет, и прекратите запросы. |
| 409 | 40983 | Транзакция ещё не достигла финального состояния. | Дождитесь финального состояния перед повторным запросом. |
| 500 | — | Внутренняя ошибка сервиса. | Повторите запрос с задержкой (backoff). Если проблема сохраняется, обратитесь в поддержку Unico. |
Правила и рекомендации
- Запрашивайте эндпоинт только после того, как транзакция достигнет финального состояния. Более ранний запрос вернёт
409. - Оценке подлежат только кредитные транзакции. Транзакции, зафиксированные в тихом режиме (silent mode), не оцениваются.
- При получении
202повторяйте запрос, пока не получите200. Отправьте первый запрос через 1 секунду после ответа транзакции, затем увеличивайте интервал: 2с, 4с, 8с, 16с — до 5 попыток. - Целевой уровень обслуживания — 10 секунд после ответа транзакции.
- Считайте
404признаком того, что результата не будет, и прекратите запросы. auto_fraud_riskиsocial_eng_riskявляются взаимоисключающими.