Download the PHP package darkeum/darklyy-dadata without Composer

On this page you can find all versions of the php package darkeum/darklyy-dadata. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package darklyy-dadata

DaData для Darklyy

DaData Darklyy Package - PHP SDK пакет для взаимодействия с API DaData.ru

Требования

Установка

Вы можете установить пакет через composer:

Публикация конфигурационного файла. Выполните darksander команду

Настройка проекта осществляется через .env вашего проекта. Вам необходимо указать три параметра

Пример .env

Методы

Работа с адресами

Стандартизация адреса

DaDataAddress::standardization(string $address) - разбивает адрес из строки по отдельным полям (регион, город, улица, дом, квартира) согласно КЛАДР/ФИАС. Определяет почтовый индекс, часовой пояс, ближайшее метро, координаты, стоимость квартиры и другую информацию об адресе.

Основные кейсы:

Пример вызова

Пример ответа

Описани ответа

Название Длина Описание
source 250 Исходный адрес одной строкой
result 500 Стандартизованный адрес одной строкой
postal_code 6 Индекс
country 120 Страна
country_iso_code 2 ISO-код страны
federal_district 20 Федеральный округ
region_fias_id 36 ФИАС-код региона
region_kladr_id 19 КЛАДР-код региона
region_iso_code 6 ISO-код региона
region_with_type 131 Регион с типом
region_type 10 Тип региона (сокращенный)
region_type_full 50 Тип региона
region 120 Регион
area_fias_id 36 ФИАС-код района
area_kladr_id 19 КЛАДР-код района
area_with_type 131 Район в регионе с типом
area_type 10 Тип района в регионе (сокращенный)
area_type_full 50 Тип района в регионе
area 120 Район в регионе
city_fias_id 36 ФИАС-код города
city_kladr_id 19 КЛАДР-код города
city_with_type 131 Город с типом
city_type 10 Тип города (сокращенный)
city_type_full 50 Тип города
city 120 Город
city_area 120 Административный округ (только для Москвы)
city_district_fias_id 36 ФИАС-код района города (заполняется, только если район есть в ФИАС)
city_district_kladr_id 19 КЛАДР-код района города (не заполняется)
city_district_with_type 131 Район города с типом
city_district_type 10 Тип района города (сокращенный)
city_district_type_full 50 Тип района города
city_district 120 Район города
settlement_fias_id 36 ФИАС-код населенного пункта
settlement_kladr_id 19 КЛАДР-код населенного пункта
settlement_with_type 131 Населенный пункт с типом
settlement_type 10 Тип населенного пункта (сокращенный)
settlement_type_full 50 Тип населенного пункта
settlement 120 Населенный пункт
street_fias_id 36 ФИАС-код улицы
street_kladr_id 19 КЛАДР-код улицы
street_with_type 131 Улица с типом
street_type 10 Тип улицы (сокращенный)
street_type_full 50 Тип улицы
street 120 Улица
house_fias_id 36 ФИАС-код дома
house_kladr_id 19 КЛАДР-код дома
house_type 10 Тип дома (сокращенный)
house_type_full 50 Тип дома
house 50 Дом
block_type 10 Тип корпуса/строения (сокращенный)
block_type_full 50 Тип корпуса/строения
block 50 Корпус/строение
flat_type 10 Тип квартиры (сокращенный)
flat_type_full 50 Тип квартиры
flat 50 Квартира
flat_area 50 Площадь квартиры
square_meter_price 50 Рыночная стоимость м²
flat_price 50 Рыночная стоимость квартиры
postal_box 50 Абонентский ящик
fias_id 36 ФИАС-код адреса (идентификатор ФИАС)
HOUSE.HOUSEGUID — если дом найден в ФИАС
ADDROBJ.AOGUID — в противном случае
fias_code Иерархический код адреса в ФИАС (СС+РРР+ГГГ+ППП+СССС+УУУУ+ДДДД)
fias_level 2 Уровень детализации, до которого адрес найден в ФИАС
fias_actuality_state Признак актуальности адреса в ФИАС
kladr_id 19 КЛАДР-код адреса
capital_marker 1 Признак центра района или региона
okato 11 Код ОКАТО
oktmo 11 Код ОКТМО
tax_office 4 Код ИФНС для физических лиц
tax_office_legal 4 Код ИФНС для организаций
timezone 50 Часовой пояс города для России, часовой пояс страны — для иностранных адресов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6
geo_lat 12 Координаты: широта
geo_lon 12 Координаты: долгота
beltway_hit 8 Внутри кольцевой?
beltway_distance 3 Расстояние от кольцевой в км. Заполнено, только если beltway_hit = OUT_MKAD или OUT_KAD, иначе пустое
qc_geo 5 Код точности координат
qc_complete 5 Код пригодности к рассылке
qc_house 5 Признак наличия дома в ФИАС
qc 5 Код проверки адреса
unparsed_parts 250 Нераспознанная часть адреса. Для адреса «Москва, Митинская улица, 40, вход с торца» вернет «ВХОД, С, ТОРЦА»
metro Список ближайших станций метро (до трёх штук)

