Качество и интеграция клиентских данных
74,54
рейтинг
1 октября 2015 в 14:55

Разработка → DaData.ru превращает гуиды в адреса и знает всех пацанов на раёне



DaData.ru — сервис автоматической проверки и исправления контактных данных (ФИО, адресов, телефонов, email, паспортов). Плюс javascript-виджет и API подсказок при вводе адреса, ФИО, организации и банковских реквизитов.

В предыдущем выпуске Дадата прошлась по паспортам и банкам, а за лето взялась помочь интернет-магазинам с доставкой:
  • определять район города;
  • писать районы и города по правилам Почты России;
  • откладывать в сторонку абонентские ящики и адреса «до востребования»;
  • находить адрес до улицы по коду ФИАС.


Район города по адресу


Человек пишет адрес, а Дадата определяет район города. Полезно для интернет-магазинов — посчитать стоимость доставки в зависимости от района или сегментировать базу клиентов по районам.

Работает для Москвы, Санкт-Петербурга и городов с населением больше 500 тысяч. В подсказках, файлах и через API стандартизации.


Адрес по правилам Почты России


По правилам Почты, если город — центр региона, то название региона в адресе на конверте не пишется (Новосибирская обл, г Новосибирск, ул Абаканская, д 21). А если город — центр района, то не пишется название района (Московская обл, Одинцовский р-н, г Одинцово, ул Ракетчиков).

Дадата умеет формировать адрес одной строкой по этим правилам в подсказках, файлах и через API стандартизации.


Абонентские ящики и адреса до востребования


Если в письме указан адрес до почтового отделения («до востребования» или номер абонентского ящика), то адресат его получит. Но доставку товара по такому адресу делать бессмысленно.

Дадата отличает эти адреса от всех остальных и отмечает биркой «До почтового отделения»:



Поиск адреса по коду ФИАС


Адрес в России состоит из десятка-другого полей. Хранить его в базе отдельными полями неудобно: многие CMS и движки интернет-магазинов не содержат нужных полей.

Хранить адрес одной строкой проще. Но тогда не получится сегментировать клиентскую базу по городам, определить геокоординаты, напечатать адрес на конверте как положено (отдельно город, отдельно улица-дом-квартира).

Привычное для разработчика решение — хранить уникальный идентификатор адреса вместо простыни отдельных полей. Такой идентификатор есть, его назначает налоговая служба в Федеральной информационной адресной системе (ФИАС). Выглядит идентификатор ФИАС увесисто: 5f96fd6b-b3de-451f-b280-8fedf859e683.

Хранить уникальный идентификатор удобно. Но покупателю и Почте России его не покажешь. Поэтому совсем хорошо хранить в базе идентификатор ФИАС улицы и превращать его в полноценный адрес по запросу. Дом, корпус-строение и квартиру лучше хранить отдельными полями, потому что не все квартиранты платят налоги в базе налоговой нет квартир и многих домов.

Ровно это и делает API Дадаты: возвращает адрес по коду ФИАС. Ищет до улицы включительно:



Бесплатно до 10 тысяч запросов в день.

Надеемся, что вам будет полезно что-то из перечисленного. Подключайтесь, пробуйте, задавайте вопросы в комментариях или на форуме!
Автор: @algenon
HumanFactorLabs
рейтинг 74,54
Качество и интеграция клиентских данных

