zemlecht/laravel-dadata

Laravel SDK 用于与 DaData.RU 服务 API 交互

安装: 45

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 0

分支: 33

类型:laravel-package

1.0.8 2021-01-18 13:00 UTC

This package is auto-updated.

Last update: 2024-09-25 15:59:25 UTC


README

Build Status Latest Stable Version Total Downloads License

DaData Laravel 包 - PHP SDK,用于与 Laravel 一起使用,以与 DaData.ru 的 API 交互,由 MoveMoveApp 提供

安装

您可以通过 composer 安装此包

composer require zemlecht/laravel-dadata

如果您使用的是低于 5.5 的 Laravel 版本,则手动注册 DaDataServiceProvider,在 config/app.phpproviders 数组中添加它

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

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

php artisan vendor:publish --provider="MoveMoveIo\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) - 将地址字符串拆分为单独的字段(地区、城市、街道、房屋、公寓)根据 КЛАДР/ФИАС。确定邮政编码、时区、最近的地铁站、坐标、公寓价格和其他地址信息。

主要案例

  • 将地址拆分为单独的字段(地区、城市、街道、房屋、公寓)。
  • 根据俄罗斯邮政数据计算正确的索引。
  • 确定坐标。
  • 显示城市和地区、最近的地铁站、面积和公寓价格。
  • 获取 КЛАДР、ФИАС、ОКАТО、ОКТМО 和 ИФНС 代码。

调用示例

<?php

namespace App;

use MoveMoveIo\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" => "Свиблово"
      ]
    ]
  ]
]

响应描述

97% 的莫斯科房屋、91% 的圣彼得堡房屋、69% 的其他百万城市和 47% 的其他地区的房屋有坐标。70% 的俄罗斯公寓有面积和价格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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”→“莫斯科”)。-️ 将选定的地址分解为粒度部分(从区域到公寓)。-️ 支持对地址的各个部分的粒度提示(区域、城市、街道、房屋)。-️ 在特定区域、区域、城市和居民点提示地址。理解名称(“彼得格勒”),КЛАДР代码(“7800000800000”)和ФИАС(“8f238984-812b-4bb1-850b-49749fb5c56d”)。-️ 考虑您的位置(与IP地址城市方法相结合)。

请注意,如果您不推荐使用此方法:

  • 希望自动(不涉及人工)处理数据库或文件中的地址。
  • 例如,将字符串转录为 moskva suhonskaja 11 → 127642г Москва, ул Сухонская, д 11

提示不适用于自动处理地址。它们提供选项,但不保证猜对了。因此,最终决策应由人工进行。

对于自动处理和转录,请使用 DaDataAddress::standardization(string $address) 方法。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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) 根据地理坐标查找最近的地址(房屋、街道、城市)。仅适用于俄罗斯。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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地址计算出来!"

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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());
        }
    }

}

根据 КЛАДР 或 ФИАС 代码确定地址

DaDataAddress::id(string $ip, int $count, int $language) 根据КЛАДР或ФИАС代码确定地址。

主要案例

  • 按КЛАДР-代码搜索,仅适用于俄罗斯;
  • ФИАС代码,仅适用于俄罗斯;
  • OpenStreetMap标识符,仅适用于白俄罗斯;
  • GeoNames标识符,适用于所有其他国家。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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) 根据地址确定最近的邮政局

如果互联网商店通过俄罗斯邮政发送购买的商品,最好提示用户在哪里以及何时可以取件。这有助于邮政局指南 - 在其中包含准确的地址、坐标和工作时间,还有一个标记,如果它暂时关闭。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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"
      ]
    ]
  ]
]

响应说明

描述嵌套数组 data

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

根据邮政编码确定俄罗斯邮政局

DaDataAddress::postalUnitById(int $code, int $count, int $language) 根据邮政编码确定地址

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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"
      ]
    ]
  ]
]

响应说明

描述嵌套数组 data

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

根据坐标确定俄罗斯邮政局

DaDataAddress::postalUnitByGeoLocate(float $lat, float $lon, int $radius_meters, int $count, int $language) 根据坐标确定邮政局的地址

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Language;
use MoveMoveIo\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"
      ]
    ]
  ]
]

