dadata/apiclient

http://dadata.ru API 的客户端库

2.0.2 2021-05-14 11:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 03:38:41 UTC


README

用于操作 http://dadata.ru 网站的 REST API 的库。允许根据企业信息查找组织和银行,以及根据地址获取完整信息。

要求

安装

您可以使用 Composer 或直接 下载发行版

Composer

推荐通过 Composer 安装。如果尚未安装 Composer,请遵循 安装说明

在控制台中执行以下命令安装库

#!console

composer require dadata/apiclient

下载发行版

如果您不想使用 Composer,可以下载包含库的存档包。发行版页面包含稳定版本的列表。您可以在此页面上 下载任何可用的发行版

解压缩存档内容到 vendor 文件夹,并在 composer.json 中添加类路径

#!json

"classmap": [
   "vendor/google/apiclient/src",
   "vendor/dadata/apiclient/src"
]  

示例

要开始工作,需要获取 API 客户端和 REST 服务

#!php

<?php

$client = new \Dadata_Client(array('api_key' => 'YOUR_API_KEY', 'content_type' => 'application/json'));
$rest = new \Dadata_Service_Rest($client);

通过 INN 获取组织数据

#!php

<?php

   $suggest = $rest->suggest->party(array('query' => '7604254988'));
   foreach($suggest->getSuggestions() as $party){
      $organization = $party->getData(); // получение данных об организации
      $name = $organization->getValue(); // Наименование организации одной строкой (для списка подсказок)
      $nameFull = $organization->getUnrestrictedValue(); // Наименование организации одной строкой (полное)
      $address = $organization->getAddress(); // получение адреса организации
   }

获取地址

#!php

<?php

   $suggest = $rest->suggest->address(array('query' => 'Ярославль Победы 38', 'count' => 10));
   foreach($suggest->getSuggestions() as $address){
      $value = $address->getValue(); // Адрес одной строкой (как показывается в списке подсказок)
      $unrestrictedValue = $address->getUnrestrictedValue(); // Адрес одной строкой (полный, от региона)
      $data = $address->getData(); // Получение подробных данных об адресе в виде объекта.
   }      

通过 БИК 获取银行数据

#!php

<?php

   $suggest = $rest->suggest->bank(array('query' => '046577964'));
   foreach($suggest->getSuggestions() as $bank){
      $bankName = $bank->getValue(); // Наименование банка одной строкой (для списка подсказок)
      $bankNameFull = $bank->getUnrestrictedValue(); // Наименование банка одной строкой (полное)
      $data = $item->getData(); // Подробные данные о банке.
      $bankAddress = $item->getData()->getAddress(); // Адрес банка
      $rkc = $item->getData()->getRkc(); // Расчетно-кассовый центр. Объект такой же структуры, как сам банк
      $rkcAddress = $item->getData()->getRkc()->getAddress(); // Адрес расчетно-кассового центра
   }     

通过 IP 定位地理位置

#!php

<?php

   $geo = $rest->geo->location(array('ip' => '128.74.215.229'));
   $location = $geo->getLocation();
   $address = $location->getValue(); // Получение адреса одной строкой (для списка подсказок)
   $addressFull = $location->getUnrestrictedValue(); // Получение адреса одной строкой (полного)
   $data = $location->getData(); // Получение подробных данных об адресе в виде объекта
   $coords = $data->getCoords(); // Получение точных координат в виде строки (lat,lon)

Symfony DadataApi Bundle

使用现成的 DadataApiBundle 在 Symfony 框架中工作。