dadata/dadata-api-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dadata/dadata-api-bundle

Composer 安装命令:

composer require dadata/dadata-api-bundle

包简介

Symfony Bundle for http://dadata.ru APIs client library

关键字:

README 文档

README

Symfony Bundle для работы с библиотекой Dadata API Client. Позволяет находить организации и банки по реквизитам, а так же полную информацию по адресу.

Требования

Установка

Вы можете использовать Composer или просто Скачать Релиз

Composer

Рекомендуемый метод установки через composer. Следуйте инструкции по установке если у вас не установлен composer.

Выполните команды в консоли для установки библиотеки:

#!console

composer require dadata/dadata-api-bundle

Скачать Релиз

Если вы не хотите использовать composer, вы можете скачать пакет с библиотекой в архиве. Страница с релизами содержит список стабильных версий. Скачайте любой из доступных релизов на этой странице.

Распакуйте содержимое архива в папку vendor и добавьте в composer.json пути к классам:

#!json

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

Настройка

Добавьте Bundle в файле app/AppKernel.php

#!php

<?php

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            //...
            new DadataApiBundle\DadataApiBundle()
        );

        return $bundles;
    }

//......
}

Добавьте настройки в файл app/config/config.yml

#!yaml

dadata_api:
    api_key: 125d1r43bef8brtf4b0c1563509798156f8bbn684

Примеры

для начала работы нужно получить API Client и REST сервис в вашем контроллере или модели:

#!php

<?php
class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {
        $dadata = $this->get('dadata.client');
        $rest = $dadata->getService('Rest');
    }
}

Получение данных об организации по ИНН

#!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)

dadata/dadata-api-bundle 适用场景与选型建议

dadata/dadata-api-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19.85k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 04 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「DadataBundle」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 dadata/dadata-api-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 dadata/dadata-api-bundle 我们能提供哪些服务?
定制开发 / 二次开发

基于 dadata/dadata-api-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 19.85k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2016-04-27