响应说明

描述嵌套数组 data

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

在 СДЭК、Boxberry 和 DPD 中确定城市标识符

DaDataAddress::delivery(string $code) 帮助解决在CDEK、Boxberry和DPD中确定城市标识符的问题

运输服务通常使用自己的城市标识符,并要求商店在订单中指定它们。

DaDataAddress::delivery(string $code) 方法根据城市КЛАДР代码确定运输服务中的城市标识符。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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"
      ]
    ]
  ]
]

响应说明

描述嵌套数组 data

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

根据标识符确定 ФИАС 地址

DaDataAddress::fias(string $code) 根据КЛАДР或ФИАС代码在ФИАС目录中查找地址。

由于ФИАС-代码可能发生变化,因此建议除了保存房屋的ФИАС-代码外,还保存地址的单一字符串 - 否则,在ФИАС-代码更改时无法恢复地址。

根据КЛАДР-代码,方法仅搜索到街道,因为ФИАС中没有房屋的КЛАДР-代码。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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) 将字符串中的姓名分解为单独的域(姓氏、名字、中间名)。确定性别和变位。

主要案例

  • 纠正拼写错误和转录。
  • 设置性别。
  • 变位(谁?谁的?谁的?)。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
  ]
]

响应说明

检查代码(响应参数 qc

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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) 帮助用户快速在Web表单或应用程序中输入姓名。

主要案例

  • 提示姓名一行或分别提示姓氏、名字、中间名。
  • 纠正键盘布局(“fynjy”→“安东”)。
  • 确定性别。

此方法不适用于以下任务

  • 自动(不涉及人工)处理数据库或文件中的姓名。
  • 转录(Juliia Somova → Юлия Сомова)。
  • 变位(谁?谁的?谁的?)。

提示不适用于自动处理姓名。它们提供选项,但不能保证猜测正确。因此,最终决定始终应由人来做。

对于自动处理、转写和变格,请使用 DaDataName::fias(string $name) 方法 姓名,其描述见上文。

调用参数

为快速姓名生成提示数组 parts 使用类 Parts 的集合。

仅姓名

use MoveMoveIo\DaData\Enums\Gender;
use MoveMoveIo\DaData\Enums\Parts;
...
$data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME]);

姓名和姓氏

use MoveMoveIo\DaData\Enums\Gender;
use MoveMoveIo\DaData\Enums\Parts;
...
$data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME, Parts::PATRONYMIC);

姓名和名字

use MoveMoveIo\DaData\Enums\Gender;
use MoveMoveIo\DaData\Enums\Parts;
...
$data = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME, Parts::SURNAME]);

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Gender;
use MoveMoveIo\DaData\Enums\Parts;
use MoveMoveIo\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"
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\Gender;
use MoveMoveIo\DaData\Enums\Parts;
use MoveMoveIo\DaData\Facades\DaDataName;

/**
 * Class DaData
 * @package App\DaData
 */
class DaData
{

   /**
    * DaData name prompt
    *
    * @return void
    */
    public function nameExample() : void
    {
        try {
            $dadata = DaDataName::prompt('Викто', 2, Gender::UNKNOWN, [Parts::NAME]);

            dd($dadata);
        } catch (\Exception $e) {
            dd($e->getMessage());
        }
    }

}

处理电子邮件地址

Email

DaDataName::email(string $email) 修正拼写错误并检查是否为一次性地址。将地址分类为个人、企业型和“角色型”。

主要案例

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

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
  ]
]

响应说明

检查代码(响应参数 qc

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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)

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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-代码。
  • 恢复运营商。考虑运营商之间的号码转移。
  • 确定国家、地区、城市和时区。

调用参数

调用示例

<?php

namespace App;

use MoveMoveIo\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
  ]
]

响应说明

检查代码 qc

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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) - 根据统一社会信用代码、组织机构代码或注册号查找公司或个体工商户。返回公司的详细信息,包括公司、股东、负责人、税务、社保和公积金,以及公司的财务、许可证、中小企业名录和其它信息。

