ОКБ
Интеграция с ОКБ используется для идентификации физического лица по персональным данным.
Сервис позволяет выполнить несколько стратегий проверки для одного субъекта в рамках одного запроса и получить агрегированный результат.
Стратегии:
person_identify_v2
— идентификация по персональным данным субъекта, проверка соответствия телефона, ФИО и карты.
Список поддерживаемых стратегий может расширяться.
Во всех запросах необходимо передавать заголовки запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
X-Api-Key |
string | Да | Уникальный идентификатор магазина |
X-Signature |
string | Да | Подпись запроса |
При формировании подписи используется secret_key
- секретный ключ, который находится в настройках магазина мерчанта.
Идентификация по транзакции
Метод: POST
- Production:
https://api.pay.kvell.group/v1/person/scoring/okb/transaction
- Stage:
https://api.pay.stage.kvell.group/v1/person/scoring/okb/transaction
Параметры тела запроса
Название |
Тип данных | Обязательно | Описание |
---|---|---|---|
okb_api_key |
string | Да | Персональный токен доступа, выдается после регистрации в ОКБ |
strategy_code |
string | Да | Стратегия для расчета |
person |
json | Да | Объект ФЛ |
∟first_name |
string | Да | Имя ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟last_name |
string | Да | Фамилия ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟second_name |
string | Да | Отчество ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟phone |
string | Да | Мобильный телефон ФЛ в формате 7dddddddddd |
∟birth_date |
string | Да | Дата рождения ФЛ в формате YYYY-MM-DD |
consent |
json | Да | Объект, содержащий набор параметров о согласии на запрос Сервиса |
∟received_at |
string | Да | Дата получения согласия на выполнение запроса в формате YYYY-MM-DD |
∟responsibility_flag |
bool | Да | Признак осведомленности об ответственности за нарушение правил сбора согласия: true – клиент осведомлен, false – не осведомлен |
∟was_received |
bool | Да | Признак получения согласия на запрос Сервиса: true – согласие дано, false – согласие не дано |
extra_data |
json | Да | Дополнительные параметры стратегий |
∟transaction |
string | Да | Номер успешной транзакции на стороне мерчанта |
∟client_id |
bool | int | Идентификатор клиента (финансовой организации), получаемый в ОКБ |
Пример запроса
{
"okb_api_key": "okb_api_key",
"strategy_code": "person_identify_v2",
"person": {
"first_name": "АРТЁМ",
"last_name": "АРТЁМОВ",
"second_name": "АРТЁМОВИЧ",
"phone": "79996660101",
"birth_date": "1975-02-01"
},
"consent": {
"received_at": "2025-09-22",
"responsibility_flag": true,
"was_received": true
},
"extra_data": {
"transaction": "99ad8b11-48b8-41ea-85b7-29136d714fb1",
"client_id": 9000
}
}
Формирование подписи
Подпись X-Signature
формируется конкатенацией X-Api-Key
, json <тело запроса>
и secret_key
.
Формируется sha256 от полученной строки:
Ответ запроса
{
"status": true,
"data": {
"person_identify_v2": {
"params": {
"result": {
"hit": "1.0",
"result": "1.0"
}
},
"is_hit": true
}
},
"message": "OK",
"request_id": "72e1b179-7e1e-441c-bb85-9a7343e8fb19"
}
Название |
Тип | Описание |
---|---|---|
data |
json | Полезная нагрузка: результирующая информация о расчете стратегий |
∟person_identify_v2 |
json | Стратегия |
∟is_hit |
string | Признак наличия субъекта: true - хит (субъект найден), false - не хит (субъект не найден) |
∟params |
string | Параметры результата расчета модели |
∟result |
json | Объект |
∟hit |
string | Хит |
∟result |
string | Результат проверки по модели |
message |
string | Короткое сообщение о статусе запроса |
request_id |
string | Уникальный идентификатор запроса |
status |
bool | Статус ответа |
Возможные варианты ответа:
- result = 1 + hit = 1 - карта соответствует номеру телефона;
- result = 0 + hit = 1 - номер найден, карта не соответствует;
- result = 0 + hit = 0 - номер не найден.
Идентификация по номеру карты
Метод: POST
- Production:
https://api.pay.kvell.group/v1/person/scoring/okb/card
- Stage:
https://api.pay.stage.kvell.group/v1/person/scoring/okb/card
Параметры тела запроса
Название |
Тип данных | Обязательно | Описание |
---|---|---|---|
okb_api_key |
string | Да | Персональный токен доступа, выдается после регистрации в ОКБ |
strategy_code |
string | Да | Стратегия для расчета |
person |
json | Да | Объект ФЛ |
∟first_name |
string | Да | Имя ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟last_name |
string | Да | Фамилия ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟second_name |
string | Да | Отчество ФЛ в верхнем регистре. Допустимы символы: русские буквы, дефис, пробел, точка |
∟phone |
string | Да | Мобильный телефон ФЛ в формате 7dddddddddd |
∟birth_date |
string | Да | Дата рождения ФЛ в формате YYYY-MM-DD |
consent |
json | Да | Объект, содержащий набор параметров о согласии на запрос Сервиса |
∟received_at |
string | Да | Дата получения согласия на выполнение запроса в формате YYYY-MM-DD |
∟responsibility_flag |
bool | Да | Признак осведомленности об ответственности за нарушение правил сбора согласия: true – клиент осведомлен, false – не осведомлен |
∟was_received |
bool | Да | Признак получения согласия на запрос Сервиса: true – согласие дано, false – согласие не дано |
extra_data |
json | Да | Дополнительные параметры стратегий |
∟card_pan |
string | Да | Номер карты |
∟client_id |
bool | int | Идентификатор клиента (финансовой организации), получаемый в ОКБ |
Пример запроса
{
"okb_api_key": "okb_api_key",
"strategy_code": "person_identify_v2",
"person": {
"first_name": "АРТЁМ",
"last_name": "АРТЁМОВ",
"second_name": "АРТЁМОВИЧ",
"phone": "79996660101",
"birth_date": "1975-02-01"
},
"consent": {
"received_at": "2025-09-22",
"responsibility_flag": true,
"was_received": true
},
"extra_data": {
"card_pan": "4111111111111111",
"client_id": 9000
}
}
Формирование подписи
Подпись X-Signature
формируется конкатенацией X-Api-Key
, json <тело запроса>
и secret_key
.
Формируется sha256 от полученной строки:
Ответ запроса
{
"status": true,
"data": {
"person_identify_v2": {
"params": {
"result": {
"hit": "1.0",
"result": "1.0"
}
},
"is_hit": true
}
},
"message": "OK",
"request_id": "72e1b179-7e1e-441c-bb85-9a7343e8fb19"
}
Название |
Тип | Описание |
---|---|---|
data |
json | Полезная нагрузка: результирующая информация о расчете стратегий |
∟person_identify_v2 |
json | Стратегия |
∟is_hit |
string | Признак наличия субъекта: true - хит (субъект найден), false - не хит (субъект не найден) |
∟params |
string | Параметры результата расчета модели |
∟result |
json | Объект |
∟hit |
string | Хит |
∟result |
string | Результат проверки по модели |
message |
string | Короткое сообщение о статусе запроса |
request_id |
string | Уникальный идентификатор запроса |
status |
bool | Статус ответа |
Возможные варианты ответа:
- result = 1 + hit = 1 - карта соответствует номеру телефона;
- result = 0 + hit = 1 - номер найден, карта не соответствует;
- result = 0 + hit = 0 - номер не найден.