API партнёра для кредитов и кредитных карт в Директе: loan_approval, поля ответа, коды ответов
Банк-партнёр отвечает на запрос предложений по номеру телефона методом loan_approval: возвращает решение (has_approve или rejected) и предложения с суммой, сроком, ставкой, ПСК, платежом и ссылкой на анкету. Путь для кредитных карт — POST /api/banking/loan_approval, для кредитов — POST /integrations/v1/api/loan_approval. Тип продукта: loan, credit_card или realty_bail_credit. Описаны коды ответов 200, 400, 403, 404, 500.
Цифры
Подключение
| Параметр | Значение |
|---|---|
| Письмо в поддержку | finance-search@yandex-team.ru, заголовок «Интеграция API в кредитных картах» или «Интеграция API в кредитах» и название организации |
| Дальше | менеджер связывается по указанным контактам |
| Что реализовать | публичный API-эндпоинт, к которому Яндекс отправляет запросы; в ответ отдаются офферы |
| Проверка | пройти проверку работоспособности интеграции |
| Базовый адрес | https://host/integrations |
| Кредитные карты | HTTP/REST-метод партнёра или готовый интеграционный API банка с реализацией на стороне Яндекса |
| Кредиты | HTTP/REST-метод партнёра |
Методы
| Продукты | Запрос | Назначение |
|---|---|---|
| Кредитные карты | POST /api/banking/loan_approval | актуальные предложения банков-партнёров по номеру телефона; предпочтительный унифицированный канал, подходит и для кредитов, и для карт |
| Кредиты | POST /integrations/v1/api/loan_approval | актуальные предложения банков-партнёров по номеру телефона; предпочтительный унифицированный канал |
Тело запроса
| Поле | Кредитная карта | Кредит |
|---|---|---|
| phone_number | номер телефона | номер телефона |
| product_type | credit_card | loan |
| amount | в справке не нашли | сумма, пример 500000.00 |
| term | в справке не нашли | срок, пример 36 |
| search_id | ID запроса | ID запроса |
Ответ 200: верхний уровень
| Поле | Тип | Обязательно | Значение |
|---|---|---|---|
| search_id | string | да | ID запроса |
| status | string | да | pending — обрабатывается; done — завершено |
| name | string | да | наименование организации |
| decision | string | да | has_approve — есть одобрение; rejected — отклонено |
| data | array | нет | массив решений; при одном предложении один элемент |
Ответ 200: элемент data
| Поле | Тип | Обязательно | Значение |
|---|---|---|---|
| product_type | string | да | loan — кредит наличными; credit_card — кредитная карта; realty_bail_credit — кредит под залог недвижимости (только API кредитов) |
| decision | string | да | pre_approved — предодобрено; full_approved — полностью одобрено |
| amount.min, amount.max | number | да | сумма займа; для credit_card — кредитный лимит |
| term.min, term.max | number | да, если product_type = loan | срок в месяцах |
| rate.min, rate.max | number | да | ставка |
| total_cost.min, total_cost.max | number | да | полная стоимость кредита (ПСК) |
| grace_period | number | да, если product_type = credit_card | льготный период в днях |
| payment.min, payment.max | number | да, если product_type = loan | ежемесячный платёж |
| payment.cc_rate | number | да, если product_type = credit_card | минимальный платёж по карте в процентах, например 10 — это 10% от суммы долга |
| special_conditions | array | нет | массив строк с дополнительными условиями |
| required_documents | array | нет | обязательные документы, массив строк |
| choosable_documents | array | нет | документы на выбор, массив строк |
| propousal_link | object | да | должна быть хотя бы одна ссылка на анкету |
| propousal_link.link | string | нет | ссылка на сайт |
| propousal_link.deep | string | нет | ссылка на приложение |
| bail_conditions | string | нет | условия залога; только при product_type = realty_bail_credit (API кредитов) |
| props | array | нет | служебные параметры, оговорённые вне страницы |
Коды ответов
| Код | Поля ответа | Обязательно |
|---|---|---|
| 200 OK | поля из таблиц выше | см. таблицы |
| 400 Bad Request | search_id, message; properties — массив полей с ошибкой | search_id, message да; properties нет |
| 403 Access Forbidden | search_id, message | да, да |
| 404 Not Found | search_id, message | да, да |
| 500 Internal Server Error | search_id, message | да, да |
| Асинхронная модель | search_id — параметр для повторных запросов | да |
Подробности
Что делает метод
Метод принимает номер телефона клиента, тип продукта и ID запроса (search_id) и отдаёт Яндексу решение банка и список предложений. Справка называет его предпочтительным унифицированным каналом: через него можно получать и кредиты, и кредитные карты. Предложения затем показываются пользователю в тематическом разделе, а оформление идёт по ссылке из propousal_link.
Примеры из справки
- Для кредитной карты пример положительного решения — запрос с phone_number, product_type = credit_card и search_id.
- Для кредита пример положительного решения о выдаче 500 000 рублей — запрос с phone_number, amount 500000.00, term 36, product_type = loan и search_id.
- Примеры ответов в тексте страниц не приведены.
Чем различаются документы по картам и кредитам
- Пути запросов разные (см. таблицу методов).
- В документации кредитов добавлено значение realty_bail_credit и поле bail_conditions для кредитов под залог недвижимости.
- Для карт отдельно сказано, что вместо HTTP/REST-метода можно предоставить готовый интеграционный API банка.
Важно знать
- Путь метода в документации карт (/api/banking/loan_approval) и кредитов (/integrations/v1/api/loan_approval) разный, а в обеих сказано, что API реализуется по адресу вида https://host/integrations. Какой путь использовать банку, у которого есть и карты, и кредиты, справка не поясняет.
- Описание метода для карт говорит, что он подходит для одобрения и кредитов, и карт, но значение realty_bail_credit и bail_conditions есть только в документации кредитов.
- Имена полей приведены как в справке, включая propousal_link.
- Примеры ответов, допустимые диапазоны и формат значений полей, кроме указанных, в справке не нашли. Не нашли и срок, за который партнёр должен ответить.
- Страницы API займов и ОСАГО описаны в статьях про займы и страхование.