根据统一社会信用代码或注册号查找公司或个体工商户。返回公司的所有可用信息,与仅返回基本字段的 suggest 方法不同。

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\BranchType;
use MoveMoveIo\DaData\Enums\CompanyType;
use MoveMoveIo\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);    
    }

}

调用参数

响应示例

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']

97% 的莫斯科房屋、91% 的圣彼得堡房屋、69% 的其他百万城市和 47% 的其他地区的房屋有坐标。70% 的俄罗斯公寓有面积和价格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\BranchType;
use MoveMoveIo\DaData\Enums\CompanyType;
use MoveMoveIo\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地址确定地址方法一起使用)。
  • 从企业信用信息公示系统(ЕГРЮЛ)返回公司基本信息:简称和全称、组织形式、地址、统一社会信用代码、纳税人识别号、税务登记证号、行业分类代码、组织状态、负责人姓名和职位。
  • 结合“通过纳税人识别号查找组织”方法(Organization by INN),返回额外的信息:员工数量、所有行业分类代码、税务、养老、失业、工伤基金信息、文件和许可证、股东和负责人、财务指标、中小企业名录。

此方法不适用

  • 对于50%的公司,税务机关目前尚未提供分支机构的税务登记证号。可以通过纳税人识别号、分支机构的城市和街道名称来查找这些分支机构。例如,“7724261610 москва мясницкая” → “Филиал ФГУП "Почта России" (г Москва)”。

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\CompanyStatus;
use MoveMoveIo\DaData\Enums\CompanyType;
use MoveMoveIo\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);    
    }

}

调用参数

构建status - 对组织状态的限制 为了只搜索有效的公司,将status数组构建为

...
use MoveMoveIo\DaData\Enums\CompanyStatus;
...
$status = [
    CompanyStatus::ACTIVE
];

仅搜索正在清算和已清算的公司

...
use MoveMoveIo\DaData\Enums\CompanyStatus;
...
$status = [
    CompanyStatus::LIQUIDATING,
    CompanyStatus::LIQUIDATED,
];

构建type - 对组织类型的限制。

仅搜索法人实体

...
use MoveMoveIo\DaData\Enums\CompanyStatus;
...
$type = CompanyStatus::LEGAL;

仅搜索个体工商户

...
use MoveMoveIo\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的“响应内容”部分找到完整响应描述的表格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\CompanyStatus;
use MoveMoveIo\DaData\Enums\CompanyType;
use MoveMoveIo\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 MoveMoveIo\DaData\Enums\CompanyScope;
use MoveMoveIo\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);
    }

}

调用参数

构建scope - **

响应说明

您可以在关联公司搜索的“响应内容”部分找到完整响应描述的表格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\CompanyScope;
use MoveMoveIo\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());
        }    
    }

}

处理银行

根据 БИК、SWIFT、INN 或注册号确定银行

DaDataBank::id(string $bank); 通过任何标识符查找银行:银行识别码、SWIFT、纳税人识别号、纳税人识别号加税务登记证号(分支机构)、注册号(由俄罗斯联邦中央银行赋予)。返回银行信息、结算账户、地址和状态(有效/清算)。

通过以下方式查找信贷机构:

  • 银行识别码;
  • SWIFT;
  • 纳税人识别号;
  • 纳税人识别号加税务登记证号;
  • 名称;

仅搜索精确匹配,对于部分匹配,请使用方法DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost)

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Facades\DaDataBank;

/**
 * Class DaData
 * @package App\DaData
 */
class DaData
{

   /**
   * DaData prompt bank by string
   *
   * @return void
   */
   public function promptExample() : void
    {
        $dadata = DaDataBank::id('044525225');
        
        dd($dadata);    
    }

}

调用参数

响应示例