Координаты есть у 97% домов в Москве, 91% в Санкт-Петербурге, 69% в других городах-миллиониках и 47% по остальной России. Площадь и стоимость есть у 70% квартир в России.

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Подсказки по адресам

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» → «г Москва, ул Магнитогорская»).

Основные кейсы:

Важно знать, что использовать данный метод не рекомендуется если вы

Подсказки не подходят для автоматической обработки адресов. Они предлагают варианты, но не гарантируют, что угадали правильно. Поэтому окончательное решение всегда должен принимать человек.

Для автоматической обработки и транслитерации используйте DaDataAddress::standardization(string $address) метод.

Параметры вызова

Название Тип Optional Default value Описание
query string false Текст запроса
count int true 10 Колличество результатов. Максимум 20
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN
locations array true [] Ограничение по родителю (страна, регион, район, город, улица)
locations_geo array true [] Ограничение по радиусу окружности
locations_boost array true [] Приоритет города при ранжировании
from_bound array true [] Гранулярные подсказки по адресу
to_bound array true [] Гранулярные подсказки по адресу

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив данных аналагичный структуре выдачи метода DaDataAddress::standardization(string $address)

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Определение адреса по координатам

DaDataAddress::geolocate(float $lat, float $lon, int $count, int $radius_meters, int $language) Находит ближайшие адреса (дома, улицы, города) по географическим координатам. Только для России.

Параметры вызова

Название Тип Optional Default value Описание
lat float false Географическая широта
lon float false Географическая долгота
count int true 10 Количество результатов (максимум — 20)
radius_meters int true 100 Радиус поиска в метрах (максимум – 1000)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив данных аналагичный структуре выдачи метода DaDataAddress::standardization(string $address)

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Определение адреса по IP

DaDataAddress::iplocate(string $ip, int $count, int $language) определяет город по IP адресу.

Основные кейсы:

Параметры вызова

Название Тип Optional Default value Описание
ip string false IPv4 или IPv6
count int true 10 Количество результатов (максимум — 20)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив данных аналагичный структуре выдачи метода DaDataAddress::standardization(string $address)

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Определение адреса по КЛАДР или ФИАС коду

DaDataAddress::id(string $ip, int $count, int $language) определяет адреса по КЛАДР или ФИАС коду.

Основные кейсы:

Параметры вызова

Название Тип Optional Default value Описание
id string false Текст запроса
count int true 10 Количество результатов (максимум — 20)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив данных аналагичный структуре выдачи метода DaDataAddress::standardization(string $address)

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Определение ближайшего отделения Почты России по адресу

DaDataAddress::postalUnitByAddress(string $address, int $count, int $language) определяет ближайшее почтовые отделения по адресу

Если интернет-магазин доставляет покупки почтой по России, хорошо бы подсказать человеку, где и когда он может забрать посылку. В этом поможет справочник почтовых отделений — в нём есть точный адрес, координаты и часы работы отделения, а ещё отметка, если оно временно закрыто.

Параметры вызова

Название Тип Optional Default value Описание
address string false Адресс
count int true 10 Количество результатов (максимум — 20)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив рассмотренный ниже

Описание вложенного массива data

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
postal_code Индекс
is_closed true, если отделение закрыто, иначе false
type_code Тип отделения
address_str Адрес одной строкой
address_kladr_id КЛАДР-код населённого пункта
address_qc Код проверки адреса
geo_lat Широта
geo_lon Долгота
schedule_mon Режим работы в понедельник
schedule_tue Режим работы во вторник
schedule_wed Режим работы в среду
schedule_thu Режим работы в четверг
schedule_fri Режим работы в пятницу
schedule_sat Режим работы в субботу
schedule_sun Режим работы в воскресенье

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Определение отделения Почты России почтовому индексу

