teleport-kirov / laravel-dadata
Laravel DaData.RU
该软件包的官方仓库似乎已消失,因此该软件包已被冻结。
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.2
Requires (Dev)
- phpunit/phpunit: ^9.4.0
This package is auto-updated.
Last update: 2023-01-19 14:31:59 UTC
README
您可以通过 composer 安装此软件包
composer require teleport-kirov/laravel-dadata
如果您使用的是低于 5.5 版本的 Laravel,则请手动注册 DaDataServiceProvider
,在 config/app.php
的 providers
数组中添加
'providers' => [ // ... Teleport\DaData\DaDataServiceProvider::class, ],
发布配置文件。执行 artisan
命令
php artisan vendor:publish --provider="Teleport\DaData\DaDataServiceProvider"
项目配置通过您的项目 .env
文件进行。您需要指定三个参数
DADATA_TOKEN
- 与 DaData API 通信的 tokenDADATA_SECRET
- 与 DaData API 通信的 secretDADATA_TIMEOUT
- DaData API 服务器的最大响应等待时间(秒)。默认值为 10 秒。
.env
示例
DADATA_TOKEN="c32c33ebaf450067d64516fbe041d2a8a6d4211f" DADATA_SECRET="adccd63ac28701442e26b7eef57eb5eb0a72143e" DADATA_TIMEOUT=10
地址处理
地址标准化
DaDataAddress::standardization(string $address)
- 根据KLADR/FIAS将地址拆分为单独字段(地区、城市、街道、房屋、公寓)。确定邮政编码、时区、最近的地铁站、坐标、公寓成本和其他地址信息。
主要案例
- 将地址拆分为单独字段(地区、城市、街道、房屋、公寓)。
- 根据俄罗斯邮政数据计算正确的索引。
- 确定坐标。
- 显示城市区域和区域、最近的地铁站、面积和公寓成本。
- 获取KLADR、FIAS、ОКАТО、ОКТМО和ИФНС代码。
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData standardization example * * @return void */ public function standardizationExample() : void { $dadata = DaDataAddress::standardization('мск сухонска 11/-89'); dd($dadata); } }
响应示例
array:1 [ 0 => array:80 [ "source" => "мск сухонска 11/-89" "result" => "г Москва, ул Сухонская, д 11, кв 89" "postal_code" => "127642" "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" => null "city_kladr_id" => null "city_with_type" => null "city_type" => null "city_type_full" => null "city" => null "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" => "95dbf7fb-0dd4-4a04-8100-4f6c847564b5" "street_kladr_id" => "77000000000283600" "street_with_type" => "ул Сухонская" "street_type" => "ул" "street_type_full" => "улица" "street" => "Сухонская" "house_fias_id" => "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255" "house_kladr_id" => "7700000000028360004" "house_type" => "д" "house_type_full" => "дом" "house" => "11" "block_type" => null "block_type_full" => null "block" => null "flat_type" => "кв" "flat_type_full" => "квартира" "flat" => "89" "flat_area" => "34.6" "square_meter_price" => "198113" "flat_price" => "6854710" "postal_box" => null "fias_id" => "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255" "fias_code" => "77000000000000028360004" "fias_level" => "8" "fias_actuality_state" => "0" "kladr_id" => "7700000000028360004" "capital_marker" => "0" "okato" => "45280583000" "oktmo" => "45362000" "tax_office" => "7715" "tax_office_legal" => "7715" "timezone" => "UTC+3" "geo_lat" => "55.8782557" "geo_lon" => "37.65372" "beltway_hit" => "IN_MKAD" "beltway_distance" => null "qc_geo" => 0 "qc_complete" => 0 "qc_house" => 2 "qc" => 0 "unparsed_parts" => null "metro" => array:3 [ 0 => array:3 [ "distance" => 1.1 "line" => "Калужско-Рижская" "name" => "Бабушкинская" ] 1 => array:3 [ "distance" => 1.2 "line" => "Калужско-Рижская" "name" => "Медведково" ] 2 => array:3 [ "distance" => 2.5 "line" => "Калужско-Рижская" "name" => "Свиблово" ] ] ] ]
响应描述
名称 | 长度 | 描述 |
---|---|---|
source |
250 | 单行原始地址 |
result |
500 | 单行标准化地址 |
postal_code |
6 | 索引 |
country |
120 | 国家 |
country_iso_code |
2 | ISO-国家代码 |
federal_district |
20 | 联邦区 |
region_fias_id |
36 | 区域FIAS代码 |
region_kladr_id |
19 | 区域KLADR代码 |
region_iso_code |
6 | 区域ISO代码 |
region_with_type |
131 | 带有类型的区域 |
region_type |
10 | 区域类型(简写) |
region_type_full |
50 | 区域类型 |
region |
120 | 区域 |
area_fias_id |
36 | 区域FIAS代码 |
area_kladr_id |
19 | 区域KLADR代码 |
area_with_type |
131 | 区域在区域类型中的表示 |
area_type |
10 | 区域类型在区域中的简写 |
area_type_full |
50 | 区域类型 |
area |
120 | 区域在区域中 |
city_fias_id |
36 | 城市FIAS代码 |
城市KLADR代码 |
19 | 城市KLADR代码 |
city_with_type |
131 | 带有类型的城市 |
city_type |
10 | 城市类型(简写) |
city_type_full |
50 | 城市类型 |
city |
120 | 城市 |
city_area |
120 | 行政区域(仅限莫斯科) |
city_district_fias_id |
36 | 城市区域FIAS代码(如果区域在FIAS中存在则填充) |
city_district_kladr_id |
19 | 城市区域KLADR代码(不填充) |
city_district_with_type |
131 | 带有类型的城市区域 |
city_district_type |
10 | 城市区域类型(简写) |
city_district_type_full |
50 | 城市区域类型 |
city_district |
120 | 城市区域 |
settlement_fias_id |
36 | 居民点ФИАС代码 |
settlement_kladr_id |
19 | 居民点КЛАДР代码 |
settlement_with_type |
131 | 带有类型的居民点 |
settlement_type |
10 | 居民点类型(简写) |
settlement_type_full |
50 | 居民点类型 |
settlement |
120 | 居民点 |
street_fias_id |
36 | 街道ФИАС代码 |
street_kladr_id |
19 | 街道КЛАДР代码 |
street_with_type |
131 | 带有类型的街道 |
street_type |
10 | 街道类型(简写) |
street_type_full |
50 | 街道类型 |
street |
120 | 街道 |
house_fias_id |
36 | 房屋ФИАС代码 |
house_kladr_id |
19 | 房屋КЛАДР代码 |
house_type |
10 | 房屋类型(简写) |
house_type_full |
50 | 房屋类型 |
house |
50 | 房屋 |
block_type |
10 | 建筑物/结构类型(简写) |
block_type_full |
50 | 建筑物/结构类型 |
block |
50 | 建筑物/结构 |
flat_type |
10 | 公寓类型(简写) |
flat_type_full |
50 | 公寓类型 |
flat |
50 | 公寓 |
flat_area |
50 | 公寓面积 |
square_meter_price |
50 | 每平方米市场价格 |
flat_price |
50 | 公寓市场价格 |
postal_box |
50 | 用户信箱 |
fias_id |
36 | 地址ФИАС代码(ФИАС标识符) |
HOUSE.HOUSEGUID — 如果房屋在ФИАС中找到 |
||
ADDROBJ.AOGUID — 否则 |
||
fias_code |
在ФИАС中的地址层级代码(SS+RR+GG+PP+SSSS+UUUU+DDDD) | |
fias_level |
2 | 在ФИАС中找到地址的详细程度级别 |
fias_actuality_state |
ФИАС中地址的准确性标志 | |
kladr_id |
19 | 地址КЛАДР代码 |
capital_marker |
1 | 区域或地区的中心标志 |
okato |
11 | ОКАТО代码 |
oktmo |
11 | ОКТМО代码 |
tax_office |
4 | 针对个人的ИФНС代码 |
tax_office_legal |
4 | 针对组织的ИФНС代码 |
timezone |
50 | 城市的时间带(对于俄罗斯,外国地址的国家时间带。如果国家有多个时区,则返回最小和最大时区通过斜杠分隔:UTC+5/UTC+6) |
geo_lat |
12 | 坐标:纬度 |
geo_lon |
12 | 坐标:经度 |
beltway_hit |
8 | 是否在环路内? |
beltway_distance |
3 | 从环路到距离(公里)。仅当beltway_hit = OUT_MKAD或OUT_KAD时填写,否则为空 |
qc_geo |
5 | 坐标精度代码 |
qc_complete |
5 | 邮件发送适用性代码 |
qc_house |
5 | 在ФИАС中存在房屋的标志 |
qc |
5 | 地址检查代码 |
unparsed_parts |
250 | 地址中未识别的部分。对于地址“莫斯科,米丁斯基街,40,入口在侧面”将返回“入口,侧,侧面” |
metro |
最近地铁站列表(最多三个) |
在莫斯科97%的房屋有坐标,在圣彼得堡91%,在其他大城市中69%,在俄罗斯其他地区47%。70%的俄罗斯公寓有面积和价格。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData standardization example * * @return void */ public function standardizationExample() : void { try { $dadata = DaDataAddress::standardization('мск сухонска 11/-89'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
关于地址的提示
DaDataAddress::prompt(string $query, int $count, int $language, array $locations, array $locations_geo, array $locations_boost, array $from_bound, array $to_bound)
通过地址的任何部分查找地址,从地区到房屋(“特维尔下12”→“下诺夫哥罗德州,下诺夫哥罗德市,特维尔街,12号”)。也可以通过邮政编码查找(“105568”→“莫斯科市,马格尼托戈尔斯卡亚街”)。
主要案例
- 支持全球所有国家(俄罗斯境内可送货上门,其他国家可送货至城市)。搜索并显示结果,支持俄语(“萨马拉,冶金工人大街”)和英语(“Russia, gorod Samara, prospekt Metallurgov”)。
- 根据历史名称(斯维尔德洛夫斯克 → 叶卡捷琳堡)和同义词(彼得 → 圣彼得堡)查找最新地址。
- 支持部分匹配搜索(“莫斯科湿地” → “г Москва, Болотная наб”)但仅限于查询的最后一个单词(“莫斯科湿地”将找不到)。
- 纠正错误(“萨马拉航空”)和错误的键盘布局查询(“vjcrdf” → “莫斯科”)- 分解选定的地址为粒度部分(从区域到住宅)。- 支持地址各部分的粒度提示(地区、城市、街道、住宅)。- 提供特定地区、区域、城市和居民点的地址提示。理解名称(“彼得戈夫”)、KLADR代码(“7800000800000”)和FIAS(“8f238984-812b-4bb1-850b-49749fb5c56d”)- 考虑您所在的位置(与IP地址城市方法相结合)。
请注意,如果以下情况,则不建议使用此方法
- 希望自动处理数据库或文件中的地址,无需人工干预。
- 将字符串转写,例如
moskva suhonskaja 11 → 127642
到г Москва, ул Сухонская, д 11
。
提示不适用于自动处理地址。它们提供选项,但不保证正确。因此,最终决策应由人工做出。
对于自动处理和转写,请使用 DaDataAddress::standardization(string $address)
方法。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
query |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最大20个 |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
locations |
数组 |
true |
[] | 父级限制(国家、地区、区、城市、街道) |
locations_geo |
数组 |
true |
[] | 圆形半径限制 |
locations_boost |
数组 |
true |
[] | 城市在排名中的优先级 |
from_bound |
数组 |
true |
[] | 地址粒度提示 |
to_bound |
数组 |
true |
[] | 地址粒度提示 |
调用示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData prompt example * * @return void */ public function promptExample() : void { $dadata = DaDataAddress::prompt('москва хабар', 2, Language::RU); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "г Москва, ул Хабаровская" "unrestricted_value" => "г Москва, ул Хабаровская" "data" => array:81 [ "postal_code" => null "country" => "Россия" "country_iso_code" => "RU" "federal_district" => null "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" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "street_fias_id" => "32fcb102-2a50-44c9-a00e-806420f448ea" "street_kladr_id" => "77000000000713400" "street_with_type" => "ул Хабаровская" "street_type" => "ул" "street_type_full" => "улица" "street" => "Хабаровская" "house_fias_id" => null "house_kladr_id" => null "house_type" => null "house_type_full" => null "house" => null "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" => "32fcb102-2a50-44c9-a00e-806420f448ea" "fias_code" => "7700000000000007134" "fias_level" => "7" "fias_actuality_state" => "0" "kladr_id" => "77000000000713400" "geoname_id" => "524894" "capital_marker" => "0" "okato" => "45263564000" "oktmo" => "45305000" "tax_office" => "7718" "tax_office_legal" => "7718" "timezone" => null "geo_lat" => "55.821168" "geo_lon" => "37.82608" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "2" "qc_complete" => null "qc_house" => null "history_values" => array:1 [ 0 => "ул Черненко" ] "unparsed_parts" => null "source" => null "qc" => null ] ] 1 => array:3 [ "value" => "г Москва, поселение Московский, г Московский, ул Хабарова" "unrestricted_value" => "г Москва, поселение Московский, г Московский, ул Хабарова" "data" => array:81 [ "postal_code" => null "country" => "Россия" "country_iso_code" => "RU" "federal_district" => null "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" => "762758bb-18b9-440f-bc61-8e1e77ff3fd8" "area_kladr_id" => "7701100000000" "area_with_type" => "поселение Московский" "area_type" => "п" "area_type_full" => "поселение" "area" => "Московский" "city_fias_id" => "fbcf1fff-1d7c-445e-ad92-b71c08b8aba3" "city_kladr_id" => "7701100200000" "city_with_type" => "г Московский" "city_type" => "г" "city_type_full" => "город" "city" => "Московский" "city_area" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "street_fias_id" => "4d70a35d-9246-4d9c-bcf1-90812ad056a3" "street_kladr_id" => "77011002000003700" "street_with_type" => "ул Хабарова" "street_type" => "ул" "street_type_full" => "улица" "street" => "Хабарова" "house_fias_id" => null "house_kladr_id" => null "house_type" => null "house_type_full" => null "house" => null "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" => "4d70a35d-9246-4d9c-bcf1-90812ad056a3" "fias_code" => "7701100200000000037" "fias_level" => "7" "fias_actuality_state" => "0" "kladr_id" => "77011002000003700" "geoname_id" => "857690" "capital_marker" => "0" "okato" => "45297565001" "oktmo" => "45952000" "tax_office" => "7751" "tax_office_legal" => "7751" "timezone" => null "geo_lat" => "55.59483" "geo_lon" => "37.35963" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "2" "qc_complete" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => null "qc" => null ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
嵌入数组数据与DaDataAddress::standardization(string $address) 方法输出结构类似 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData prompt example * * @return void */ public function promptExample() : void { try { $dadata = DaDataAddress::prompt('москва хабар', 2, Language::RU); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
根据坐标确定地址
DaDataAddress::geolocate(float $lat, float $lon, int $count, int $radius_meters, int $language)
根据地理坐标查找最近地址(住宅、街道、城市)。仅适用于俄罗斯。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
lat |
浮点数 |
false |
地理纬度 | |
lon |
浮点数 |
false |
地理经度 | |
count |
整数 |
true |
10 | 结果数量(最多20个) |
radius_meters |
整数 |
true |
100 | 搜索半径(以米为单位,最多1000米) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData geolocate example * * @return void */ public function geolocateExample() : void { $dadata = DaDataAddress::geolocate('55.878', '37.653', 2); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "г Москва, ул Сухонская, д 11" "unrestricted_value" => "127642, г Москва, ул Сухонская, д 11" "data" => array:81 [ "postal_code" => "127642" "country" => "Россия" "country_iso_code" => "RU" "federal_district" => null "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" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "street_fias_id" => "95dbf7fb-0dd4-4a04-8100-4f6c847564b5" "street_kladr_id" => "77000000000283600" "street_with_type" => "ул Сухонская" "street_type" => "ул" "street_type_full" => "улица" "street" => "Сухонская" "house_fias_id" => "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255" "house_kladr_id" => "7700000000028360004" "house_type" => "д" "house_type_full" => "дом" "house" => "11" "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" => "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255" "fias_code" => "77000000000000028360004" "fias_level" => "8" "fias_actuality_state" => "0" "kladr_id" => "7700000000028360004" "geoname_id" => "524894" "capital_marker" => "0" "okato" => "45280583000" "oktmo" => "45362000" "tax_office" => "7715" "tax_office_legal" => "7715" "timezone" => null "geo_lat" => "55.878315" "geo_lon" => "37.65372" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "0" "qc_complete" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => null "qc" => null ] ] 1 => array:3 [ "value" => "г Москва, ул Сухонская, д 11А" "unrestricted_value" => "127642, г Москва, ул Сухонская, д 11А" "data" => array:81 [ "postal_code" => "127642" "country" => "Россия" "country_iso_code" => "RU" "federal_district" => null "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" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "street_fias_id" => "95dbf7fb-0dd4-4a04-8100-4f6c847564b5" "street_kladr_id" => "77000000000283600" "street_with_type" => "ул Сухонская" "street_type" => "ул" "street_type_full" => "улица" "street" => "Сухонская" "house_fias_id" => "abc31736-35c1-4443-a061-b67c183b590a" "house_kladr_id" => "7700000000028360005" "house_type" => "д" "house_type_full" => "дом" "house" => "11А" "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" => "abc31736-35c1-4443-a061-b67c183b590a" "fias_code" => "77000000000000028360005" "fias_level" => "8" "fias_actuality_state" => "0" "kladr_id" => "7700000000028360005" "geoname_id" => "524894" "capital_marker" => "0" "okato" => "45280583000" "oktmo" => "45362000" "tax_office" => "7715" "tax_office_legal" => "7715" "timezone" => null "geo_lat" => "55.878212" "geo_lon" => "37.652016" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "0" "qc_complete" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => null "qc" => null ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
嵌入数组数据与DaDataAddress::standardization(string $address) 方法输出结构类似 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData geolocate example * * @return void */ public function geolocateExample() : void { try { $dadata = DaDataAddress::geolocate('55.878', '37.653', 2); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
根据IP确定地址
DaDataAddress::iplocate(string $ip, int $count, int $language)
根据IP地址确定城市。
主要案例
- 支持IPv4和IPv6地址
- 返回有关城市的详细信息,包括邮政编码。
- "我根据你的IP来计算!"
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
ip |
字符串 |
false |
IPv4或IPv6 | |
count |
整数 |
true |
10 | 结果数量(最多20个) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData iplocate example * * @return void */ public function iplocateExample() : void { $dadata = DaDataAddress::iplocate('46.226.227.20', 2); dd($dadata); } }
响应示例
array:1 [ "location" => array:3 [ "value" => "г Краснодар" "unrestricted_value" => "350000, Краснодарский край, г Краснодар" "data" => array:81 [ "postal_code" => "350000" "country" => "Россия" "country_iso_code" => "RU" "federal_district" => "Южный" "region_fias_id" => "d00e1013-16bd-4c09-b3d5-3cb09fc54bd8" "region_kladr_id" => "2300000000000" "region_iso_code" => "RU-KDA" "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" => "7dfa745e-aa19-4688-b121-b655c11e482f" "city_kladr_id" => "2300000100000" "city_with_type" => "г Краснодар" "city_type" => "г" "city_type_full" => "город" "city" => "Краснодар" "city_area" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "street_fias_id" => null "street_kladr_id" => null "street_with_type" => null "street_type" => null "street_type_full" => null "street" => null "house_fias_id" => null "house_kladr_id" => null "house_type" => null "house_type_full" => null "house" => null "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" => "7dfa745e-aa19-4688-b121-b655c11e482f" "fias_code" => "23000001000000000000000" "fias_level" => "4" "fias_actuality_state" => "0" "kladr_id" => "2300000100000" "geoname_id" => "542420" "capital_marker" => "2" "okato" => "03401000000" "oktmo" => "03701000001" "tax_office" => "2300" "tax_office_legal" => "2300" "timezone" => null "geo_lat" => "45.0401604" "geo_lon" => "38.9759647" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "4" "qc_complete" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => null "qc" => null ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
嵌入数组数据与DaDataAddress::standardization(string $address) 方法输出结构类似 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData geolocate example * * @return void */ public function geolocateExample() : void { try { $dadata = DaDataAddress::iplocate('46.226.227.20', 2); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
根据KLADR或FIAS代码确定地址
DaDataAddress::id(string $ip, int $count, int $language)
根据KLADR或FIAS代码确定地址。
主要案例
- 仅按KLADR代码搜索;
- ФИАС-код,仅适用于俄罗斯;
- OpenStreetMap标识符,仅适用于白俄罗斯;
- GeoNames标识符,适用于所有其他国家。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
id |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量(最多20个) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData ID example * * @return void */ public function idExample() : void { $dadata = DaDataAddress::id('9120b43f-2fae-4838-a144-85e43c2bfb29', 2, Language::RU); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "г Москва, ул Снежная" "unrestricted_value" => "129323, г Москва, р-н Свиблово, ул Снежная" "data" => array:81 [ "postal_code" => "129323" "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" => "9120b43f-2fae-4838-a144-85e43c2bfb29" "street_kladr_id" => "77000000000268400" "street_with_type" => "ул Снежная" "street_type" => "ул" "street_type_full" => "улица" "street" => "Снежная" "house_fias_id" => null "house_kladr_id" => null "house_type" => null "house_type_full" => null "house" => null "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" => "9120b43f-2fae-4838-a144-85e43c2bfb29" "fias_code" => "77000000000000026840000" "fias_level" => "7" "fias_actuality_state" => "0" "kladr_id" => "77000000000268400" "geoname_id" => "524901" "capital_marker" => "0" "okato" => "45280580000" "oktmo" => "45361000" "tax_office" => "7716" "tax_office_legal" => "7716" "timezone" => null "geo_lat" => "55.8523466" "geo_lon" => "37.6469376" "beltway_hit" => null "beltway_distance" => null "metro" => null "qc_geo" => "2" "qc_complete" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => null "qc" => null ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
嵌入数组数据与DaDataAddress::standardization(string $address) 方法输出结构类似 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData geolocate example * * @return void */ public function geolocateExample() : void { try { $dadata = DaDataAddress::id('9120b43f-2fae-4838-a144-85e43c2bfb29', 2, Language::RU); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
根据地址确定最近的俄罗斯邮政局
DaDataAddress::postalUnitByAddress(string $address, int $count, int $language)
根据地址确定最近的邮政局
如果互联网商店通过俄罗斯邮政发送订单,最好告诉人们在哪里以及何时可以取件。这可以通过邮政局指南来帮助,其中包含确切的地址、坐标和工作时间,如果它暂时关闭,还有标记。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
address |
字符串 |
false |
地址 | |
count |
整数 |
true |
10 | 结果数量(最多20个) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData fine postal unit by address example * * @return void */ public function postalUnitByAddressExample() : void { $dadata = DaDataAddress::postalUnitByAddress('дежнева 2а', 2, Language::RU); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "127642" "unrestricted_value" => "г Москва, проезд Дежнёва, д 2А" "data" => array:15 [ "postal_code" => "127642" "is_closed" => false "type_code" => "ГОПС" "address_str" => "г Москва, проезд Дежнёва, д 2А" "address_kladr_id" => "7700000000000" "address_qc" => "0" "geo_lat" => 55.872127 "geo_lon" => 37.651223 "schedule_mon" => "08:00-20:00" "schedule_tue" => "08:00-20:00" "schedule_wed" => "08:00-20:00" "schedule_thu" => "08:00-20:00" "schedule_fri" => "08:00-20:00" "schedule_sat" => "09:00-18:00" "schedule_sun" => "09:00-18:00" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
以下将讨论的嵌套数组 |
描述嵌套数组 data
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
postal_code |
索引 |
is_closed |
true 如果部门关闭,否则 false |
type_code |
部门类型 |
address_str |
一行地址 |
address_kladr_id |
居民点KLAĐR代码 |
address_qc |
地址检查代码 |
geo_lat |
纬度 |
geo_lon |
经度 |
schedule_mon |
星期一的工作时间 |
schedule_tue |
星期二的工作时间 |
schedule_wed |
星期三的工作时间 |
schedule_thu |
星期四的工作时间 |
schedule_fri |
星期五的工作时间 |
schedule_sat |
星期六的工作时间 |
schedule_sun |
星期日的工作时间 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
根据邮政编码确定俄罗斯邮政局
DaDataAddress::postalUnitById(int $code, int $count, int $language)
根据邮政编码确定邮政局地址
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
code |
整数 |
false |
索引 | |
count |
整数 |
true |
10 | 结果数量(最多20个) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData fine postal unit by zip example * * @return void */ public function postalUnitByIdExample() : void { $dadata = DaDataAddress::postalUnitById(127642, 2, Language::RU); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "127642" "unrestricted_value" => "г Москва, проезд Дежнёва, д 2А" "data" => array:15 [ "postal_code" => "127642" "is_closed" => false "type_code" => "ГОПС" "address_str" => "г Москва, проезд Дежнёва, д 2А" "address_kladr_id" => "7700000000000" "address_qc" => "0" "geo_lat" => 55.872127 "geo_lon" => 37.651223 "schedule_mon" => "08:00-20:00" "schedule_tue" => "08:00-20:00" "schedule_wed" => "08:00-20:00" "schedule_thu" => "08:00-20:00" "schedule_fri" => "08:00-20:00" "schedule_sat" => "09:00-18:00" "schedule_sun" => "09:00-18:00" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
以下将讨论的嵌套数组 |
描述嵌套数组 data
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
postal_code |
索引 |
is_closed |
true 如果部门关闭,否则 false |
type_code |
部门类型 |
address_str |
一行地址 |
address_kladr_id |
居民点KLAĐR代码 |
address_qc |
地址检查代码 |
geo_lat |
纬度 |
geo_lon |
经度 |
schedule_mon |
星期一的工作时间 |
schedule_tue |
星期二的工作时间 |
schedule_wed |
星期三的工作时间 |
schedule_thu |
星期四的工作时间 |
schedule_fri |
星期五的工作时间 |
schedule_sat |
星期六的工作时间 |
schedule_sun |
星期日的工作时间 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
根据坐标确定俄罗斯邮政局
DaDataAddress::postalUnitByGeoLocate(float $lat, float $lon, int $radius_meters, int $count, int $language)
根据坐标确定邮政局地址
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
lat |
整数 |
false |
纬度 | |
lon |
整数 |
false |
经度 | |
radius_meters |
整数 |
false |
1000 | 搜索半径(米)。最大值为1000 |
count |
整数 |
true |
10 | 结果数量(最多20个) |
language |
整数 |
true |
1 | 响应语言。它可以是 俄语,值为 language = 1 或 英语,值为 language = 2 。我们建议使用常量 Language::RU 或 Language::EN |
调用示例
<?php namespace App; use Teleport\DaData\Enums\Language; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData fine postal unit by GEO * * @return void */ public function postalUnitByGeoLocateExample() : void { $dadata = DaDataAddress::postalUnitByGeoLocate('55.878', '37.653', 1000, 2, Language::RU); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "127642" "unrestricted_value" => "г Москва, проезд Дежнёва, д 2А" "data" => array:15 [ "postal_code" => "127642" "is_closed" => false "type_code" => "ГОПС" "address_str" => "г Москва, проезд Дежнёва, д 2А" "address_kladr_id" => "7700000000000" "address_qc" => "0" "geo_lat" => 55.872127 "geo_lon" => 37.651223 "schedule_mon" => "08:00-20:00" "schedule_tue" => "08:00-20:00" "schedule_wed" => "08:00-20:00" "schedule_thu" => "08:00-20:00" "schedule_fri" => "08:00-20:00" "schedule_sat" => "09:00-18:00" "schedule_sun" => "09:00-18:00" ] ] 1 => array:3 [ "value" => "127221" "unrestricted_value" => "г Москва, ул Полярная, д 16 к 1" "data" => array:15 [ "postal_code" => "127221" "is_closed" => false "type_code" => "ГОПС" "address_str" => "г Москва, ул Полярная, д 16 к 1" "address_kladr_id" => "7700000000000" "address_qc" => "0" "geo_lat" => 55.876607 "geo_lon" => 37.637308 "schedule_mon" => "08:00-20:00" "schedule_tue" => "08:00-20:00" "schedule_wed" => "08:00-20:00" "schedule_thu" => "08:00-20:00" "schedule_fri" => "08:00-20:00" "schedule_sat" => "09:00-18:00" "schedule_sun" => "09:00-18:00" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
以下将讨论的嵌套数组 |
描述嵌套数组 data
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
postal_code |
索引 |
is_closed |
true 如果部门关闭,否则 false |
type_code |
部门类型 |
address_str |
一行地址 |
address_kladr_id |
居民点KLAĐR代码 |
address_qc |
地址检查代码 |
geo_lat |
纬度 |
geo_lon |
经度 |
schedule_mon |
星期一的工作时间 |
schedule_tue |
星期二的工作时间 |
schedule_wed |
星期三的工作时间 |
schedule_thu |
星期四的工作时间 |
schedule_fri |
星期五的工作时间 |
schedule_sat |
星期六的工作时间 |
schedule_sun |
星期日的工作时间 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
在SDЭК、Boxberry和DPD中确定城市标识符
DaDataAddress::delivery(string $code)
帮助解决在SDЭК、Boxberry和DPD中确定城市标识符的问题
快递公司通常使用自己的城市标识符,并要求商店在订单中注明。
方法DaDataAddress::delivery(string $code)
根据城市KLAĐR代码确定快递公司中的城市标识符。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
code |
字符串 |
false |
代码 |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData define city code by delivery code * * @return void */ public function deliveryExample() : void { $dadata = DaDataAddress::delivery('3100400100000'); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "3100400100000" "unrestricted_value" => "fe7eea4a-875a-4235-aa61-81c2a37a0440" "data" => array:5 [ "kladr_id" => "3100400100000" "fias_id" => "fe7eea4a-875a-4235-aa61-81c2a37a0440" "boxberry_id" => "01929" "cdek_id" => "344" "dpd_id" => "196006461" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
以下将讨论的嵌套数组 |
描述嵌套数组 data
名称 | 描述 |
---|---|
kladr_id |
城市KLADR代码 |
fias_id |
城市FIAS代码 |
boxberry_id |
Boxberry目录中的城市标识符 |
cdek_id |
SDЭК目录中的城市标识符 |
dpd_id |
DPD目录中的城市标识符 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
根据标识符在FIAS中查找地址
DaDataAddress::fias(string $code)
根据KLAĐR或FIAS代码在FIAS目录中查找地址
FIAS住宅代码有时会更改,而该方法仅搜索有效代码。因此,建议除了保存住宅FIAS代码外,还保存一行的地址——否则在FIAS代码更改时无法恢复地址。
根据KLAĐR代码,方法仅搜索到街道,因为在FIAS中没有住宅的KLAĐR代码。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
code |
字符串 |
false |
FIAS代码 |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData get city by FIAS code * * @return void */ public function fiasExample() : void { $dadata = DaDataAddress::fias('9120b43f-2fae-4838-a144-85e43c2bfb29'); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "г Москва, ул Снежная" "unrestricted_value" => "129323, г Москва, ул Снежная" "data" => array:64 [ "postal_code" => "129323" "region_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5" "region_kladr_id" => "7700000000000" "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" => null "city_kladr_id" => null "city_with_type" => null "city_type" => null "city_type_full" => null "city" => null "city_district_fias_id" => null "city_district_kladr_id" => null "city_district_with_type" => null "city_district_type" => null "city_district_type_full" => null "city_district" => null "settlement_fias_id" => null "settlement_kladr_id" => null "settlement_with_type" => null "settlement_type" => null "settlement_type_full" => null "settlement" => null "planning_structure_fias_id" => null "planning_structure_kladr_id" => null "planning_structure_with_type" => null "planning_structure_type" => null "planning_structure_type_full" => null "planning_structure" => null "street_fias_id" => "9120b43f-2fae-4838-a144-85e43c2bfb29" "street_kladr_id" => "77000000000268400" "street_with_type" => "ул Снежная" "street_type" => "ул" "street_type_full" => "улица" "street" => "Снежная" "house_fias_id" => null "house_kladr_id" => null "house_type" => null "house" => null "block" => null "building_type" => null "building" => null "fias_id" => "9120b43f-2fae-4838-a144-85e43c2bfb29" "fias_code" => "7700000000000002684" "fias_level" => "7" "fias_actuality_state" => "0" "kladr_id" => "77000000000268400" "capital_marker" => "0" "okato" => "45280580000" "oktmo" => "45361000" "cadastral_number" => null "tax_office" => "7716" "tax_office_legal" => "7716" "history_values" => null "source" => null "qc" => null ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行地址(如提示列表中所示) |
unrestricted_value |
单行地址(完整,带索引) |
data |
嵌入数组数据与DaDataAddress::standardization(string $address) 方法输出结构类似 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataAddress; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData define city by FIAS code * * @return void */ public function fiasExample() : void { try { $dadata = DaDataAddress::fias('9120b43f-2fae-4838-a144-85e43c2bfb29'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
处理名称
全名
DaDataName::fias(string $name)
将字符串中的姓名拆分为单独的字段(姓氏、名字、中间名)。确定性别并变格。
主要案例
- 纠正错误并转写。
- 指定性别。
- 变格(谁?给谁?由谁?)。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
name |
字符串 |
false |
姓名 |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataName; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData name standardization * * @return void */ public function nameExample() : void { $dadata = DaDataName::standardization('Срегей владимерович иванов'); dd($dadata); } }
响应示例
array:1 [ 0 => array:10 [ "source" => "Срегей владимерович иванов" "result" => "Иванов Сергей Владимирович" "result_genitive" => "Иванова Сергея Владимировича" "result_dative" => "Иванову Сергею Владимировичу" "result_ablative" => "Ивановым Сергеем Владимировичем" "surname" => "Иванов" "name" => "Сергей" "patronymic" => "Владимирович" "gender" => "М" "qc" => 1 ] ]
响应描述
名称 | 描述 |
---|---|
source |
原始姓名,一行 |
result |
标准化姓名,一行 |
result_genitive |
姓名在属格(谁?) |
result_dative |
姓名在与格(给谁?) |
result_ablative |
姓名在宾格(由谁?) |
surname |
姓氏 |
name |
名字 |
patronymic |
中间名 |
gender |
性别。 М - 男(male),Ж - 女(female),НД - 无法唯一确定 |
qc |
检查码。下表是检查码表 |
检查码(响应参数 qc
)
qc |
需要人工检查? | 描述 |
---|---|---|
0 | 否 | 原始值识别自信 |
2 | 否 | 原始值是空的或显然是“垃圾” |
1 | 是 | 原始值识别有假设或未识别 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataName; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData define city by FIAS code * * @return void */ public function nameExample() : void { try { $dadata = DaDataName::standardization('Срегей владимерович иванов'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
输入时的自动补全(“提示”)
DaDataName::prompt(string $name, int $count, int $gender, array $parts)
帮助用户快速在网页表单或应用程序中输入姓名。
主要案例
- 提示姓名一行或单独提示姓氏、名字、中间名。
- 纠正键盘布局(“fynjy” → “Anton”)。
- 确定性别。
此方法不适用于以下任务
- 自动(无需人工参与)处理数据库或文件中的姓名。
- 转写(Juliia Somova → Yulia Somova)。
- 变格(谁?给谁?由谁?)。
提示不适合自动处理姓名。它们提供选项,但无法保证正确猜测。因此,最终决定应由人工做出。
对于自动处理、转写和变格,请使用 DaDataName::fias(string $name)
方法 姓名,其描述见上文。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
query |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
gender |
整数 |
true |
0 | 性别。为了管理性别,我们建议使用类 Gender 的常量,未知性别 Gender::UNKNOWN ,Gender::MALE - 男,Gender::FEMALE - 女 |
parts |
数组 |
true |
[] | 根据姓名的快速提示 |
根据 parts
形成快速提示的姓名数组。要形成,请使用类 Parts
的常量集。
只有名字
use Teleport\DaData\Enums\Gender; use Teleport\DaData\Enums\Parts; ... $data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME]);
名字和中间名
use Teleport\DaData\Enums\Gender; use Teleport\DaData\Enums\Parts; ... $data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME, Parts::PATRONYMIC);
名字和姓氏
use Teleport\DaData\Enums\Gender; use Teleport\DaData\Enums\Parts; ... $data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME, Parts::SURNAME]);
调用示例
<?php namespace App; use Teleport\DaData\Enums\Gender; use Teleport\DaData\Enums\Parts; use Teleport\DaData\Facades\DaDataName; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData name prompt * * @return void */ public function nameExample() : void { $dadata = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME]); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "Виктор" "unrestricted_value" => "Виктор" "data" => array:6 [ "surname" => null "name" => "Виктор" "patronymic" => null "gender" => "MALE" "source" => null "qc" => "0" ] ] 1 => array:3 [ "value" => "Виктория" "unrestricted_value" => "Виктория" "data" => array:6 [ "surname" => null "name" => "Виктория" "patronymic" => null "gender" => "FEMALE" "source" => null "qc" => "0" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
原始姓名,一行 |
unrestricted_value |
标准化姓名,一行 |
data['surname'] |
姓氏 |
data['name'] |
名字 |
data['patronymic'] |
中间名 |
data['gender'] |
性别。 MALE - 男(male),FEMALE - 女(female),UNKNOWN - 无法唯一确定 |
data['source'] |
未使用 |
date['qc'] |
检查码。 0 - 所有姓名部分都已知,1 - 姓名中存在未知部分 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\Gender; use Teleport\DaData\Enums\Parts; use Teleport\DaData\Facades\DaDataName; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData name prompt * * @return void */ public function nameExample() : void { try { $dadata = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME]); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
处理电子邮件(email)地址
DaDataName::email(string $email)
纠正错误并检查是否为一次性地址。将地址分类为个人、公司和“角色”。
主要案例
- 检查地址格式。
- 纠正常见的错误。
- 检查地址是否为“一次性”。
- 将地址分类为个人(@mail.ru、@yandex.ru)、公司(@myshop.ru)和“角色”(info@、support@)。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
email |
字符串 |
false |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataEmail; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData email * * @return void */ public function emailExample() : void { $dadata = DaDataEmail::standardization('serega@yandex/ru'); dd($dadata); } }
响应示例
array:1 [ 0 => array:6 [ "source" => "serega@yandex/ru" "email" => "serega@yandex.ru" "local" => "serega" "domain" => "yandex.ru" "type" => "PERSONAL" "qc" => 4 ] ]
响应描述
名称 | 描述 |
---|---|
source |
原始email |
email |
标准化email |
local |
地址的本地部分(在 @ 之前的内容) |
domain |
域名(在 @ 之后的内容) |
type |
地址类型。 PERSONAL — 个人(@mail.ru、@yandex.ru)。 CORPORATE — 公司(@myshop.ru)。 ROLE — “角色”(info@、support@)。 DISPOSABLE — 一次性(@temp-mail.ru) |
qc |
检查码 |
检查码(响应参数 qc
)
qc |
需要人工检查? | 描述 |
---|---|---|
0 | 否 | 正确值。符合通用规则,不检查地址的真实存在 |
2 | 否 | 空值或明显的“垃圾”值 |
3 | 否 | “一次性”地址。例如 10minutemail.com, getairmail.com, temp-mail.ru 等 |
1 | 是 | 不正确值。不符合通用规则 |
4 | 是 | 修正了错误 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataEmail; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData email * * @return void */ public function nameExample() : void { try { $dadata = DaDataEmail::standardization('serega@yandex/ru'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
关于电子邮件的提示
DaDataEmail::prompt(string $email, int $count)
帮助用户快速在网页表单或应用程序中输入电子邮件地址。
主要案例
- 提示本地(“@”之前)和域名(“@”之后)的电子邮件部分。
- 修正错误(yadex.ru → yandex.ru)。
此方法不适用于以下任务
- 自动(无需人工参与)检查数据库或文件中的地址。
- 将地址分类为个人(@mail.ru, @yandex.ru)、企业(@myshop.ru)和“角色”(info@, support@)。
- 变格(谁?给谁?由谁?)。
提示不适用于自动处理电子邮件。它们提供选项,但无法保证正确。因此,最终决策应由人工做出。
对于自动处理和分类地址,请使用 DaDataName::email(string $email)
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
email |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataEmail; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData name prompt * * @return void */ public function nameExample() : void { $dadata = DaDataEmail::prompt('anton@', 2); dd($dadata); } }
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "anton@mail.ru" "unrestricted_value" => "anton@mail.ru" "data" => array:5 [ "local" => "anton" "domain" => "mail.ru" "type" => null "source" => null "qc" => null ] ] 1 => array:3 [ "value" => "anton@gmail.com" "unrestricted_value" => "anton@gmail.com" "data" => array:5 [ "local" => "anton" "domain" => "gmail.com" "type" => null "source" => null "qc" => null ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
单行电子邮件 |
unrestricted_value |
等于 value 字段 |
data['local'] |
地址的本地部分(在 @ 之前的内容) |
data['domain'] |
域名(在 @ 之后的内容) |
data['type'] |
为通过 DaDataName::email(string $email) 方法自动处理地址而保留 |
data['source'] |
为通过 DaDataName::email(string $email) 方法自动处理地址而保留 |
data['qc'] |
为通过 DaDataName::email(string $email) 方法自动处理地址而保留 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataEmail; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData email prompt * * @return void */ public function nameExample() : void { try { $dadata = DaDataEmail::prompt('anton@', 2); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
处理电话号码
检查电话
DaDataPhone::standardization(string $phone);
根据俄罗斯电信局指南检查电话,考虑号码迁移,填写国家、城市和时区。
主要案例
- 检查电话。
- 填写当前城市/DEF-代码。
- 恢复运营商。考虑运营商之间号码迁移。
- 确定国家、地区、城市和时区。
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
phone |
字符串 |
false |
文本查询 |
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPhone; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData phone exmaple * * @return void */ public function phoneExample() : void { $dadata = DaDataPhone::standardization('раб 846)231.60.14 *139'); dd($dadata); } }
响应示例
array:1 [ 0 => array:14 [ "source" => "раб 846)231.60.14 *139" "type" => "Стационарный" "phone" => "+7 846 231-60-14 доб. 139" "country_code" => "7" "city_code" => "846" "number" => "2316014" "extension" => "139" "provider" => "ООО "СИПАУТНЭТ"" "country" => "Россия" "region" => "Самарская область" "city" => "Самара" "timezone" => "UTC+4" "qc_conflict" => 0 "qc" => 0 ] ]
响应描述
名称 | 描述 |
---|---|
source |
查询字符串 |
type |
电话类型,可能返回: 手机 、座机 、直拨手机 、呼叫中心 、未知 。 作者注释 movemoveapp/laravel-dadata: DaData团队,你们怎么能以这种方式返回类型呢?或许可以用代码表示,或者 cell 、phone 、call-center ? |
phone |
单行标准化电话 |
country_code |
国家代码 |
city_code |
城市代码 / DEF-代码 |
number |
本地电话号码 |
extension |
分机号码 |
provider |
运营商(仅限俄罗斯) |
country |
国家 |
region |
地区(仅限俄罗斯) |
city |
城市(仅限座机) |
timezone |
城市时区对于俄罗斯,国家时区对于外国电话。如果国家有多个时区,将通过斜杠返回最小和最大时区:UTC+5/UTC+6 |
qc_conflict |
电话与地址冲突的标志。 0 - 电话与地址相符,2 - 地址和电话的城市不同,3 - 地址和电话的地区不同 |
qc |
检查码 |
检查代码 qc
代码 | 需要手动检查吗? | 描述 |
---|---|---|
0 |
否 | 俄罗斯电话,确信识别 |
7 |
否 | 外国电话,确信识别 |
2 |
否 | 电话为空或明显为“垃圾” |
1 |
是 | 电话识别有误或未识别 |
3 |
是 | 发现多个电话,识别第一个 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
查询中缺少API密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
413 |
查询长度太大或条件太多 |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPhone; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData phone exmaple * * @return void */ public function nameExample() : void { try { $dadata = DaDataPhone::standardization('раб 846)231.60.14 *139'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
处理公司
按组织机构代码(INN)查询
DaDataCompany::id(string $id', int $count, string $kpp, int $branch_type, int $type)
- 通过组织机构代码(INN)、税务登记号(KPP)、注册号(OGRN)查找公司或个体经营者。返回公司信息,包括公司、创始人、负责人、税务、养老、社会保险,以及公司财务、许可证、中小微企业登记和其他公司信息。
根据统一社会信用代码(INN)或组织机构代码(OGRN)查找公司或个体工商户。返回公司的所有可用信息,与建议方法不同,该方法只返回基本字段。
调用示例
<?php namespace App; use Teleport\DaData\Enums\BranchType; use Teleport\DaData\Enums\CompanyType; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData find organization by FIAS or OGRN ID example * * @return void */ public function idExample() : void { $dadata = DaDataCompany::id('7707083893', 1, null, BranchType::MAIN, CompanyType::LEGAL); dd($dadata); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
id |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
КПП |
整数 |
true |
空值 | 用于搜索分部的КПП,参见: |
branch_type |
整数 |
true |
1 | 主组织 BranchType::MAIN 或分支机构 BranchType::BRANCH |
type |
整数 |
true |
1 | 法人 CompanyType::LEGAL 或个体工商户 CompanyType::INDIVIDUAL |
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "ПАО СБЕРБАНК" "unrestricted_value" => "ПАО СБЕРБАНК" "data" => array:33 [ "kpp" => "773601001" "capital" => null "management" => array:3 [ "name" => "Греф Герман Оскарович" "post" => "ПРЕЗИДЕНТ, ПРЕДСЕДАТЕЛЬ ПРАВЛЕНИЯ" "disqualified" => null ] "founders" => null "managers" => null "branch_type" => "MAIN" "branch_count" => 88 "source" => null "qc" => null "hid" => "588a141bc5e17cbc976ec2d0d54149af49d5a4ca16e26ed2effafdf06841d645" "type" => "LEGAL" "state" => array:4 [ "status" => "ACTIVE" "actuality_date" => 1601942400000 "registration_date" => 677376000000 "liquidation_date" => null ] "opf" => array:4 [ "type" => "2014" "code" => "12247" "full" => "Публичное акционерное общество" "short" => "ПАО" ] "name" => array:5 [ "full_with_opf" => "ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО "СБЕРБАНК РОССИИ"" "short_with_opf" => "ПАО СБЕРБАНК" "latin" => null "full" => "СБЕРБАНК РОССИИ" "short" => "СБЕРБАНК" ] "inn" => "7707083893" "ogrn" => "1027700132195" "okpo" => "00032537" "okato" => "45293554000" "oktmo" => "45397000000" "okogu" => "4100104" "okfs" => "41" "okved" => "64.19" "okveds" => null "authorities" => null "documents" => null "licenses" => null "finance" => 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" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => "117997, ГОРОД МОСКВА, УЛИЦА ВАВИЛОВА, 19" "qc" => "0" ] ] "phones" => null "emails" => null "ogrn_date" => 1029456000000 "okved_type" => "2014" "employee_count" => null ] ] ] ]
响应描述
您可以在统一社会信用代码或组织机构代码查询组织页面的“响应内容”部分找到完整响应的描述。
响应描述 data['address']
名称 | 长度 | 描述 |
---|---|---|
source |
250 | 单行原始地址 |
result |
500 | 单行标准化地址 |
postal_code |
6 | 索引 |
country |
120 | 国家 |
country_iso_code |
2 | ISO-国家代码 |
federal_district |
20 | 联邦区 |
region_fias_id |
36 | 区域FIAS代码 |
region_kladr_id |
19 | 区域KLADR代码 |
region_iso_code |
6 | 区域ISO代码 |
region_with_type |
131 | 带有类型的区域 |
region_type |
10 | 区域类型(简写) |
region_type_full |
50 | 区域类型 |
region |
120 | 区域 |
area_fias_id |
36 | 区域FIAS代码 |
area_kladr_id |
19 | 区域KLADR代码 |
area_with_type |
131 | 区域在区域类型中的表示 |
area_type |
10 | 区域类型在区域中的简写 |
area_type_full |
50 | 区域类型 |
area |
120 | 区域在区域中 |
city_fias_id |
36 | 城市FIAS代码 |
城市KLADR代码 |
19 | 城市KLADR代码 |
city_with_type |
131 | 带有类型的城市 |
city_type |
10 | 城市类型(简写) |
city_type_full |
50 | 城市类型 |
city |
120 | 城市 |
city_area |
120 | 行政区域(仅限莫斯科) |
city_district_fias_id |
36 | 城市区域FIAS代码(如果区域在FIAS中存在则填充) |
city_district_kladr_id |
19 | 城市区域KLADR代码(不填充) |
city_district_with_type |
131 | 带有类型的城市区域 |
city_district_type |
10 | 城市区域类型(简写) |
city_district_type_full |
50 | 城市区域类型 |
city_district |
120 | 城市区域 |
settlement_fias_id |
36 | 居民点ФИАС代码 |
settlement_kladr_id |
19 | 居民点КЛАДР代码 |
settlement_with_type |
131 | 带有类型的居民点 |
settlement_type |
10 | 居民点类型(简写) |
settlement_type_full |
50 | 居民点类型 |
settlement |
120 | 居民点 |
street_fias_id |
36 | 街道ФИАС代码 |
street_kladr_id |
19 | 街道КЛАДР代码 |
street_with_type |
131 | 带有类型的街道 |
street_type |
10 | 街道类型(简写) |
street_type_full |
50 | 街道类型 |
street |
120 | 街道 |
house_fias_id |
36 | 房屋ФИАС代码 |
house_kladr_id |
19 | 房屋КЛАДР代码 |
house_type |
10 | 房屋类型(简写) |
house_type_full |
50 | 房屋类型 |
house |
50 | 房屋 |
block_type |
10 | 建筑物/结构类型(简写) |
block_type_full |
50 | 建筑物/结构类型 |
block |
50 | 建筑物/结构 |
flat_type |
10 | 公寓类型(简写) |
flat_type_full |
50 | 公寓类型 |
flat |
50 | 公寓 |
flat_area |
50 | 公寓面积 |
square_meter_price |
50 | 每平方米市场价格 |
flat_price |
50 | 公寓市场价格 |
postal_box |
50 | 用户信箱 |
fias_id |
36 | 地址ФИАС代码(ФИАС标识符) |
HOUSE.HOUSEGUID — 如果房屋在ФИАС中找到 |
||
ADDROBJ.AOGUID — 否则 |
||
fias_code |
在ФИАС中的地址层级代码(SS+RR+GG+PP+SSSS+UUUU+DDDD) | |
fias_level |
2 | 在ФИАС中找到地址的详细程度级别 |
fias_actuality_state |
ФИАС中地址的准确性标志 | |
kladr_id |
19 | 地址КЛАДР代码 |
capital_marker |
1 | 区域或地区的中心标志 |
okato |
11 | ОКАТО代码 |
oktmo |
11 | ОКТМО代码 |
tax_office |
4 | 针对个人的ИФНС代码 |
tax_office_legal |
4 | 针对组织的ИФНС代码 |
timezone |
50 | 城市的时间带(对于俄罗斯,外国地址的国家时间带。如果国家有多个时区,则返回最小和最大时区通过斜杠分隔:UTC+5/UTC+6) |
geo_lat |
12 | 坐标:纬度 |
geo_lon |
12 | 坐标:经度 |
beltway_hit |
8 | 是否在环路内? |
beltway_distance |
3 | 从环路到距离(公里)。仅当beltway_hit = OUT_MKAD或OUT_KAD时填写,否则为空 |
qc_geo |
5 | 坐标精度代码 |
qc_complete |
5 | 邮件发送适用性代码 |
qc_house |
5 | 在ФИАС中存在房屋的标志 |
qc |
5 | 地址检查代码 |
unparsed_parts |
250 | 地址中未识别的部分。对于地址“莫斯科,米丁斯基街,40,入口在侧面”将返回“入口,侧,侧面” |
metro |
最近地铁站列表(最多三个) |
在莫斯科97%的房屋有坐标,在圣彼得堡91%,在其他大城市中69%,在俄罗斯其他地区47%。70%的俄罗斯公寓有面积和价格。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\BranchType; use Teleport\DaData\Enums\CompanyType; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData find organization by FIAS or OGRN ID example * * @return void */ public function idExample() : void { try { $dadata = DaDataCompany::id('7707083893', 1, null, BranchType::MAIN, CompanyType::LEGAL); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
输入提示(“建议”)
DaDataCompany::prompt(string $company, int $count, array $status, int $type, string $locations, string $locations_boost);
帮助用户快速在网页表单或应用程序中输入组织机构信息。
搜索公司和个体工商户
- 按统一社会信用代码、组织机构代码和КПП;
- 名称(全名和简称);
- 个体工商户的姓名;
- 公司负责人的姓名;
- 街道地址;
主要案例
- 在一个查询中按统一社会信用代码、名称和地址的组合进行搜索(“7736050003 Газ”→“ПАО Газпром”,“вавилова сбер”→“ПАО Сбербанк”);
- 如果查询中指定了КПП,则找到特定分支机构(“сбербанк 540602001”→“Сибирский банк ПАО Сбербанк”);
- 理解连写和分写(“альфабанк”=“Альфа-Банк”);
- 在统一社会信用代码/组织机构代码和名称中按部分匹配进行搜索(“77094209”→“ООО Акварель”,“росне”→“ПАО «НК «Роснефть」”);
- 仅提示组织或仅提示个体工商户,或两者都提示。可以仅搜索在册或注销的公司。可以限制提示到俄罗斯的具体地区。
- 考虑您所在的位置(与根据IP地址确定地址方法关联);
- 返回从企业注册信息中获取的公司基本信息:简短和完整名称,组织形式,地址,组织机构代码,统一社会信用代码,КПП,OKVED,组织状态,负责人姓名和职位。
- 与按统一社会信用代码查询组织方法关联时,返回额外的信息:员工人数,所有OKVED代码,税务机关、养老基金和社保基金信息,文件和许可证,股东和负责人,财务指标,小型和中型企业名录。
此方法不适用于
- 由于税务机关目前不提供50%的分支机构КПП,因此可以使用分支机构统一社会信用代码、城市和街道名称进行查找。例如,“7724261610 москва мясницкая”→“Филиал ФГУП "Почта России" (г Москва)”。
调用示例
<?php namespace App; use Teleport\DaData\Enums\CompanyStatus; use Teleport\DaData\Enums\CompanyType; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData prompt organization by string * * @return void */ public function promptExample() : void { $dadata = DaDataCompany::prompt('сбербанк', 1, [CompanyStatus::ACTIVE], CompanyType::LEGAL); dd($dadata); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
company |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
status |
整数 |
true |
空值 | 按组织状态限制。 |
type |
整数 |
true |
1 | 按组织类型限制。 |
locations |
字符串 |
true |
空值 | 按地区或城市限制。必须以字符串形式通过逗号(, )传递两位数代码。代码列表 |
locations_boost |
字符串 |
true |
空值 | 在排名时优先考虑城市。 |
生成 status
- 按组织状态限制 要仅搜索在册公司,将status数组构建如下
... use Teleport\DaData\Enums\CompanyStatus; ... $status = [ CompanyStatus::ACTIVE ];
仅搜索正在清算和清算的公司
... use Teleport\DaData\Enums\CompanyStatus; ... $status = [ CompanyStatus::LIQUIDATING, CompanyStatus::LIQUIDATED, ];
生成 type
- 按组织类型限制。
仅搜索法人
... use Teleport\DaData\Enums\CompanyStatus; ... $type = CompanyStatus::LEGAL;
仅搜索个体工商户
... use Teleport\DaData\Enums\CompanyStatus; ... $type = CompanyStatus::INDIVIDUAL;
响应示例
array:1 [ "suggestions" => array:1 [ 0 => array:3 [ "value" => "ПАО СБЕРБАНК" "unrestricted_value" => "ПАО СБЕРБАНК" "data" => array:33 [ "kpp" => "773601001" "capital" => null "management" => array:3 [ "name" => "Греф Герман Оскарович" "post" => "ПРЕЗИДЕНТ, ПРЕДСЕДАТЕЛЬ ПРАВЛЕНИЯ" "disqualified" => null ] "founders" => null "managers" => null "branch_type" => "MAIN" "branch_count" => 88 "source" => null "qc" => null "hid" => "588a141bc5e17cbc976ec2d0d54149af49d5a4ca16e26ed2effafdf06841d645" "type" => "LEGAL" "state" => array:4 [ "status" => "ACTIVE" "actuality_date" => 1601942400000 "registration_date" => 677376000000 "liquidation_date" => null ] "opf" => array:4 [ "type" => "2014" "code" => "12247" "full" => "Публичное акционерное общество" "short" => "ПАО" ] "name" => array:5 [ "full_with_opf" => "ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО "СБЕРБАНК РОССИИ"" "short_with_opf" => "ПАО СБЕРБАНК" "latin" => null "full" => "СБЕРБАНК РОССИИ" "short" => "СБЕРБАНК" ] "inn" => "7707083893" "ogrn" => "1027700132195" "okpo" => "00032537" "okato" => "45293554000" "oktmo" => "45397000000" "okogu" => "4100104" "okfs" => "41" "okved" => "64.19" "okveds" => null "authorities" => null "documents" => null "licenses" => null "finance" => 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" => null "qc_house" => null "history_values" => null "unparsed_parts" => null "source" => "117997, ГОРОД МОСКВА, УЛИЦА ВАВИЛОВА, 19" "qc" => "0" ] ] "phones" => null "emails" => null "ogrn_date" => 1029456000000 "okved_type" => "2014" "employee_count" => null ] ] ] ]
响应描述
您可以在组织提示API页面的“响应内容”部分找到完整响应的描述。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\CompanyStatus; use Teleport\DaData\Enums\CompanyType; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData prompt organization by string * * @return void */ public function promptExample() : void { try { $dadata = DaDataCompany::prompt('сбербанк', 1, [CompanyStatus::ACTIVE], CompanyType::LEGAL); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
搜索关联公司
DaDataCompany::affiliated(string $code, int $count, array $scope)
通过创始人或管理人员的统一社会信用代码找到组织。适用于个人和法人。
创始人或管理人员往往不局限于参与一个法人实体,而是在多个实体中都有出现。有时候,他们可能出现在数十个不同的公司中。了解这一点对于评估合作伙伴的可靠性以及更有效地进行市场营销和销售都很有帮助。为了简化关联公司的搜索,“达达数据”通过创始人或管理人员的统一社会信用代码来找到组织。
通过个人和法人的统一社会信用代码进行搜索。
由于所有返回的结果都收到 403
,Operation party/findAffiliated is not permitted
,因此无法对该方法进行测试。
调用示例
<?php namespace App; use Teleport\DaData\Enums\CompanyScope; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData find affiliated organization exmaple * * @return void */ public function affiliatedExample() : void { $dadata = DaDataCompany::affiliated('7736207543', 1, [CompanyScope::MANAGERS]); dd($dadata); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
code |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
scope |
数组 |
true |
[] | 用于搜索分支机构的税务登记号 |
**构建 scope
- **
响应描述
您可以在搜索关联公司页面上的“响应内容”部分找到完整的响应描述。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\CompanyScope; use Teleport\DaData\Facades\DaDataCompany; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData find affiliated organization exmaple * * @return void */ public function affiliatedExample() : void { try { $dadata = DaDataCompany::affiliated('7736207543', 1, [CompanyScope::MANAGERS]); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
与银行合作
通过BIC、SWIFT、统一社会信用代码或注册号查找银行
DaDataBank::id(string $bank);
通过任何标识符:BIC、SWIFT、统一社会信用代码、统一社会信用代码+税务登记号(用于分支机构)、注册号(由中国人民银行分配)来找到银行。返回银行的详细信息、往来账户、地址和状态(有效/清算)。
通过以下方式搜索信用机构:
- BIC;
- SWIFT;
- 统一社会信用代码;
- 统一社会信用代码+税务登记号;
- 名称;
仅进行精确匹配,对于部分匹配,请使用方法 DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost)
调用示例
<?php namespace App; use Teleport\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); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
bank |
字符串 |
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 ] ] ] ]
响应描述
您可以在通过BIC、SWIFT、统一社会信用代码或注册号查找银行页面上的“响应内容”部分找到完整的响应描述。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\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()); } } }
API银行提示
DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost)
帮助用户快速在网页表单或应用程序中输入银行的详细信息。
通过以下方式搜索信用机构:
- BIC;
- SWIFT;
- 统一社会信用代码;
- 统一社会信用代码+税务登记号;
- 名称;
主要案例
- 通过类型过滤:银行、非银行金融机构和分支机构,以及RKC和其他组织;
- 能够搜索有效银行和清算银行;
- 考虑您的地理位置(城市级地理定位);
调用示例
<?php namespace App; use Teleport\DaData\Enums\BankStatus; use Teleport\DaData\Enums\BankType; use Teleport\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); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
bank |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
status |
数组 |
true |
空值 | 根据银行状态进行限制 |
type |
数组 |
true |
1 | 根据银行类型进行限制 |
locations |
字符串 |
true |
空值 | 按地区或城市限制。必须以字符串形式通过逗号(, )传递两位数代码。代码列表 |
locations_boost |
字符串 |
true |
空值 | 在排名时优先考虑城市。 |
构建 status
- 对组织状态的限制 要仅搜索有效银行,请将 status 数组构建如下
... use Teleport\DaData\Enums\BankStatus; ... $status = [ BankStatus::ACTIVE ];
仅搜索正在清算和清算完成的银行
... use Teleport\DaData\Enums\BankStatus; ... $status = [ BankStatus::LIQUIDATING, BankStatus::LIQUIDATED, ];
构建 type
- 对银行类型的限制。 在类 Teleport\DaData\Enums\BankType
中可用的组织类型
类型 | 组织类型 |
---|---|
BankType::BANK |
银行 |
BankType::BANK_BRANCH |
银行分支机构 |
BankType::NKO |
非银行金融机构 |
BankType::NKO_BRANCH |
非银行金融机构分支机构 |
BankType::OTHER |
其他 |
BankType::RKC |
RKC / GRCRC |
仅搜索银行和银行分支机构
... use Teleport\DaData\Enums\BankType; ... $type = [BankType::BANK, BankType::BANK_BRANCH]
仅搜索RKC/GRCRC
... use Teleport\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银行提示页面上的“响应内容”部分找到完整的响应描述。
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Enums\BankStatus; use Teleport\DaData\Enums\BankType; use Teleport\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()); } } }
与护照合作
通过公安部目录进行验证
DaDataPassport::standardization(string $id)
通过公安部无效护照目录进行验证。
主要案例
- 检查系列和号码格式;
- 根据无效护照目录检查护照;
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPassport; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData passport * * @return void */ public function passportExample() : void { $dadata = DaDataPassport::standardization('4509 235857'); dd($dadata); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
id |
字符串 |
false |
文本查询 |
响应示例
array:1 [ 0 => array:4 [ "source" => "4509 235857" "series" => "45 09" "number" => "235857" "qc" => 0 ] ]
响应描述
名称 | 长度 | 描述 |
---|---|---|
source |
100 |
原始系列和号码一行显示; |
系列; |
20 |
系列; |
number |
20 |
号码; |
qc |
5 |
检查码。 |
qc |
需要人工检查? | 描述 |
---|---|---|
0 | 否 | 有效护照; |
2 | 否 | 原始值空; |
1 | 是 | 系列或号码格式不正确; |
100 | 是 | 无效护照; |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPassport; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData passport * * @return void */ public function passportExample() : void { try { $dadata = DaDataPassport::standardization('4509 235857'); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }
护照由谁签发
DaDataPassport::fns(string $passport, int $count)
立即根据机构代码填充签发护照的机构;
在输入护照时,“由谁签发”是最费时的字段。输入“由梅德韦杰夫区内务局签发”很麻烦。因此,我们为“护照签发...”字段添加了提示。
调用示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPassport; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData FNS * * @return void */ public function fnsExample() : void { $dadata = DaDataPassport::fms('772 053', 2); dd($dadata); } }
调用参数
名称 | 类型 | 可选 | 默认值 | 描述 |
---|---|---|---|---|
id |
字符串 |
false |
文本查询 | |
count |
整数 |
true |
10 | 结果数量。最多20个 |
响应示例
array:1 [ "suggestions" => array:2 [ 0 => array:3 [ "value" => "ОВД ЗЮЗИНО Г. МОСКВЫ" "unrestricted_value" => "ОВД ЗЮЗИНО Г. МОСКВЫ" "data" => array:4 [ "code" => "772-053" "name" => "ОВД ЗЮЗИНО Г. МОСКВЫ" "region_code" => "77" "type" => "2" ] ] 1 => array:3 [ "value" => "ОВД ЗЮЗИНО Г. МОСКВЫ ПАСПОРТНЫЙ СТОЛ 1" "unrestricted_value" => "ОВД ЗЮЗИНО Г. МОСКВЫ ПАСПОРТНЫЙ СТОЛ 1" "data" => array:4 [ "code" => "772-053" "name" => "ОВД ЗЮЗИНО Г. МОСКВЫ ПАСПОРТНЫЙ СТОЛ 1" "region_code" => "77" "type" => "2" ] ] ] ]
响应描述
名称 | 描述 |
---|---|
value |
一行显示值(如提示列表中所示); |
unrestricted_value |
== value |
data['code'] |
机构代码; |
data['name'] |
机构名称(“由谁签发?”); |
data['region_code'] |
区域代码(2位数字); |
data['type'] |
机构类型(1位数字)。0 — 俄罗斯联邦移民局机构,1 — 区域或地方内务部或公安局,2 — 区或市警察局,3 — 警察分局。 |
异常
调用方法时,您可以处理异常代码及其消息
代码 | 描述 |
---|---|
400 |
查询不正确 |
401 |
请求中缺少API密钥或密钥或请求中指定了不存在的密钥 |
403 |
未确认电子邮件或处理请求的资金不足,请充值 |
405 |
使用的方法不是POST |
429 |
每秒或每分钟请求太多或新连接太多 |
5xx |
服务内部错误 |
您可以从异常消息中获取更详细的信息。
获取异常消息的示例
<?php namespace App; use Teleport\DaData\Facades\DaDataPassport; /** * Class DaData * @package App\DaData */ class DaData { /** * DaData FNS * * @return void */ public function fnsExample() : void { try { $dadata = DaDataPassport::fms('772 053', 2); dd($dadata); } catch (\Exception $e) { dd($e->getMessage()); } } }