array:1 [
  "suggestions" => array:1 [
    0 => array:3 [
      "value" => "ПАО Сбербанк"
      "unrestricted_value" => "ПАО Сбербанк"
      "data" => array:14 [
        "opf" => array:3 [
          "type" => "BANK"
          "full" => null
          "short" => null
        ]
        "name" => array:3 [
          "payment" => "ПАО СБЕРБАНК"
          "full" => null
          "short" => "ПАО Сбербанк"
        ]
        "bic" => "044525225"
        "swift" => "SABRRUMM"
        "inn" => "7707083893"
        "kpp" => "773601001"
        "okpo" => null
        "correspondent_account" => "30101810400000000225"
        "registration_number" => "1481"
        "payment_city" => "г Москва"
        "state" => array:4 [
          "status" => "ACTIVE"
          "actuality_date" => 1602547200000
          "registration_date" => 677376000000
          "liquidation_date" => null
        ]
        "rkc" => null
        "address" => array:3 [
          "value" => "г Москва, ул Вавилова, д 19"
          "unrestricted_value" => "117312, г Москва, Академический р-н, ул Вавилова, д 19"
          "data" => array:81 [
            "postal_code" => "117312"
            "country" => "Россия"
            "country_iso_code" => "RU"
            "federal_district" => "Центральный"
            "region_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
            "region_kladr_id" => "7700000000000"
            "region_iso_code" => "RU-MOW"
            "region_with_type" => "г Москва"
            "region_type" => "г"
            "region_type_full" => "город"
            "region" => "Москва"
            "area_fias_id" => null
            "area_kladr_id" => null
            "area_with_type" => null
            "area_type" => null
            "area_type_full" => null
            "area" => null
            "city_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
            "city_kladr_id" => "7700000000000"
            "city_with_type" => "г Москва"
            "city_type" => "г"
            "city_type_full" => "город"
            "city" => "Москва"
            "city_area" => "Юго-западный"
            "city_district_fias_id" => null
            "city_district_kladr_id" => null
            "city_district_with_type" => "Академический р-н"
            "city_district_type" => "р-н"
            "city_district_type_full" => "район"
            "city_district" => "Академический"
            "settlement_fias_id" => null
            "settlement_kladr_id" => null
            "settlement_with_type" => null
            "settlement_type" => null
            "settlement_type_full" => null
            "settlement" => null
            "street_fias_id" => "25f8f29b-b110-40ab-a48e-9c72f5fb4331"
            "street_kladr_id" => "77000000000092400"
            "street_with_type" => "ул Вавилова"
            "street_type" => "ул"
            "street_type_full" => "улица"
            "street" => "Вавилова"
            "house_fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
            "house_kladr_id" => "7700000000009240170"
            "house_type" => "д"
            "house_type_full" => "дом"
            "house" => "19"
            "block_type" => null
            "block_type_full" => null
            "block" => null
            "flat_type" => null
            "flat_type_full" => null
            "flat" => null
            "flat_area" => null
            "square_meter_price" => null
            "flat_price" => null
            "postal_box" => null
            "fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
            "fias_code" => "77000000000000009240170"
            "fias_level" => "8"
            "fias_actuality_state" => "0"
            "kladr_id" => "7700000000009240170"
            "geoname_id" => "524901"
            "capital_marker" => "0"
            "okato" => "45293554000"
            "oktmo" => "45397000"
            "tax_office" => "7736"
            "tax_office_legal" => "7736"
            "timezone" => "UTC+3"
            "geo_lat" => "55.7001865"
            "geo_lon" => "37.5802234"
            "beltway_hit" => "IN_MKAD"
            "beltway_distance" => null
            "metro" => array:3 [
              0 => array:3 [
                "name" => "Ленинский проспект"
                "line" => "Калужско-Рижская"
                "distance" => 0.8
              ]
              1 => array:3 [
                "name" => "Площадь Гагарина"
                "line" => "МЦК"
                "distance" => 0.8
              ]
              2 => array:3 [
                "name" => "Академическая"
                "line" => "Калужско-Рижская"
                "distance" => 1.5
              ]
            ]
            "qc_geo" => "0"
            "qc_complete" => "5"
            "qc_house" => "2"
            "history_values" => null
            "unparsed_parts" => null
            "source" => "117997, г Москва, ул Вавилова, 19"
            "qc" => "0"
          ]
        ]
        "phones" => null
      ]
    ]
  ]
]

响应说明

您可以在根据银行识别码、SWIFT、纳税人识别号或注册号查找银行的“响应内容”部分找到完整响应描述的表格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Facades\DaDataBank;