DaDataAddress::postalUnitById(int $code, int $count, int $language) определяет адреса почтовых отделений почтовому коду

Параметры вызова

Название Тип Optional Default value Описание
code int false Индекс
count int true 10 Количество результатов (максимум — 20)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив рассмотренный ниже

Описание вложенного массива data

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
postal_code Индекс
is_closed true, если отделение закрыто, иначе false
type_code Тип отделения
address_str Адрес одной строкой
address_kladr_id КЛАДР-код населённого пункта
address_qc Код проверки адреса
geo_lat Широта
geo_lon Долгота
schedule_mon Режим работы в понедельник
schedule_tue Режим работы во вторник
schedule_wed Режим работы в среду
schedule_thu Режим работы в четверг
schedule_fri Режим работы в пятницу
schedule_sat Режим работы в субботу
schedule_sun Режим работы в воскресенье

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Определение отделения Почты России по координатам

DaDataAddress::postalUnitByGeoLocate(float $lat, float $lon, int $radius_meters, int $count, int $language) определяет адреса почтовых отделений по координатам

Параметры вызова

Название Тип Optional Default value Описание
lat int false Широта
lon int false Долгота
radius_meters int false 1000 Радиус поиска в метрах. Максимум 1000
count int true 10 Количество результатов (максимум — 20)
language int true 1 Язык ответа. Он может быть русский значение language = 1 или английским, значение language = 2. Мы призываем использовать константы Language::RU или Language::EN

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив рассмотренный ниже

Описание вложенного массива data

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
postal_code Индекс
is_closed true, если отделение закрыто, иначе false
type_code Тип отделения
address_str Адрес одной строкой
address_kladr_id КЛАДР-код населённого пункта
address_qc Код проверки адреса
geo_lat Широта
geo_lon Долгота
schedule_mon Режим работы в понедельник
schedule_tue Режим работы во вторник
schedule_wed Режим работы в среду
schedule_thu Режим работы в четверг
schedule_fri Режим работы в пятницу
schedule_sat Режим работы в субботу
schedule_sun Режим работы в воскресенье

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Определение идентификатора города в СДЭК, Boxberry и DPD

DaDataAddress::delivery(string $code) помогает решить сзадачу определения идентификатора города в СДЭК, Boxberry и DPD

Службы доставки часто используют собственные идентификаторы городов, и требуют от магазина указывать их в заказе.

Метод DaDataAddress::delivery(string $code) определяет идентификатор города в службе доставке на основании КЛАДР-кода города.

Параметры вызова

Название Тип Optional Default value Описание
code string false Код

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив рассмотренный ниже

Описание вложенного массива data

Название Описание
kladr_id КЛАДР-код города
fias_id ФИАС-код города
boxberry_id Идентификатор города по справочнику Boxberry
cdek_id Идентификатор города по справочнику СДЭК
dpd_id Идентификатор города по справочнику DPD

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Адрес в ФИАС по идентификатору

DaDataAddress::fias(string $code) Находит адрес в справочнике ФИАС по коду КЛАДР или ФИАС.

ФИАС-коды домов иногда меняются, а метод ищет только по актуальным кодам. Поэтому рекомендуем помимо ФИАС-кода дома сохранять адрес одной строкой — иначе не получится восстановить адрес, когда ФИАС-код изменится.

По КЛАДР-коду метод ищет только до улицы, потому что в ФИАС нет КЛАДР-кодов домов.

Параметры вызова

Название Тип Optional Default value Описание
code string false ФИАС код

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, с индексом)
data Вложенный массив данных аналагичный структуре выдачи метода DaDataAddress::standardization(string $address)

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с именами

ФИО

DaDataName::fias(string $name) Разбивает ФИО из строки по отдельным полям (фамилия, имя, отчество). Определяет пол и склоняет по падежам.

Основные кейсы

Параметры вызова

Название Тип Optional Default value Описание
name string false ФИО

Пример вызова

Пример ответа

Описание ответа

Название Описание
source Исходное ФИО одной строкой
result Стандартизованное ФИО одной строкой
result_genitive ФИО в родительном падеже (кого?)
result_dative ФИО в дательном падеже (кому?)
result_ablative ФИО в творительном падеже (кем?)
surname Фамилия
name Имя
patronymic Отчество
gender Пол. М - мужской (male), Ж - женский (female), НД - не удалось однозначно определить
qc Код проверки. Таблица кодов проверка ниже

