teleport-kirov/laravel-dadata

Laravel DaData.RU

该软件包的官方仓库似乎已消失,因此该软件包已被冻结。

安装: 1,015

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:laravel-package

dev-master 2022-05-19 13:14 UTC

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.phpproviders 数组中添加

'providers' => [
  // ...
  Teleport\DaData\DaDataServiceProvider::class,
],

发布配置文件。执行 artisan 命令

php artisan vendor:publish --provider="Teleport\DaData\DaDataServiceProvider"

项目配置通过您的项目 .env 文件进行。您需要指定三个参数

  • DADATA_TOKEN - 与 DaData API 通信的 token
  • DADATA_SECRET - 与 DaData API 通信的 secret
  • DADATA_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::RULanguage::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::RULanguage::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::RULanguage::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::RULanguage::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::RULanguage::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::RULanguage::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::RULanguage::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::UNKNOWNGender::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)地址

Email

DaDataName::email(string $email) 纠正错误并检查是否为一次性地址。将地址分类为个人、公司和“角色”。

主要案例

  • 检查地址格式。
  • 纠正常见的错误。
  • 检查地址是否为“一次性”。
  • 将地址分类为个人(@mail.ru、@yandex.ru)、公司(@myshop.ru)和“角色”(info@、support@)。

调用参数

名称 类型 可选 默认值 描述
email 字符串 false Email

调用示例

<?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团队,你们怎么能以这种方式返回类型呢?或许可以用代码表示,或者 cellphonecall-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) 通过创始人或管理人员的统一社会信用代码找到组织。适用于个人和法人。

创始人或管理人员往往不局限于参与一个法人实体,而是在多个实体中都有出现。有时候,他们可能出现在数十个不同的公司中。了解这一点对于评估合作伙伴的可靠性以及更有效地进行市场营销和销售都很有帮助。为了简化关联公司的搜索,“达达数据”通过创始人或管理人员的统一社会信用代码来找到组织。

通过个人和法人的统一社会信用代码进行搜索。

由于所有返回的结果都收到 403Operation 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());
        }    
    }

}