DaData.ru — сервис автоматической проверки и исправления контактных данных (ФИО, адресов, телефонов, email, паспортов). Плюс javascript-виджет и API подсказок при вводе адреса, ФИО, организации и банковских реквизитов.
В предыдущем выпуске Дадата прошлась по паспортам и банкам, а за лето взялась помочь интернет-магазинам с доставкой:
- определять район города;
- писать районы и города по правилам Почты России;
- откладывать в сторонку абонентские ящики и адреса «до востребования»;
- находить адрес до улицы по коду ФИАС.
Район города по адресу
Человек пишет адрес, а Дадата определяет район города. Полезно для интернет-магазинов — посчитать стоимость доставки в зависимости от района или сегментировать базу клиентов по районам.
Работает для Москвы, Санкт-Петербурга и городов с населением больше 500 тысяч. В подсказках, файлах и через API стандартизации.
Адрес по правилам Почты России
По правилам Почты, если город — центр региона, то название региона в адресе на конверте не пишется (
Дадата умеет формировать адрес одной строкой по этим правилам в подсказках, файлах и через API стандартизации.
Абонентские ящики и адреса до востребования
Если в письме указан адрес до почтового отделения («до востребования» или номер абонентского ящика), то адресат его получит. Но доставку товара по такому адресу делать бессмысленно.
Дадата отличает эти адреса от всех остальных и отмечает биркой «До почтового отделения»:
Поиск адреса по коду ФИАС
Адрес в России состоит из десятка-другого полей. Хранить его в базе отдельными полями неудобно: многие CMS и движки интернет-магазинов не содержат нужных полей.
Хранить адрес одной строкой проще. Но тогда не получится сегментировать клиентскую базу по городам, определить геокоординаты, напечатать адрес на конверте как положено (отдельно город, отдельно улица-дом-квартира).
Привычное для разработчика решение — хранить уникальный идентификатор адреса вместо простыни отдельных полей. Такой идентификатор есть, его назначает налоговая служба в Федеральной информационной адресной системе (ФИАС). Выглядит идентификатор ФИАС увесисто:
5f96fd6b-b3de-451f-b280-8fedf859e683
.Хранить уникальный идентификатор удобно. Но покупателю и Почте России его не покажешь. Поэтому совсем хорошо хранить в базе идентификатор ФИАС улицы и превращать его в полноценный адрес по запросу. Дом, корпус-строение и квартиру лучше хранить отдельными полями, потому что
Ровно это и делает API Дадаты: возвращает адрес по коду ФИАС. Ищет до улицы включительно:
Бесплатно до 10 тысяч запросов в день.
Надеемся, что вам будет полезно что-то из перечисленного. Подключайтесь, пробуйте, задавайте вопросы в комментариях или на форуме!
Комментарии (55)
TomskDiver
01.10.2015 16:35+1Томск пр. Ленина 19 индекс не 634028 а 634034. поправьте…
algenon
01.10.2015 16:38-3634028 — так в ФИАСе. Это известная проблема: в базе налоговой индексы местами расходятся с данными Почты.
TomskDiver
01.10.2015 16:43+5Может быть стоит почтовый индекс брать из базы Почты, а не из налоговой? Ведь на то он и почтовый… Не берете же вы ИНН не из налоговой? Вот например глянул тут: www.eadres.ru/index/postcodes?street=700000010000412 Здесь всё норм с индексами и очень подробно.
algenon
01.10.2015 16:45+1Работаем над этим :–)
TomskDiver
01.10.2015 17:17+6Это хорошо. А вообще сервис полезный. Вы молодцы. Может еще стоит делать перекрестную проверку по базам и если данные разнятся, то выводить уведомление что данные могут быть не точны, или давать на выбор все варианты.
algenon
01.10.2015 16:55Кстати, сама почта утверждает, что у дома 19 индекс 634041:
TomskDiver
01.10.2015 17:16А я тоже запросил на этом сайте почты индекс и мне выдало 634028:) Почта она такая почта… Но всё же индекс 634034.
AlexanderAnisimov
01.10.2015 16:35Есть где-нибудь сервис что бы пацанские ФИО из именительного падежа в родительный конвертировать? Или — еще бы лучше — либу для дот-нета.
wapmorgan
01.10.2015 17:21Есть: morpher.ru/dotnetapi
AlexanderAnisimov
01.10.2015 17:48И как, для ФИО нормально работает?
chipQA
01.10.2015 20:27+5По-разному.
Иванов Пётр Сергеевич — ок
а Ян Кличков и Алсу Батырова — уже не очень
AlexanderAnisimov
01.10.2015 16:38Про мой дом, кстати, пишет что не найден (адрес получен около года назад). Ладно хоть улицу знает — в некоторых БД и этого нет.
AlexPTS
01.10.2015 16:58+2Открытый API это очень хорошее дело, молодцы :) И сторонним разработчикам польза и дополнительный канал отзывов и поиска неточностей.
ivlis
01.10.2015 17:05Интересно, а зачем вообще название района? Казалось бы индекс и название населенного пункта должны однозначно определять адрес.
algenon
01.10.2015 17:12+1Район — объект административно-территориального деления. Оно ничего не знает про индексы, это две ортогональные классификации.
ivlis
01.10.2015 17:14-2Вам чтобы письмо дошло или субъект административно-территориального деления узнать? Мне кажется это какой архаизм, когда не было индексов.
algenon
01.10.2015 17:17+3Чтобы письмо дошло — индекс. Чтобы рассчитать стоимость доставки — район (по крайней мере у некоторых интернет-магазинов так).
danSamara
01.10.2015 18:38Индекс может быть неверным — база ФИАС расходится с почтой России. Лучше перебдеть:)
randoom
01.10.2015 17:14+4С главной страницы:
"
Сопоставьте телефон заемщика с почтовым адресом.
Найдите площадь и стоимость квартиры по адресу проживания или регистрации.
"
Ребят, а это вообще законно? Если да, то жить очень страшно…danSamara
01.10.2015 18:44+2Наверняка использует базы стоимости квартир с открытых источников и не учитывают наличие золотых унитазов и джакузи на 15 человек.
algenon
01.10.2015 18:55+1Да, открытые источники: тот же ФИАС, Россвязь, Росреестр. Датасет с золотыми унитазами и шубохранилищами государство пока не публикует, поэтому без них.
vshemarov
01.10.2015 20:27+3Сервис отличный. Я, когда клепал магазин, с удовольствием воспользовался вашим API, но дополнительно пришлось лепить определение «в/за МКАД». Как ни крути, но очень значительная доля онлайн-магазинов приходится на Москву. И почти все (или просто все) выделяют доставку «в пределах МКАД» — «за МКАД».
Прикрутили бы вы еще специально для Москвы определение зоны МКАД — получили бы дополнительную изрядную порцию лучей добра и благодарности.lyalius
01.10.2015 21:29+2А мы собираемся сделать, вот фича для голосования (ох, надеюсь, меня не заминусуют за искажение русского языка)
kashey
02.10.2015 09:40В принципе это можно через «районы» сделать.
PS: А у вас с какого и по какой admin_level районы считаются?algenon
06.10.2015 12:07Простите, я не знаю, что такое admin_level (может, речь про AOLEVEL — уровень адресного объекта?) В любом случае, районы мы берем не из ФИАС, а из классификатора ОКАТО.
kashey
06.10.2015 14:13+1Точнее по ОКТМО?
Это не всегда работает — например для «г. Новосибирск, улица Вилюйская» района (как и ОКТМО) у вас нет.
А по факту район то есть — www.openstreetmap.org/relation/364764 — найти его задача чисто геометрическая.
У вас вроде и так много OSM в глубинах сервиса спряталось, и прибить геометрию улиц к геометрии административки — было бы логично.
В принципе прочитав этот топик, и написав исходный комент, именно это я и сделал (я — postindex.esosedi.ru). Спасибо.
Если интересно — могу поделиться таблицами соответствий wayid(улицы)->relationId(района), или «ручкой» обратного геокодера.algenon
06.10.2015 14:24Интересно, поделитесь «ручкой» :–) Я думаю, это многим может быть полезно.
kashey
06.10.2015 14:53+1Ну для «многих» будет специальный топик на хабре. С картинками :) Так что покуда для вас.
Ручка data.esosedi.org/geocode/v1?point=54,34&callback=ca23&lang=en. Язык можно менять (en,ru, иногда de). Если убрать callback будет просто JSON.
Геометрию, если нужно, можно подгрузить или через osme, или своими средствами.
PS: Скорость ограничена на уровне 15 RPS (burst 60) для одного IP средствами nginx.
Codenamed
02.10.2015 10:53А поиск по ЕГРЮЛ до сих пор в бете и актуален на август 2014 г. :(
algenon
02.10.2015 12:12В бете, да. Актуальность разная — зависит от компании. Сбербанк, например, актуален на апрель 2015. Тоже работаем над этим.
Codenamed
03.10.2015 10:48Правильно я понимаю, что спроса среди платящих клиентов нет, а актуализировать регулярно — дорого?
lyalius
03.10.2015 11:40Были проблемы с нахождением источника с актуальными данными (с сайта ФНС ЕГРЮЛ просто так не скачаешь). Сейчас мы его нашли и присоединяем к остальным данным.
Это все занимает время :)ALIron
06.10.2015 09:50Единственный законный источник ЕГРЮЛ — ГНИВЦ ФНС.
Вы с ними договорились?
Насколько я помню юридических оснований для передачи ЕГРЮЛ у ГНИВЦ ФНС нет.
Если источник не ФНС — какой уровень доверия к такому источнику?
И как доверять данным «восстановленным» по такой базе?lyalius
06.10.2015 10:43Нет, не с ним. Давайте все-таки дождемся выхода нашего сервиса из беты, а потом будем уже общаться на эту тему, сейчас обсуждать смысла не вижу.
Codenamed
07.10.2015 10:19Елена, сервис классный, каждому B2B сервису, где работа с контрагентами важна, стоило бы его заинтегрировать для удобства пользователей. Но вот он у вас, кажется, уже больше года в бете, это грустно.
Codenamed
07.10.2015 10:11+1Неправильно помните, доступ к ЕГРЮЛ/ЕГРИП для интеграции в свой сервис можно просто купить: www.nalog.ru/rn66/service/egrip2
А инструкция по интеграции вот тут: www.nalog.ru/rn66/service/egrip2/egrip_vzayimALIron
07.10.2015 11:50Ого. Спасибо за ссылки. Упустил этот момент.
Пробовал добиться подобного от ФНС в 2009 году.
Видимо созрели. =)
BjornValor
02.10.2015 23:51Почему-то вспомнилось про проект какой-то где ребята делали сервис превращая координаты/адреса в нечто вроде: «енот булка фрактал» -т.е. трехсловный идентификтор, получалось забавно, если не сказать смешно.
Интересно, чем всё дело кончилось.
sashabeep
05.10.2015 14:58А есть ли возможность настройки какого-то «округления» результатов?
Например, в Нижнем Новгороде есть площадь Горького и улица Горького
Начав вводить «нижний, горького, 12-15» в подсказке улица горького не появилась, только потом загорелась лампочка, что дом не найден в ФИАС
Потому что на площади Горького нет такого дома, а на улице Горького он есть
ragequit
У моего маленького внутреннего граммар-наци от заголовка глаза кровью наливаются <offtopic/>
ragequit
То есть никого слово «раён» не смущает? Я понимаю, что это юмор такой, но… :(
overmind88
А ты подходи на раён, всё обсудим
Milfgard
Коллега, мы оба спалились запятыми.
Milfgard
Слышь, ты сам сраёна? Чочо, семки есть?