О работе метода FindAddress
Добрый день.
Пишем на языке C# (Dadata.dll).
Суть задачи: нужно передать с сайта в ERP систему адрес (одноразово, прямо в момент заказа).
Решили сделать так:
1. На сайте из строки адреса получаем его структуру.
2. Берем из структуры два кода адреса (kladr_id
и fias_id
)
3. на стороне ERP берем эти коды (2) и ищем адрес по коду методом https://dadata.ru/api/find-address/
И вот что обнаружили, по fias_id
(если он есть) адрес находится, в вот kladr_id
поиск ни когда не возвращает результатов.
Примеры поиска:
2200000100001660049 и e63427cd-bf63-4a60-8e74-2d832fb9366e
2900600005400070007 и 81a0833e-a86f-472f-aa9e-ea8d0419fa97
В документации (https://dadata.ru/api/find-address/ ) сказано, что сервис ищет по любому из этих кодов.
Подскажите, пожалуйста, в чем ошибка?
Ответ
Добрый день! Метод Адрес по коду КЛАДР или ФИАС ищет по КЛАДР-коду только до улицы. У домов нет постоянных КЛАДР-кодов, поэтому использовать их вовсе не стоит. В целом, лучше всегда использовать ФИАС-код вместо КЛАДР, даже для улиц и выше.
Хм...
Но в ФИАС есть далеко не все адреса.
КЛАДР куда полнее.
Или я ошибаюсь и база ФИАС за последнее время стала более пригодной?
И вот еще вопрос, есть отдельный метод для поиска по ФИАС - Адрес в ФИАС по идентификатору (dadata.ru). Если будем искать именно по коду ФИАС, то лучше использовать его?
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день! Метод Адрес по коду КЛАДР или ФИАС ищет по КЛАДР-коду только до улицы. У домов нет постоянных КЛАДР-кодов, поэтому использовать их вовсе не стоит. В целом, лучше всегда использовать ФИАС-код вместо КЛАДР, даже для улиц и выше.