Перейти к содержанию

ОКБ

Интеграция с ОКБ используется для идентификации физического лица по персональным данным.

Сервис позволяет выполнить несколько стратегий проверки для одного субъекта в рамках одного запроса и получить агрегированный результат.

Стратегии:

  • 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 от полученной строки:

sha256({x-api-key}{json <тело запроса>}{secret_key})

Ответ запроса

{
  "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 от полученной строки:

sha256({x-api-key}{json <тело запроса>}{secret_key})

Ответ запроса

{
  "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 - номер не найден.