/**
 * Class DaData
 * @package App\DaData
 */
class DaData
{

   /**
   * DaData prompt bank by string
   *
   * @return void
   */
   public function promptExample() : void
    {
        try {
            $dadata = DaDataBank::id('044525225');

            dd($dadata);
        } catch (\Exception $e) {
            dd($e->getMessage());
        }    
    }

}

银行提示 API

DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost) 帮助用户在网页表单或应用程序中快速输入银行信息。

通过以下方式查找信贷机构:

  • 银行识别码;
  • SWIFT;
  • 纳税人识别号;
  • 纳税人识别号加税务登记证号;
  • 名称;

主要案例

  • 通过类型过滤:银行、非营利组织、分支机构,以及清算中心和其它组织;
  • 能够搜索有效银行和清算中的银行;
  • 考虑您的位置(城市级别的地理定位);

调用示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\BankStatus;
use MoveMoveIo\DaData\Enums\BankType;
use MoveMoveIo\DaData\Facades\DaDataBank;

/**
 * Class DaData
 * @package App\DaData
 */
class DaData
{

   /**
   * DaData prompt bank by string
   *
   * @return void
   */
   public function promptExample() : void
    {
        $dadata = DaDataBank::prompt('сбербанк', 1, [BankStatus::ACTIVE], [BankType::BANK]);
        
        dd($dadata);    
    }

}

调用参数

构建status - 对组织状态的限制 为了只搜索有效的银行,将status数组构建为

...
use MoveMoveIo\DaData\Enums\BankStatus;
...
$status = [
    BankStatus::ACTIVE
];

仅搜索正在清算和已清算的银行

...
use MoveMoveIo\DaData\Enums\BankStatus;
...
$status = [
    BankStatus::LIQUIDATING,
    BankStatus::LIQUIDATED,
];

构建type - 对银行类型的限制。MoveMoveIo\DaData\Enums\BankType中的可用组织类型

仅搜索银行和银行分支机构

...
use MoveMoveIo\DaData\Enums\BankType;
...
$type = [BankType::BANK, BankType::BANK_BRANCH]

仅搜索清算中心和地方清算中心

...
use MoveMoveIo\DaData\Enums\BankType;
...
$type = [BankType::BANK, BankType::RKC]

响应示例

