Работа с сервисом DaData в пакете commercito/dadata

Работа с сервисом DaData в пакете commercito/dadata

Существует удобный php-пакет для работы с популярным сервисом dadata.ru. Он называется commercito/dadata. Используя его вы сможете в удобно отсылать запросы и получать аккуратно отформатированные ответы. Устанавливается он через Composer с сервиса packagist.org, но так же вы можете его клонировать с gitlab.com. Давайте рассмотрим что это такое и как им пользоваться.

Что из себя представляет пакет

Пакет commercito/dadata представляет из себя:

  1. Основной класс DaData, посредством которого и происходит взаимодействие с dadata.ru. Внутри него существуют методы-фабрики для целевого обращения к определенному сегменту сервиса.
  2. Набор специализированных классов, унаследованных от абстрактного предка и содержащих в себе методы-геттеры для получения из ответа одного определенного ключа.
  3. Специальный класс - генератор тел методов-геттеров созданных по принципу формирования документации PhpDocumentor.

Алгоритм работы

  1. подключаем класс DaData
  2. создаем конфиг в виде массива с ключами
    1. token
    2. secret
    3. url
  3. создаем объект класса на основе конфига
  4. вызываем нужный метод с данными
  5. получаем данные в нужном формате

Детализация ответа сервиса

Ответ сервиса dadata.ru может быть детализирован по 4-м уровням с помощью соответствующих методов, каждый из которых возвращает ассоциативный массив:

  1. чистый ответ полностью: getResponse()
  2. не пустые ключи ответа: getNotEmpty()
  3. важные ключи ответа: getImportantValues()
  4. пример ответа для класса: getExample()

Получение конкретного ключа

Из ответа сервиса можно получить конкретный ключ путем использования геттера построенного на его основе. Например, пары ключ => геттер

  • region_fias_id => $result->getRegionFiasId()
  • kladr_id => $result->getKladrId()
  • okato => $result->getOkato()
  • geo_lat => $result->getGeoLat()

Пример работы с commercito/dadata

Пример работы с commercito/dadata

Основные методы-фабрики

Основные методы-фабрики commercito/dadata


Адреса пакета