Комментарии (56)

  • +6
    У моего маленького внутреннего граммар-наци от заголовка глаза кровью наливаются <offtopic/>
    • 0
      То есть никого слово «раён» не смущает? Я понимаю, что это юмор такой, но… :(
      • +11
        А ты подходи на раён, всё обсудим
        • +3
          Коллега, мы оба спалились запятыми.
      • –1
        Слышь, ты сам сраёна? Чочо, семки есть?
  • +1
    Томск пр. Ленина 19 индекс не 634028 а 634034. поправьте…
    • –3
      634028 — так в ФИАСе. Это известная проблема: в базе налоговой индексы местами расходятся с данными Почты.
      • +5
        Может быть стоит почтовый индекс брать из базы Почты, а не из налоговой? Ведь на то он и почтовый… Не берете же вы ИНН не из налоговой? Вот например глянул тут: www.eadres.ru/index/postcodes?street=700000010000412 Здесь всё норм с индексами и очень подробно.
        • +1
          Работаем над этим :–)
          • +6
            Это хорошо. А вообще сервис полезный. Вы молодцы. Может еще стоит делать перекрестную проверку по базам и если данные разнятся, то выводить уведомление что данные могут быть не точны, или давать на выбор все варианты.
    • 0
      Кстати, сама почта утверждает, что у дома 19 индекс 634041:

      • 0
        А я тоже запросил на этом сайте почты индекс и мне выдало 634028:) Почта она такая почта… Но всё же индекс 634034.
  • 0
    Есть где-нибудь сервис что бы пацанские ФИО из именительного падежа в родительный конвертировать? Или — еще бы лучше — либу для дот-нета.
    • 0
      Мы такое можем сделать, функционал есть, остается добавить на дадату. Вот задача, голосуйте.

      А можете еще написать, зачем вам это нужно?
      • +1
        Затем же зачем и всем — в документах печатать.
    • 0
      • 0
        И как, для ФИО нормально работает?
        • +5
          По-разному.
          Иванов Пётр Сергеевич — ок
          а Ян Кличков и Алсу Батырова — уже не очень
  • 0
    Про мой дом, кстати, пишет что не найден (адрес получен около года назад). Ладно хоть улицу знает — в некоторых БД и этого нет.
    • 0
      в базе налоговой нет квартир и многих домов
    • 0
      Напишите ваш адрес, пожалуйста :) Посмотрим, что можно сделать.
    • 0
      Моему дому в Павловском Посаде 20 лет, и его до сих пор нет в ФИАС.
  • +2
    Открытый API это очень хорошее дело, молодцы :) И сторонним разработчикам польза и дополнительный канал отзывов и поиска неточностей.
  • 0
    Интересно, а зачем вообще название района? Казалось бы индекс и название населенного пункта должны однозначно определять адрес.
    • +1
      Район — объект административно-территориального деления. Оно ничего не знает про индексы, это две ортогональные классификации.
      • –2
        Вам чтобы письмо дошло или субъект административно-территориального деления узнать? Мне кажется это какой архаизм, когда не было индексов.
        • +3
          Чтобы письмо дошло — индекс. Чтобы рассчитать стоимость доставки — район (по крайней мере у некоторых интернет-магазинов так).
    • 0
      Индекс может быть неверным — база ФИАС расходится с почтой России. Лучше перебдеть:)
  • +4
    С главной страницы:

    "
    Сопоставьте телефон заемщика с почтовым адресом.
    Найдите площадь и стоимость квартиры по адресу проживания или регистрации.
    "

    Ребят, а это вообще законно? Если да, то жить очень страшно…
    • +2
      Наверняка использует базы стоимости квартир с открытых источников и не учитывают наличие золотых унитазов и джакузи на 15 человек.
      • +1
        Да, открытые источники: тот же ФИАС, Россвязь, Росреестр. Датасет с золотыми унитазами и шубохранилищами государство пока не публикует, поэтому без них.
  • 0
    Почему «ул», «рп», «д» и иже с ними идут без точек?
    • 0
      Поддерживаю, в поле result хотелось бы видеть грамотные сокращения.
  • +3
    Сервис отличный. Я, когда клепал магазин, с удовольствием воспользовался вашим API, но дополнительно пришлось лепить определение «в/за МКАД». Как ни крути, но очень значительная доля онлайн-магазинов приходится на Москву. И почти все (или просто все) выделяют доставку «в пределах МКАД» — «за МКАД».

    Прикрутили бы вы еще специально для Москвы определение зоны МКАД — получили бы дополнительную изрядную порцию лучей добра и благодарности.
    • +2
      А мы собираемся сделать, вот фича для голосования (ох, надеюсь, меня не заминусуют за искажение русского языка)
    • 0
      Спасибо за хороший отзыв :)
    • 0
      В принципе это можно через «районы» сделать.
      PS: А у вас с какого и по какой admin_level районы считаются?
      • 0
        Простите, я не знаю, что такое admin_level (может, речь про AOLEVEL — уровень адресного объекта?) В любом случае, районы мы берем не из ФИАС, а из классификатора ОКАТО.
        • +1
          Точнее по ОКТМО?
          Это не всегда работает — например для «г. Новосибирск, улица Вилюйская» района (как и ОКТМО) у вас нет.
          А по факту район то есть — www.openstreetmap.org/relation/364764 — найти его задача чисто геометрическая.
          У вас вроде и так много OSM в глубинах сервиса спряталось, и прибить геометрию улиц к геометрии административки — было бы логично.
          В принципе прочитав этот топик, и написав исходный комент, именно это я и сделал (я — postindex.esosedi.ru). Спасибо.
          Если интересно — могу поделиться таблицами соответствий wayid(улицы)->relationId(района), или «ручкой» обратного геокодера.
          • 0
            Интересно, поделитесь «ручкой» :–) Я думаю, это многим может быть полезно.
            • +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.
  • 0
    А поиск по ЕГРЮЛ до сих пор в бете и актуален на август 2014 г. :(
    • 0
      В бете, да. Актуальность разная — зависит от компании. Сбербанк, например, актуален на апрель 2015. Тоже работаем над этим.
      • 0
        Правильно я понимаю, что спроса среди платящих клиентов нет, а актуализировать регулярно — дорого?
        • 0
          Были проблемы с нахождением источника с актуальными данными (с сайта ФНС ЕГРЮЛ просто так не скачаешь). Сейчас мы его нашли и присоединяем к остальным данным.

          Это все занимает время :)
          • 0
            Единственный законный источник ЕГРЮЛ — ГНИВЦ ФНС.
            Вы с ними договорились?
            Насколько я помню юридических оснований для передачи ЕГРЮЛ у ГНИВЦ ФНС нет.
            Если источник не ФНС — какой уровень доверия к такому источнику?
            И как доверять данным «восстановленным» по такой базе?
            • 0
              Нет, не с ним. Давайте все-таки дождемся выхода нашего сервиса из беты, а потом будем уже общаться на эту тему, сейчас обсуждать смысла не вижу.
              • 0
                Елена, сервис классный, каждому B2B сервису, где работа с контрагентами важна, стоило бы его заинтегрировать для удобства пользователей. Но вот он у вас, кажется, уже больше года в бете, это грустно.
            • +1
              Неправильно помните, доступ к ЕГРЮЛ/ЕГРИП для интеграции в свой сервис можно просто купить: www.nalog.ru/rn66/service/egrip2

              А инструкция по интеграции вот тут: www.nalog.ru/rn66/service/egrip2/egrip_vzayim
              • 0
                Ого. Спасибо за ссылки. Упустил этот момент.
                Пробовал добиться подобного от ФНС в 2009 году.
                Видимо созрели. =)
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А есть ли возможность настройки какого-то «округления» результатов?
    Например, в Нижнем Новгороде есть площадь Горького и улица Горького
    Начав вводить «нижний, горького, 12-15» в подсказке улица горького не появилась, только потом загорелась лампочка, что дом не найден в ФИАС
    Потому что на площади Горького нет такого дома, а на улице Горького он есть
    • 0
      В ФИАС дома 12 нет ни на улице, ни на площади Максима Горького. Поэтому такой результат.
      • 0
        Но на улице Горького он есть, а в подсказке появилась только площадь… Появлялась… Видимо, черточка так действует
        Картинки


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

Самое читаемое Разработка