array:1 [
  "suggestions" => array:1 [
    0 => array:3 [
      "value" => "ПАО Сбербанк"
      "unrestricted_value" => "ПАО Сбербанк"
      "data" => array:14 [
        "opf" => array:3 [
          "type" => "BANK"
          "full" => null
          "short" => null
        ]
        "name" => array:3 [
          "payment" => "ПАО СБЕРБАНК"
          "full" => null
          "short" => "ПАО Сбербанк"
        ]
        "bic" => "044525225"
        "swift" => "SABRRUMM"
        "inn" => "7707083893"
        "kpp" => "773601001"
        "okpo" => null
        "correspondent_account" => "30101810400000000225"
        "registration_number" => "1481"
        "payment_city" => "г Москва"
        "state" => array:4 [
          "status" => "ACTIVE"
          "actuality_date" => 1602547200000
          "registration_date" => 677376000000
          "liquidation_date" => null
        ]
        "rkc" => null
        "address" => array:3 [
          "value" => "г Москва, ул Вавилова, д 19"
          "unrestricted_value" => "117312, г Москва, Академический р-н, ул Вавилова, д 19"
          "data" => array:81 [
            "postal_code" => "117312"
            "country" => "Россия"
            "country_iso_code" => "RU"
            "federal_district" => "Центральный"
            "region_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
            "region_kladr_id" => "7700000000000"
            "region_iso_code" => "RU-MOW"
            "region_with_type" => "г Москва"
            "region_type" => "г"
            "region_type_full" => "город"
            "region" => "Москва"
            "area_fias_id" => null
            "area_kladr_id" => null
            "area_with_type" => null
            "area_type" => null
            "area_type_full" => null
            "area" => null
            "city_fias_id" => "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
            "city_kladr_id" => "7700000000000"
            "city_with_type" => "г Москва"
            "city_type" => "г"
            "city_type_full" => "город"
            "city" => "Москва"
            "city_area" => "Юго-западный"
            "city_district_fias_id" => null
            "city_district_kladr_id" => null
            "city_district_with_type" => "Академический р-н"
            "city_district_type" => "р-н"
            "city_district_type_full" => "район"
            "city_district" => "Академический"
            "settlement_fias_id" => null
            "settlement_kladr_id" => null
            "settlement_with_type" => null
            "settlement_type" => null
            "settlement_type_full" => null
            "settlement" => null
            "street_fias_id" => "25f8f29b-b110-40ab-a48e-9c72f5fb4331"
            "street_kladr_id" => "77000000000092400"
            "street_with_type" => "ул Вавилова"
            "street_type" => "ул"
            "street_type_full" => "улица"
            "street" => "Вавилова"
            "house_fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
            "house_kladr_id" => "7700000000009240170"
            "house_type" => "д"
            "house_type_full" => "дом"
            "house" => "19"
            "block_type" => null
            "block_type_full" => null
            "block" => null
            "flat_type" => null
            "flat_type_full" => null
            "flat" => null
            "flat_area" => null
            "square_meter_price" => null
            "flat_price" => null
            "postal_box" => null
            "fias_id" => "93409d8c-d8d4-4491-838f-f9aa1678b5e6"
            "fias_code" => "77000000000000009240170"
            "fias_level" => "8"
            "fias_actuality_state" => "0"
            "kladr_id" => "7700000000009240170"
            "geoname_id" => "524901"
            "capital_marker" => "0"
            "okato" => "45293554000"
            "oktmo" => "45397000"
            "tax_office" => "7736"
            "tax_office_legal" => "7736"
            "timezone" => "UTC+3"
            "geo_lat" => "55.7001865"
            "geo_lon" => "37.5802234"
            "beltway_hit" => "IN_MKAD"
            "beltway_distance" => null
            "metro" => array:3 [
              0 => array:3 [
                "name" => "Ленинский проспект"
                "line" => "Калужско-Рижская"
                "distance" => 0.8
              ]
              1 => array:3 [
                "name" => "Площадь Гагарина"
                "line" => "МЦК"
                "distance" => 0.8
              ]
              2 => array:3 [
                "name" => "Академическая"
                "line" => "Калужско-Рижская"
                "distance" => 1.5
              ]
            ]
            "qc_geo" => "0"
            "qc_complete" => "5"
            "qc_house" => "2"
            "history_values" => null
            "unparsed_parts" => null
            "source" => "117997, г Москва, ул Вавилова, 19"
            "qc" => "0"
          ]
        ]
        "phones" => null
      ]
    ]
  ]
]

响应说明

您可以在银行提示API的“响应内容”部分找到完整响应描述的表格。

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\DaData\Enums\BankStatus;
use MoveMoveIo\DaData\Enums\BankType;
use MoveMoveIo\DaData\Facades\DaDataBank;

/**
 * Class DaData
 * @package App\DaData
 */
class DaData
{

   /**
   * DaData prompt bank by string
   *
   * @return void
   */
   public function promptExample() : void
    {
        try {
            $dadata = DaDataBank::prompt('сбербанк', 1, [BankStatus::ACTIVE], BankType::BANK);

            dd($dadata);
        } catch (\Exception $e) {
            dd($e->getMessage());
        }    
    }

}

处理护照

根据公安部登记簿进行检查

DaDataPassport::standardization(string $id) 根据公安部无效护照目录检查护照。

主要案例

  • 检查系列号和号码格式;
  • 根据公安部无效护照目录检查护照;

调用示例

<?php

namespace App;

use MoveMoveIo\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);
    }

}

调用参数

响应示例

array:1 [
  0 => array:4 [
    "source" => "4509 235857"
    "series" => "45 09"
    "number" => "235857"
    "qc" => 0
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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 MoveMoveIo\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);   
    }

}

调用参数

响应示例

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"
      ]
    ]
  ]
]

响应说明

异常

调用方法时,您可以处理异常代码及其消息

您可以从异常消息中获取更多详细信息。

获取异常消息示例

<?php

namespace App;

use MoveMoveIo\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());
        }    
    }

}