не отдает Код ФИАС домов в СПБ
Добрый день!
По СПБ почти во всем адресам, по которым пытаюсь получить код фиас для дома возвращается только до уровня Улица.
Подскажите, в чем может быть проблема?
Ответ
В августе 2018 налоговая служба массово поудаляла из ФИАС нормальные дома в Санкт-Петербурге, добавив вместо них «литерные»:
- г Санкт-Петербург, г Зеленогорск, Ивовый пер, д 2 → д 2 литер А
- г Санкт-Петербург, Коннолахтинский пр-кт, д 10 к 15 → д 10 к 15 литер А
- ...
Такая замена противоречит здравому смыслу и табличкам, которые висят на домах в реальности. Но налоговая не торопится возвращать «нормальные» дома, поэтому Подсказкам пришлось взять на себя эту работу и убрать «насильно» приделанные к домам литеры.
Так как домов таких нет, то возвращается уровень до улицы.
А можно ли отдавать fias_id для "литерного" дома?
Может быть в api назвать это поле "возможный_фиас_id"?
Потому что мы на своей стороне можем привязать адреса к кривым литерным домам. Но когда пользователь на сайте будет выбирать дом в поле адреса, получатся мы не получим его fias_id и дальше в нашем бек энде не сможем совместить данные по идентификатору дома.
Нам разные компании предоставляют свои списки адресов, которые мы привязываем к Фиас.
Одна компания передает адрес, как "Коннолахтинский пр-кт, д 10 к 15", другая как "Коннолахтинский пр-кт, д 10/15", третья как ""Коннолахтинский пр-кт, д 10кор.15"
Все это мы пытаемся привязать к одному объекту дома Фиас.
Что бы потом когда пользователь в сервисе будет указывать этот адрес через Dadata (а вы так делаете, что бы он это смог), ему вернулась информация по всем 3-м компаниям.
И здесь связующее звено fias_id дома
А списки вы в Подсказки отправляете?
Мы рекомендуем всегда хранить код ФИАС до улицы + номер дома, так как коды ФИАС домов могут меняться в налоговой, это не постоянная единица.
Распознаем сами. А то что не распозналось планировали отправлять в Дадату на распознавание. Но еще это не реализовали.
Все записи не отправить вам, их более 2 млн, это выйдет около 100 тр.
Идентификатор дома может изменится, но старой записи присвоят end_date, а новой start_data актуальный. Так ведь?
Мы храним оба идентификатора старый и новый, дом должен найтись у нас в любом случае, какой бы идентификатор Подсказки не отдали бы.
Периодически можно проверять фиас на актуальность fias_id домов и перезаписывать старый и новый идентификаторы у нас в базе.
У вас большой опыт работы с Фиас. Правильно я рассуждаю?
Для домов которые Подсказки передают без fias_id у меня только один сценарий в голове. Передать все такие записи в dadata, вернуть стандартизированное название дома. И эти записи привязывать как ФИАС до улицы + номер дома (как у вас)
Исходя из этого вопросы:
1. По каким полям из ответа подсказок можно однозначно идентифицировать дом?
Такой набор? Не избыточны ли поля "block_type" и "house_type"
street_fias_id: "146a0f57-9307-4805-8605-8189fa8510e7"
block: "1"
block_type: "к"
house: "84"
house_type: "д"
2. Может ли со временем эта идентификация для конкретного дома меняться на вашей стороне? (Это не хотелось бы)
Идентификатор дома может изменится, но старой записи присвоят end_date, а новой start_data актуальный. Так ведь?
Вообще нет, могут просто удалить адрес и сделать новую запись, например. Очень часто так делают.
- Не думаю, что избыточны. Могут быть дом 84 к а, дом 84 лит а, дом 84 к 1, дом 84/1. И так далее. И всё на одной улице.
- Менять пока ничего не планировали. Если что — всегда заранее сообщаем об изменениях.
Сервис поддержки клиентов работает на платформе UserEcho
В августе 2018 налоговая служба массово поудаляла из ФИАС нормальные дома в Санкт-Петербурге, добавив вместо них «литерные»:
Такая замена противоречит здравому смыслу и табличкам, которые висят на домах в реальности. Но налоговая не торопится возвращать «нормальные» дома, поэтому Подсказкам пришлось взять на себя эту работу и убрать «насильно» приделанные к домам литеры.
Так как домов таких нет, то возвращается уровень до улицы.