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

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


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


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

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


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


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

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


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


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

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



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


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

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

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

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

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



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

Надеемся, что вам будет полезно что-то из перечисленного. Подключайтесь, пробуйте, задавайте вопросы в комментариях или на форуме!

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


  1. ragequit
    01.10.2015 15:07
    +6

    У моего маленького внутреннего граммар-наци от заголовка глаза кровью наливаются <offtopic/>


    1. ragequit
      01.10.2015 15:19

      То есть никого слово «раён» не смущает? Я понимаю, что это юмор такой, но… :(


      1. overmind88
        01.10.2015 19:27
        +11

        А ты подходи на раён, всё обсудим


        1. Milfgard
          01.10.2015 20:35
          +3

          Коллега, мы оба спалились запятыми.


      1. Milfgard
        01.10.2015 20:34
        -1

        Слышь, ты сам сраёна? Чочо, семки есть?


  1. TomskDiver
    01.10.2015 16:35
    +1

    Томск пр. Ленина 19 индекс не 634028 а 634034. поправьте…


    1. algenon
      01.10.2015 16:38
      -3

      634028 — так в ФИАСе. Это известная проблема: в базе налоговой индексы местами расходятся с данными Почты.


      1. TomskDiver
        01.10.2015 16:43
        +5

        Может быть стоит почтовый индекс брать из базы Почты, а не из налоговой? Ведь на то он и почтовый… Не берете же вы ИНН не из налоговой? Вот например глянул тут: www.eadres.ru/index/postcodes?street=700000010000412 Здесь всё норм с индексами и очень подробно.


        1. algenon
          01.10.2015 16:45
          +1

          Работаем над этим :–)


          1. TomskDiver
            01.10.2015 17:17
            +6

            Это хорошо. А вообще сервис полезный. Вы молодцы. Может еще стоит делать перекрестную проверку по базам и если данные разнятся, то выводить уведомление что данные могут быть не точны, или давать на выбор все варианты.


    1. algenon
      01.10.2015 16:55

      Кстати, сама почта утверждает, что у дома 19 индекс 634041:


      1. TomskDiver
        01.10.2015 17:16

        А я тоже запросил на этом сайте почты индекс и мне выдало 634028:) Почта она такая почта… Но всё же индекс 634034.


  1. AlexanderAnisimov
    01.10.2015 16:35

    Есть где-нибудь сервис что бы пацанские ФИО из именительного падежа в родительный конвертировать? Или — еще бы лучше — либу для дот-нета.


    1. lyalius
      01.10.2015 17:15

      Мы такое можем сделать, функционал есть, остается добавить на дадату. Вот задача, голосуйте.

      А можете еще написать, зачем вам это нужно?


      1. AlexanderAnisimov
        01.10.2015 17:43
        +1

        Затем же зачем и всем — в документах печатать.


    1. wapmorgan
      01.10.2015 17:21

      1. AlexanderAnisimov
        01.10.2015 17:48

        И как, для ФИО нормально работает?


        1. chipQA
          01.10.2015 20:27
          +5

          По-разному.
          Иванов Пётр Сергеевич — ок
          а Ян Кличков и Алсу Батырова — уже не очень


  1. AlexanderAnisimov
    01.10.2015 16:38

    Про мой дом, кстати, пишет что не найден (адрес получен около года назад). Ладно хоть улицу знает — в некоторых БД и этого нет.


    1. algenon
      01.10.2015 16:41

      в базе налоговой нет квартир и многих домов


    1. lyalius
      01.10.2015 17:16

      Напишите ваш адрес, пожалуйста :) Посмотрим, что можно сделать.


    1. chipQA
      02.10.2015 08:49

      Моему дому в Павловском Посаде 20 лет, и его до сих пор нет в ФИАС.


  1. AlexPTS
    01.10.2015 16:58
    +2

    Открытый API это очень хорошее дело, молодцы :) И сторонним разработчикам польза и дополнительный канал отзывов и поиска неточностей.


  1. ivlis
    01.10.2015 17:05

    Интересно, а зачем вообще название района? Казалось бы индекс и название населенного пункта должны однозначно определять адрес.


    1. algenon
      01.10.2015 17:12
      +1

      Район — объект административно-территориального деления. Оно ничего не знает про индексы, это две ортогональные классификации.


      1. ivlis
        01.10.2015 17:14
        -2

        Вам чтобы письмо дошло или субъект административно-территориального деления узнать? Мне кажется это какой архаизм, когда не было индексов.


        1. algenon
          01.10.2015 17:17
          +3

          Чтобы письмо дошло — индекс. Чтобы рассчитать стоимость доставки — район (по крайней мере у некоторых интернет-магазинов так).


    1. danSamara
      01.10.2015 18:38

      Индекс может быть неверным — база ФИАС расходится с почтой России. Лучше перебдеть:)


  1. randoom
    01.10.2015 17:14
    +4

    С главной страницы:

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

    Ребят, а это вообще законно? Если да, то жить очень страшно…


    1. danSamara
      01.10.2015 18:44
      +2

      Наверняка использует базы стоимости квартир с открытых источников и не учитывают наличие золотых унитазов и джакузи на 15 человек.


      1. algenon
        01.10.2015 18:55
        +1

        Да, открытые источники: тот же ФИАС, Россвязь, Росреестр. Датасет с золотыми унитазами и шубохранилищами государство пока не публикует, поэтому без них.


  1. Woodroof
    01.10.2015 17:37

    Почему «ул», «рп», «д» и иже с ними идут без точек?


  1. vshemarov
    01.10.2015 20:27
    +3

    Сервис отличный. Я, когда клепал магазин, с удовольствием воспользовался вашим API, но дополнительно пришлось лепить определение «в/за МКАД». Как ни крути, но очень значительная доля онлайн-магазинов приходится на Москву. И почти все (или просто все) выделяют доставку «в пределах МКАД» — «за МКАД».

    Прикрутили бы вы еще специально для Москвы определение зоны МКАД — получили бы дополнительную изрядную порцию лучей добра и благодарности.


    1. lyalius
      01.10.2015 21:29
      +2

      А мы собираемся сделать, вот фича для голосования (ох, надеюсь, меня не заминусуют за искажение русского языка)


    1. lyalius
      01.10.2015 21:36

      Спасибо за хороший отзыв :)


    1. kashey
      02.10.2015 09:40

      В принципе это можно через «районы» сделать.
      PS: А у вас с какого и по какой admin_level районы считаются?


      1. algenon
        06.10.2015 12:07

        Простите, я не знаю, что такое admin_level (может, речь про AOLEVEL — уровень адресного объекта?) В любом случае, районы мы берем не из ФИАС, а из классификатора ОКАТО.


        1. kashey
          06.10.2015 14:13
          +1

          Точнее по ОКТМО?
          Это не всегда работает — например для «г. Новосибирск, улица Вилюйская» района (как и ОКТМО) у вас нет.
          А по факту район то есть — www.openstreetmap.org/relation/364764 — найти его задача чисто геометрическая.
          У вас вроде и так много OSM в глубинах сервиса спряталось, и прибить геометрию улиц к геометрии административки — было бы логично.
          В принципе прочитав этот топик, и написав исходный комент, именно это я и сделал (я — postindex.esosedi.ru). Спасибо.
          Если интересно — могу поделиться таблицами соответствий wayid(улицы)->relationId(района), или «ручкой» обратного геокодера.


          1. algenon
            06.10.2015 14:24

            Интересно, поделитесь «ручкой» :–) Я думаю, это многим может быть полезно.


            1. 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.


              1. algenon
                06.10.2015 14:55

                Спасибо!



  1. Codenamed
    02.10.2015 10:53

    А поиск по ЕГРЮЛ до сих пор в бете и актуален на август 2014 г. :(


    1. algenon
      02.10.2015 12:12

      В бете, да. Актуальность разная — зависит от компании. Сбербанк, например, актуален на апрель 2015. Тоже работаем над этим.


      1. Codenamed
        03.10.2015 10:48

        Правильно я понимаю, что спроса среди платящих клиентов нет, а актуализировать регулярно — дорого?


        1. lyalius
          03.10.2015 11:40

          Были проблемы с нахождением источника с актуальными данными (с сайта ФНС ЕГРЮЛ просто так не скачаешь). Сейчас мы его нашли и присоединяем к остальным данным.

          Это все занимает время :)


          1. ALIron
            06.10.2015 09:50

            Единственный законный источник ЕГРЮЛ — ГНИВЦ ФНС.
            Вы с ними договорились?
            Насколько я помню юридических оснований для передачи ЕГРЮЛ у ГНИВЦ ФНС нет.
            Если источник не ФНС — какой уровень доверия к такому источнику?
            И как доверять данным «восстановленным» по такой базе?


            1. lyalius
              06.10.2015 10:43

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


              1. Codenamed
                07.10.2015 10:19

                Елена, сервис классный, каждому B2B сервису, где работа с контрагентами важна, стоило бы его заинтегрировать для удобства пользователей. Но вот он у вас, кажется, уже больше года в бете, это грустно.


            1. Codenamed
              07.10.2015 10:11
              +1

              Неправильно помните, доступ к ЕГРЮЛ/ЕГРИП для интеграции в свой сервис можно просто купить: www.nalog.ru/rn66/service/egrip2

              А инструкция по интеграции вот тут: www.nalog.ru/rn66/service/egrip2/egrip_vzayim


              1. ALIron
                07.10.2015 11:50

                Ого. Спасибо за ссылки. Упустил этот момент.
                Пробовал добиться подобного от ФНС в 2009 году.
                Видимо созрели. =)


  1. BjornValor
    02.10.2015 23:51

    Почему-то вспомнилось про проект какой-то где ребята делали сервис превращая координаты/адреса в нечто вроде: «енот булка фрактал» -т.е. трехсловный идентификтор, получалось забавно, если не сказать смешно.
    Интересно, чем всё дело кончилось.


  1. sashabeep
    05.10.2015 14:58

    А есть ли возможность настройки какого-то «округления» результатов?
    Например, в Нижнем Новгороде есть площадь Горького и улица Горького
    Начав вводить «нижний, горького, 12-15» в подсказке улица горького не появилась, только потом загорелась лампочка, что дом не найден в ФИАС
    Потому что на площади Горького нет такого дома, а на улице Горького он есть


    1. algenon
      06.10.2015 11:57

      В ФИАС дома 12 нет ни на улице, ни на площади Максима Горького. Поэтому такой результат.


      1. sashabeep
        06.10.2015 13:29

        Но на улице Горького он есть, а в подсказке появилась только площадь… Появлялась… Видимо, черточка так действует

        Картинки