-[Банк по БИК, SWIFT, ИНН или регистрационному номеру](#bank-by-BIC-SWIFT-INN-or-registration number)
-API подсказок по банкам
DaDataBank::id(string $bank); Находит банк по любому из идентификаторов: БИК, SWIFT, ИНН, ИНН + КПП (для филиалов), рег. номеру, присвоенному Банком России. Возвращает реквизиты банка, корр. счёт, адрес и статус (действующий / на ликвидации).
Ищет кредитные организации по:
Ищет только по точному совпадению, для частичного совпадения используйте метод DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost)
Пример вызова
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataBank;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData prompt bank by string
*
* @return void
*/
public function promptExample() : void
{
$dadata = DaDataBank::id('044525225');
dd($dadata);
}
}
Параметры вызова
| Название | Тип | Optional | Default value | Описание |
|---|---|---|---|---|
bank |
string |
false |
Текст запроса |
Пример ответа
array:1 [
"suggestions" => array:1 [
0 => array:3 [
"value" => "ПАО Сбербанк"
"unrestricted_value" => "ПАО Сбербанк"
"data" => array:14 [
"opf" => array:3 [
"type" => "BANK"
"full" => null
"short" => null
]
"name" => array:3 [
"payment" => "ПАО СБЕРБАНК"
"full" => null
"short" => "ПАО Сбербанк"
]
"bic" => "044525225"
"swift" => "SABRRUMM"
"inn" => "7707083893"
"kpp" => "773601001"
"okpo" => null
"correspondent_account" => "30101810400000000225"
"registration_number" => "1481"
"payment_city" => "г Москва"
"state" => array:4 [
"status" => "ACTIVE"
"actuality_date" => 1602547200000
"registration_date" => 677376000000
"liquidation_date" => null
]
"rkc" => null
"address" => array:3 [
"value" => "г Москва, ул Вавилова, д 19"
"unrestricted_value" => "117312, г Москва, Академический р-н, ул Вавилова, д 19"
"data" => array:81 [
"postal_code" => "117312"
"country" => "Россия"
"country_iso_code" => "RU"
"federal_district" => "Центральный"
"region_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
"region_kladr_id" => "7700000000000"
"region_iso_code" => "RU-MOW"
"region_with_type" => "г Москва"
"region_type" => "г"
"region_type_full" => "город"
"region" => "Москва"
"area_fias_id" => null
"area_kladr_id" => null
"area_with_type" => null
"area_type" => null
"area_type_full" => null
"area" => null
"city_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
"city_kladr_id" => "7700000000000"
"city_with_type" => "г Москва"
"city_type" => "г"
"city_type_full" => "город"
"city" => "Москва"
"city_area" => "Юго-западный"
"city_district_fias_id" => null
"city_district_kladr_id" => null
"city_district_with_type" => "Академический р-н"
"city_district_type" => "р-н"
"city_district_type_full" => "район"
"city_district" => "Академический"
"settlement_fias_id" => null
"settlement_kladr_id" => null
"settlement_with_type" => null
"settlement_type" => null
"settlement_type_full" => null
"settlement" => null
"street_fias_id" => "25f8f29b-b110-40ab-a48e-9c72f5fb4331"
"street_kladr_id" => "77000000000092400"
"street_with_type" => "ул Вавилова"
"street_type" => "ул"
"street_type_full" => "улица"
"street" => "Вавилова"
"house_fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
"house_kladr_id" => "7700000000009240170"
"house_type" => "д"
"house_type_full" => "дом"
"house" => "19"
"block_type" => null
"block_type_full" => null
"block" => null
"flat_type" => null
"flat_type_full" => null
"flat" => null
"flat_area" => null
"square_meter_price" => null
"flat_price" => null
"postal_box" => null
"fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
"fias_code" => "77000000000000009240170"
"fias_level" => "8"
"fias_actuality_state" => "0"
"kladr_id" => "7700000000009240170"
"geoname_id" => "524901"
"capital_marker" => "0"
"okato" => "45293554000"
"oktmo" => "45397000"
"tax_office" => "7736"
"tax_office_legal" => "7736"
"timezone" => "UTC+3"
"geo_lat" => "55.7001865"
"geo_lon" => "37.5802234"
"beltway_hit" => "IN_MKAD"
"beltway_distance" => null
"metro" => array:3 [
0 => array:3 [
"name" => "Ленинский проспект"
"line" => "Калужско-Рижская"
"distance" => 0.8
]
1 => array:3 [
"name" => "Площадь Гагарина"
"line" => "МЦК"
"distance" => 0.8
]
2 => array:3 [
"name" => "Академическая"
"line" => "Калужско-Рижская"
"distance" => 1.5
]
]
"qc_geo" => "0"
"qc_complete" => "5"
"qc_house" => "2"
"history_values" => null
"unparsed_parts" => null
"source" => "117997, г Москва, ул Вавилова, 19"
"qc" => "0"
]
]
"phones" => null
]
]
]
]
Описание ответа
Таблицу описания полного ответа вы можете получить на старнице Банк по БИК, SWIFT, ИНН или регистрационному номеру в разделе "Что в ответе".
Exceptions
При вызове методов, вы можете обрабатывать коды исключений и их сообщения
| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ |
403 |
Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс |
405 |
Запрос сделан с методом, отличным от POST |
429 |
Слишком много запросов в секунду или новых соединений в минуту |
5xx |
Произошла внутренняя ошибка сервиса |
Более детальную информацию вы можете получить из сообщения исключения.
Пример получения сообщения исключения
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataBank;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData prompt bank by string
*
* @return void
*/
public function promptExample() : void
{
try {
$dadata = DaDataBank::id('044525225');
dd($dadata);
} catch (\Exception $e) {
dd($e->getMessage());
}
}
}
DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost) Помогает человеку быстро ввести реквизиты банка на веб-форме или в приложении.
Ищет кредитные организации по:
Основные кейсы:
Пример вызова
<?php
namespace App;
use MoveMoveIo\DaData\Enums\BankStatus;
use MoveMoveIo\DaData\Enums\BankType;
use MoveMoveIo\DaData\Facades\DaDataBank;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData prompt bank by string
*
* @return void
*/
public function promptExample() : void
{
$dadata = DaDataBank::prompt('сбербанк', 1, [BankStatus::ACTIVE], [BankType::BANK]);
dd($dadata);
}
}
Параметры вызова
| Название | Тип | Optional | Default value | Описание |
|---|---|---|---|---|
bank |
string |
false |
Текст запроса | |
count |
int |
true |
10 | Количество результатов. Максимум 20 |
status |
array |
true |
null | Ограничение по статусу банка |
type |
array |
true |
1 | Ограничение по типу банка |
locations |
string |
true |
null | Ограничение по региону или городу. Двухзначные коды необходимо передавать строкой через , запятую. Список кодов |
locations_boost |
string |
true |
null | Приоритет города при ранжировании. |
Формирование status - ограничение по статусу организации
Чтобы искать только действующие банки, сформироуйте массив status как
...
use MoveMoveIo\DaData\Enums\BankStatus;
...
$status = [
BankStatus::ACTIVE
];
Поиск только среди ликвидируемых и ликвидированных банков:
...
use MoveMoveIo\DaData\Enums\BankStatus;
...
$status = [
BankStatus::LIQUIDATING,
BankStatus::LIQUIDATED,
];
Формирование type - Ограничение по типу банка.
Доступные типы организаций в классе MoveMoveIo\DaData\Enums\BankType
| Тип | Тип организации |
|---|---|
BankType::BANK |
Банк |
BankType::BANK_BRANCH |
Филиал банка |
BankType::NKO |
Небанковская кредитная организация |
BankType::NKO_BRANCH |
Филиал небанковской кредитной организации |
BankType::OTHER |
Другое |
BankType::RKC |
РКЦ / ГРКЦ |
Тип поиска только по банкам и филиалам банков
...
use MoveMoveIo\DaData\Enums\BankType;
...
$type = [BankType::BANK, BankType::BANK_BRANCH]
Тип поиска только по РКЦ/ГРКЦ
...
use MoveMoveIo\DaData\Enums\BankType;
...
$type = [BankType::BANK, BankType::RKC]
Пример ответа
array:1 [
"suggestions" => array:1 [
0 => array:3 [
"value" => "ПАО Сбербанк"
"unrestricted_value" => "ПАО Сбербанк"
"data" => array:14 [
"opf" => array:3 [
"type" => "BANK"
"full" => null
"short" => null
]
"name" => array:3 [
"payment" => "ПАО СБЕРБАНК"
"full" => null
"short" => "ПАО Сбербанк"
]
"bic" => "044525225"
"swift" => "SABRRUMM"
"inn" => "7707083893"
"kpp" => "773601001"
"okpo" => null
"correspondent_account" => "30101810400000000225"
"registration_number" => "1481"
"payment_city" => "г Москва"
"state" => array:4 [
"status" => "ACTIVE"
"actuality_date" => 1602547200000
"registration_date" => 677376000000
"liquidation_date" => null
]
"rkc" => null
"address" => array:3 [
"value" => "г Москва, ул Вавилова, д 19"
"unrestricted_value" => "117312, г Москва, Академический р-н, ул Вавилова, д 19"
"data" => array:81 [
"postal_code" => "117312"
"country" => "Россия"
"country_iso_code" => "RU"
"federal_district" => "Центральный"
"region_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
"region_kladr_id" => "7700000000000"
"region_iso_code" => "RU-MOW"
"region_with_type" => "г Москва"
"region_type" => "г"
"region_type_full" => "город"
"region" => "Москва"
"area_fias_id" => null
"area_kladr_id" => null
"area_with_type" => null
"area_type" => null
"area_type_full" => null
"area" => null
"city_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
"city_kladr_id" => "7700000000000"
"city_with_type" => "г Москва"
"city_type" => "г"
"city_type_full" => "город"
"city" => "Москва"
"city_area" => "Юго-западный"
"city_district_fias_id" => null
"city_district_kladr_id" => null
"city_district_with_type" => "Академический р-н"
"city_district_type" => "р-н"
"city_district_type_full" => "район"
"city_district" => "Академический"
"settlement_fias_id" => null
"settlement_kladr_id" => null
"settlement_with_type" => null
"settlement_type" => null
"settlement_type_full" => null
"settlement" => null
"street_fias_id" => "25f8f29b-b110-40ab-a48e-9c72f5fb4331"
"street_kladr_id" => "77000000000092400"
"street_with_type" => "ул Вавилова"
"street_type" => "ул"
"street_type_full" => "улица"
"street" => "Вавилова"
"house_fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
"house_kladr_id" => "7700000000009240170"
"house_type" => "д"
"house_type_full" => "дом"
"house" => "19"
"block_type" => null
"block_type_full" => null
"block" => null
"flat_type" => null
"flat_type_full" => null
"flat" => null
"flat_area" => null
"square_meter_price" => null
"flat_price" => null
"postal_box" => null
"fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
"fias_code" => "77000000000000009240170"
"fias_level" => "8"
"fias_actuality_state" => "0"
"kladr_id" => "7700000000009240170"
"geoname_id" => "524901"
"capital_marker" => "0"
"okato" => "45293554000"
"oktmo" => "45397000"
"tax_office" => "7736"
"tax_office_legal" => "7736"
"timezone" => "UTC+3"
"geo_lat" => "55.7001865"
"geo_lon" => "37.5802234"
"beltway_hit" => "IN_MKAD"
"beltway_distance" => null
"metro" => array:3 [
0 => array:3 [
"name" => "Ленинский проспект"
"line" => "Калужско-Рижская"
"distance" => 0.8
]
1 => array:3 [
"name" => "Площадь Гагарина"
"line" => "МЦК"
"distance" => 0.8
]
2 => array:3 [
"name" => "Академическая"
"line" => "Калужско-Рижская"
"distance" => 1.5
]
]
"qc_geo" => "0"
"qc_complete" => "5"
"qc_house" => "2"
"history_values" => null
"unparsed_parts" => null
"source" => "117997, г Москва, ул Вавилова, 19"
"qc" => "0"
]
]
"phones" => null
]
]
]
]
Описание ответа
Таблицу описания полного ответа вы можете получить на старнице API подсказок по банкамм в разделе "Что в ответе".
Exceptions
При вызове методов, вы можете обрабатывать коды исключений и их сообщения
| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ |
403 |
Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс |
405 |
Запрос сделан с методом, отличным от POST |
429 |
Слишком много запросов в секунду или новых соединений в минуту |
5xx |
Произошла внутренняя ошибка сервиса |
Более детальную информацию вы можете получить из сообщения исключения.
Пример получения сообщения исключения
<?php
namespace App;
use MoveMoveIo\DaData\Enums\BankStatus;
use MoveMoveIo\DaData\Enums\BankType;
use MoveMoveIo\DaData\Facades\DaDataBank;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData prompt bank by string
*
* @return void
*/
public function promptExample() : void
{
try {
$dadata = DaDataBank::prompt('сбербанк', 1, [BankStatus::ACTIVE], BankType::BANK);
dd($dadata);
} catch (\Exception $e) {
dd($e->getMessage());
}
}
}