- Notifications
You must be signed in to change notification settings - Fork12
Бандл для работы с API ДаДата.
License
Velhron/dadata-bundle
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Symfony DaDataBundle предназначен для работы с API сервисаДаДата.
Данный бандл может быть установлен с помощьюComposer.
Откройте командную консоль, перейдите в каталог вашего проекта и выполните:
composer require velhron/dadata-bundle
Откройте командную консоль, перейдите в каталог вашего проекта и выполните следующую команду, чтобы загрузить последнююстабильную версию этого пакета:
composer require velhron/dadata-bundle
Включите пакет, добавив его в список зарегистрированных пакетов в файлеapp/AppKernel.php
вашего проекта:
<?php// app/AppKernel.php// ...class AppKernelextends Kernel{publicfunctionregisterBundles() {$bundles =array(// ...newVelhron\DadataBundle\VelhronDadataBundle(), );// ... }// ...}
Создайте файл конфигурацииconfig/packages/dadata.yaml
velhron_dadata:token:'token'secret:'secret'# Если у вас инфраструктура состоит из n-сервисов, которые обращаются в dadata, то для контроля запросов в dadata# в одной точке, Вам возможно потребуется прокси-кеш. Для замены оригинальных url от dadata на Ваш прокси, можете# заполнить следующие необязательные параметры#base_general_url: 'https://proxy_dadata.ru/proxy/v2'#base_cleaner_url: 'https://cleaner.proxy_dadata.ru/proxy/v1/clean'#base_suggestions_url: 'https://suggestions.proxy_dadata.ru/suggestions/proxy/4_1/rs'
Прежде всего, необходимо подключить для работы нужный вам сервис. Например:
<?php// ...useVelhron\DadataBundle\Service\DadataSuggest;class BaseControllerextends AbstractController{private$dadataSuggest;publicfunction__construct(DadataSuggest$dadataSuggest) {$this->dadataSuggest =$dadataSuggest; }}
Всего сервисов - 5, а именно:
DadataSuggest
-подсказкиDadataClean
-стандартизацияDadataGeolocate
-обратное геокодированиеDadataIplocate
-город по IP-адресуDadataGeneral
- остальные методы
Все доступные методы можно посмотреть в самих классах.
Дополнительные параметры обычно передаются вторым параметром в виде ассоциативного массива.Все параметры аналогичны тем, что указаны на сайте ДаДаты.
Например, подсказки по адресам:
$response =$dadataSuggest->suggestAddress('москва хабар', ['count' =>10]);$address =$response[0]->value;
Подсказки по организациям:
$response =$dadataSuggest->suggestParty('сбербанк', ['count' =>2]);$inn =$response[0]->inn;
Например, стандартизация ФИО:
$response =$dadataClean->cleanName('Срегей владимерович иванов');$name =$response->result;
Например, адрес по координатам:
$response =$dadataGeolocate->geolocateAddress(55.878,37.653);$address =$response[0]->value;
Получение города по IP адресу:
$response =$dadataIplocate->iplocateAddress('46.226.227.20');$city =$response->value;
Получение адреса по коду КЛАДР:
$response =$dadataSuggest->findAddress('77000000000268400');$address =$response[0]->value;
$response =$dadataSuggest->findAffiliatedParty('7736207543');$value =$response[0]->value;
MIT License © Velhron
About
Бандл для работы с API ДаДата.