Коды проверки (параметр ответа qc)

qc Нужна ручная проверка? Описание
0 нет Исходное значение распознано уверенно
2 нет Исходное значение пустое или заведомо «мусорное»
1 да Исходное значение распознано с допущениями или не распознано

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Автодополнение при вводе («подсказки»)

DaDataName::prompt(string $name, int $count, int $gender, array $parts) Помогает человеку быстро ввести ФИО на веб-форме или в приложении.

Основные кейсы

Метод не предназначен для выполнения следующих задач

Подсказки не подходят для автоматической обработки ФИО. Они предлагают варианты, но не гарантируют, что угадали правильно. Поэтому окончательное решение всегда должен принимать человек.

Для автоматической обработки, транслитерации и склонения по падежам используйте DaDataName::fias(string $name) метод ФИО, описание которого вы найдете выше.

Параметры вызова

Название Тип Optional Default value Описание
query string false Текст запроса
count int true 10 Количество результатов. Максимум 20
gender int true 0 Пол. Для управления пола, мы советуем использовать константы класса Gender, Неизвестный пол Gender::UNKNOWN, Gender::MALE - мужской, Gender::FEMALE - женский
parts array true [] Подсказки по фасти ФИО

Формирования массива подсказок по фасти ФИО parts Для формирования, воспользуйтесь набором констант классаа Parts.

Только имена:

Имена и отчества:

Имена и фамилии:

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Исходное ФИО одной строкой
unrestricted_value Стандартизованное ФИО одной строкой
data['surname'] Фамилия
data['name'] Имя
data['patronymic'] Отчество
data['gender'] Пол. MALE - мужской (male), FEMALE - женский (female), UNKNOWN - не удалось однозначно определить
data['source'] Не используется
date['qc'] Код проверки. 0 - все части ФИО известны, 1 - в ФИО есть неизвестная часть

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с электронными (email) адресами

Email

DaDataName::email(string $email) Исправляет опечатки и проверяет на одноразовый адрес. Классифицирует адреса на личные, корпоративные и «ролевые».

Основные кейсы

Параметры вызова

Название Тип Optional Default value Описание
email string false Email

Пример вызова

Пример ответа

Описание ответа

Название Описание
source Исходный email
email Стандартизованный email
local Локальная часть адреса (то, что до @)
domain Домен (то, что послу @)
type Тип адреса. PERSONAL — личный (@mail.ru, @yandex.ru). CORPORATE — корпоративный (@myshop.ru). ROLE — «ролевой» (info@, support@). DISPOSABLE — одноразовый (@temp-mail.ru)
qc Код проверки

Коды проверки (параметр ответа qc)

qc Нужна ручная проверка? Описание
0 нет Корректное значение. Соответствует общепринятым правилам, реальное существование адреса не проверяется
2 нет Пустое или заведомо «мусорное» значение
3 нет «Одноразовый» адрес. Домены 10minutemail.com, getairmail.com, temp-mail.ru и аналогичные
1 да Некорректное значение. Не соответствует общепринятым правилам
4 да Исправлены опечатки

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Подсказки по email

DaDataEmail::prompt(string $email, int $count) Помогает человеку быстро ввести адрес электоронной почты на веб-форме или в приложении.

Основные кейсы

Метод не предназначен для выполнения следующих задач

Подсказки не подходят для автоматической обработки email. Они предлагают варианты, но не гарантируют, что угадали правильно. Поэтому окончательное решение всегда должен принимать человек.

Для автоматической обработки и классификации адресов используйте DaDataName::email(string $email)

Параметры вызова

Название Тип Optional Default value Описание
email string false Текст запроса
count int true 10 Количество результатов. Максимум 20

Пример вызова

Пример ответа

Описание ответа

Название Описание
value Email одной строкой
unrestricted_value Равно полю value
data['local'] Локальная часть адреса (то, что до @)
data['domain'] Домен (то, что послу @)
data['type'] Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод
data['source'] Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод
data['qc'] Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с телефонными номерами

Проверить телефон

DaDataPhone::standardization(string $phone); Проверяет телефон по справочнику Россвязи, определяет оператора с учётом переноса номеров, заполняет страну, город и часовой пояс.

Основные кейсы

Параметры вызова

Название Тип Optional Default value Описание
phone string false Текст запроса

Пример вызова

Пример ответа

Описание ответа

Название Описание
source Строка запроса
type Тип телефона, может возвращать: Мобильный, Стационарный, Прямой мобильный, Колл-центр, Неизвестный.
phone Стандартизованный телефон одной строкой
country_code Код страны
city_code Код города / DEF-код
number Локальный номер телефона
extension Добавочный номер
provider Оператор связи (только для России)
country Страна
region Регион (только для России)
city Город (только для стационарных телефонов)
timezone Часовой пояс города для России, часовой пояс страны — для иностранных телефонов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6
qc_conflict Признак конфликта телефона с адресом. 0 - Телефон соответствует адресу, 2 - Города адреса и телефона отличаются, 3 - Регионы адреса и телефона отличаются
qc Код проверки

Коды проверки qc

Код Треубется ручная проверка? Описание
0 Нет Российский телефон, распознан уверенно
7 Нет Иностранный телефон, распознан уверенно
2 Нет Телефон пустой или заведомо «мусорный»
1 Да Телефон распознан с допущениями или не распознан
3 Да Обнаружено несколько телефонов, распознан первый

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с компаниями

Организация по ИНН

DaDataCompany::id(string $id', int $count, string $kpp, int $branch_type, int $type) - Находит компанию или индивидуального предпринимателя по ИНН, КПП, ОГРН. Возвращает реквизиты компании, учредителей, руководителей, сведения о налоговой, ПФР и ФСС, финансы, лицензии, реестр МСП и другую информацию о компании.

Находит компанию или ИП по ИНН или ОГРН. Возвращает все доступные сведения о компании, в отличие от метода suggest, который возвращает только базовые поля.

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
id string false Текст запроса
count int true 10 Количество результатов. Максимум 20
kpp int true null КПП для поиска по филиалам, см.``
branch_type int true 1 Головная организация BranchType::MAIN или филиал BranchType::BRANCH
type int true 1 Юрлицо CompanyType::LEGAL или индивидуальный предприниматель CompanyType::INDIVIDUAL

Пример ответа

Описание ответа

Таблицу описания полного ответа вы можете получить на старнице Организация по ИНН или ОГРН в разделе "Что в ответе".

Описани ответа data['address']

Название Длина Описание
source 250 Исходный адрес одной строкой
result 500 Стандартизованный адрес одной строкой
postal_code 6 Индекс
country 120 Страна
country_iso_code 2 ISO-код страны
federal_district 20 Федеральный округ
region_fias_id 36 ФИАС-код региона
region_kladr_id 19 КЛАДР-код региона
region_iso_code 6 ISO-код региона
region_with_type 131 Регион с типом
region_type 10 Тип региона (сокращенный)
region_type_full 50 Тип региона
region 120 Регион
area_fias_id 36 ФИАС-код района
area_kladr_id 19 КЛАДР-код района
area_with_type 131 Район в регионе с типом
area_type 10 Тип района в регионе (сокращенный)
area_type_full 50 Тип района в регионе
area 120 Район в регионе
city_fias_id 36 ФИАС-код города
city_kladr_id 19 КЛАДР-код города
city_with_type 131 Город с типом
city_type 10 Тип города (сокращенный)
city_type_full 50 Тип города
city 120 Город
city_area 120 Административный округ (только для Москвы)
city_district_fias_id 36 ФИАС-код района города (заполняется, только если район есть в ФИАС)
city_district_kladr_id 19 КЛАДР-код района города (не заполняется)
city_district_with_type 131 Район города с типом
city_district_type 10 Тип района города (сокращенный)
city_district_type_full 50 Тип района города
city_district 120 Район города
settlement_fias_id 36 ФИАС-код населенного пункта
settlement_kladr_id 19 КЛАДР-код населенного пункта
settlement_with_type 131 Населенный пункт с типом
settlement_type 10 Тип населенного пункта (сокращенный)
settlement_type_full 50 Тип населенного пункта
settlement 120 Населенный пункт
street_fias_id 36 ФИАС-код улицы
street_kladr_id 19 КЛАДР-код улицы
street_with_type 131 Улица с типом
street_type 10 Тип улицы (сокращенный)
street_type_full 50 Тип улицы
street 120 Улица
house_fias_id 36 ФИАС-код дома
house_kladr_id 19 КЛАДР-код дома
house_type 10 Тип дома (сокращенный)
house_type_full 50 Тип дома
house 50 Дом
block_type 10 Тип корпуса/строения (сокращенный)
block_type_full 50 Тип корпуса/строения
block 50 Корпус/строение
flat_type 10 Тип квартиры (сокращенный)
flat_type_full 50 Тип квартиры
flat 50 Квартира
flat_area 50 Площадь квартиры
square_meter_price 50 Рыночная стоимость м²
flat_price 50 Рыночная стоимость квартиры
postal_box 50 Абонентский ящик
fias_id 36 ФИАС-код адреса (идентификатор ФИАС)
HOUSE.HOUSEGUID — если дом найден в ФИАС
ADDROBJ.AOGUID — в противном случае
fias_code Иерархический код адреса в ФИАС (СС+РРР+ГГГ+ППП+СССС+УУУУ+ДДДД)
fias_level 2 Уровень детализации, до которого адрес найден в ФИАС
fias_actuality_state Признак актуальности адреса в ФИАС
kladr_id 19 КЛАДР-код адреса
capital_marker 1 Признак центра района или региона
okato 11 Код ОКАТО
oktmo 11 Код ОКТМО
tax_office 4 Код ИФНС для физических лиц
tax_office_legal 4 Код ИФНС для организаций
timezone 50 Часовой пояс города для России, часовой пояс страны — для иностранных адресов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6
geo_lat 12 Координаты: широта
geo_lon 12 Координаты: долгота
beltway_hit 8 Внутри кольцевой?
beltway_distance 3 Расстояние от кольцевой в км. Заполнено, только если beltway_hit = OUT_MKAD или OUT_KAD, иначе пустое
qc_geo 5 Код точности координат
qc_complete 5 Код пригодности к рассылке
qc_house 5 Признак наличия дома в ФИАС
qc 5 Код проверки адреса
unparsed_parts 250 Нераспознанная часть адреса. Для адреса «Москва, Митинская улица, 40, вход с торца» вернет «ВХОД, С, ТОРЦА»
metro Список ближайших станций метро (до трёх штук)

Координаты есть у 97% домов в Москве, 91% в Санкт-Петербурге, 69% в других городах-миллиониках и 47% по остальной России. Площадь и стоимость есть у 70% квартир в России.

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Автодополнение при вводе («подсказки»)

DaDataCompany::prompt(string $company, int $count, array $status, int $type, string $locations, string $locations_boost); Помогает человеку быстро ввести реквизиты организации на веб-форме или в приложении.

Ищет компании и индивидуальных предпринимателей:

Основные кейсы:

Данный метод не прдназначен:

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
company string false Текст запроса
count int true 10 Количество результатов. Максимум 20
status int true null Ограничение по статусу организации.
type int true 1 Ограничение по типу организации.
locations string true null Ограничение по региону или городу. Двухзначные коды необходимо передавать строкой через , запятую. Список кодов
locations_boost string true null Приоритет города при ранжировании.

Формирование status - ограничение по статусу организации Чтобы искать только действующие компании, сформироуйте массив status как

Поиск только среди ликвидируемых и ликвидированных компаний:

Формирование type - Ограничение по типу организации.

Тип поиска только по юридическим лицам

Тип поиска только по индивидуальным предпринимателям

Пример ответа

Описание ответа

Таблицу описания полного ответа вы можете получить на старнице API подсказок по организациям в разделе "Что в ответе".

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Поиск аффилированных компаний

DaDataCompany::affiliated(string $code, int $count, array $scope) Находит организации по ИНН учредителей и руководителей. Работает для физлиц и юрлиц.

Часто учредитель или директор не ограничивается участием в одном юрлице, а фигурирует в нескольких. Порой — в десятках разных компаний. Знать об этом полезно как для оценки надёжности контрагента, так и для более эффективного маркетинга и продаж. Чтобы облегчить поиск аффилированных компаний, «Дадата» находит организации по ИНН учредителей и руководителей.

Ищет по ИНН физлиц и юрлиц.

Данный метод не удается протестировать из-за того, что все получаем 403, Operation party/findAffiliated is not permitted

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
code string false Текст запроса
count int true 10 Количество результатов. Максимум 20
scope array true [] КПП для поиска по филиалам

Формирование scope -

Описание ответа

Таблицу описания полного ответа вы можете получить на старнице Поиск аффилированных компаний в разделе "Что в ответе".

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с банками

Банк по БИК, SWIFT, ИНН или регистрационному номеру

DaDataBank::id(string $bank); Находит банк по любому из идентификаторов: БИК, SWIFT, ИНН, ИНН + КПП (для филиалов), рег. номеру, присвоенному Банком России. Возвращает реквизиты банка, корр. счёт, адрес и статус (действующий / на ликвидации).

Ищет кредитные организации по:

Ищет только по точному совпадению, для частичного совпадения используйте метод DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost)

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
bank string false Текст запроса

Пример ответа

Описание ответа

Таблицу описания полного ответа вы можете получить на старнице Банк по БИК, SWIFT, ИНН или регистрационному номеру в разделе "Что в ответе".

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

API подсказок по банкам

DaDataBank::prompt(string $bank, int $count, array $status, array $type, string $locations, string $locations_boost) Помогает человеку быстро ввести реквизиты банка на веб-форме или в приложении.

Ищет кредитные организации по:

Основные кейсы:

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
bank string false Текст запроса
count int true 10 Количество результатов. Максимум 20
status array true null Ограничение по статусу банка
type array true 1 Ограничение по типу банка
locations string true null Ограничение по региону или городу. Двухзначные коды необходимо передавать строкой через , запятую. Список кодов
locations_boost string true null Приоритет города при ранжировании.

Формирование status - ограничение по статусу организации Чтобы искать только действующие банки, сформироуйте массив status как

Поиск только среди ликвидируемых и ликвидированных банков:

Формирование type - Ограничение по типу банка. Доступные типы организаций в классе MoveMoveIo\DaData\Enums\BankType

Тип Тип организации
BankType::BANK Банк
BankType::BANK_BRANCH Филиал банка
BankType::NKO Небанковская кредитная организация
BankType::NKO_BRANCH Филиал небанковской кредитной организации
BankType::OTHER Другое
BankType::RKC РКЦ / ГРКЦ

Тип поиска только по банкам и филиалам банков

Тип поиска только по РКЦ/ГРКЦ

Пример ответа

Описание ответа

Таблицу описания полного ответа вы можете получить на старнице API подсказок по банкамм в разделе "Что в ответе".

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Работа с паспортами

Проверка по реестру МВД

DaDataPassport::standardization(string $id) Проверяет паспорт по справочнику недействительных паспортов МВД.

Основные кейсы:

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
id string false Текст запроса

Пример ответа

Описание ответа

Название Длина Описание
source 100 Исходная серия и номер одной строкой
series 20 Серия
number 20 Номер
qc 5 Код проверки.
qc Нужна ручная проверка? Описание
0 нет Действующий паспорт
2 нет Исходное значение пустое
1 да Неправильный формат серии или номера
100 да Недействительный паспорт

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения

Кем выдан паспорт

DaDataPassport::fns(string $passport, int $count) Моментально заполняет организацию, выдавшую паспорт, по коду подразделения

Самое утомительное поле при вводе паспорта — «Кем выдан». Писать какое-нибудь «Отделом внутренних дел Медведевского района республики Марий Эл» муторно. Поэтому мы сделали подсказки по полю «Паспорт выдан...».

Пример вызова

Параметры вызова

Название Тип Optional Default value Описание
id string false Текст запроса
count int true 10 Количество результатов. Максимум 20

Пример ответа

Описание ответа

Название Описание
value Значение одной строкой (как показывается в списке подсказок)
unrestricted_value == value
data['code'] Код подразделения
data['name'] Название подразделения в творительном падеже («кем выдан?»)
data['region_code'] Код региона (2 цифры)
data['type'] Вид подразделения (1 цифра). 0 — подразделение ФМС, 1 — ГУВД или МВД региона, 2 — УВД или ОВД района или города, 3 — отделение полиции

Exceptions

При вызове методов, вы можете обрабатывать коды исключений и их сообщения

Код Описание
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ или в запросе указан несуществующий ключ
403 Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Более детальную информацию вы можете получить из сообщения исключения.

Пример получения сообщения исключения


All versions of darklyy-dadata with dependencies

PHP Build Version
Package Version
Requires php Version ^7.3|^8.0|^8.1
guzzlehttp/guzzle Version ^7.0|^7.2
darkeum/darklyy-package-tools Version ^1.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package darkeum/darklyy-dadata contains the following files

Loading the files please wait ....