Сервис корректировки данных Dadata.ru

Углубленное изучение Битрикс
  • Сервис корректировки данных Dadata.ru

    Антон Долганин 15 Июля 2014 4:58 2450
    Пользователь вводит: мск сухонска 11/-89. Система формирует: Москва, Сухонская 11, 89. И не просто сформирует, но подгрузит корректно все службы доставки для этого адреса. Вот так просто и круто работает система. А, есть еще подсказки.

    Но давайте обо всем по порядку:) Я сделал модуль для связки оформления заказа Битрикс с сервисом Dadata.ru. Сам сервис платный, но стоит сущие копейки: 10 коп. / запрос, а я позаботился о том, чтобы количество платных запросов было минимизировано (1-2 запроса на заказ, а при повторных заказах, или если пользователь воспользовался подсказками, и вовсе без запросов).

    Немного картинок для более быстрого понимания. Либо можете перейти сразу к тестам. Волшебный логин test (пароль 111111) позволит вам попасть и в админ.часть, увидев во что превращаются введенные данные. Естественно, все гибко настраивается.











    На скриншотах вам должно стать много понятно. Остались настройки.

    Настройки модуля

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

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

    Затем получите API-ключ, перейдя по ссылке в настройках.

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

    Теперь что за поле «Стандартизировать ФИО и пол на сервере». После того как заказ оформлен, мы можем вытянуть оттуда еще и пол, а также привести в порядок поле ФИО, если оно записано с ошибками. Вот для этого и требуется данная опция. Минус — стоит дополнительных 10 копеек. Но!

    Но! Я сделал модуль максимально оптимизированным на запросы, и данные запрашиваются для стандартизации только если они еще ни разу не стандартизировались на вашем проекте. Это касается и ФИО и адреса. (Адрес стандартизуется также за 10 коппек, отключить это нельзя)

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

    Вот и все. Если у вас остались вопросы по модулю — пожалуйста, пишите. Если вопросы по сервису — пишите на сайте.
Dmitry
12 Января 2015 12:46
Антон, привет!

У них же есть свой модуль в маркетплейсе ;-)
Чем твой лучше?
Антон Долганин
12 Января 2015 13:28
Дмитрий, приветствую.

Их модуль вышел позже намного. У меня не хватило времени выловить всех тараканов в своей версии, к сожалению.

Но именно отличия я не изучал.  
Алексей
5 Ноября 2015 18:42
Здравствуйте!
Почему-то ссылка на Ваш модуль не работает, увидеть его не удалось.
Антон, может быть Вы знаете? Купил модуль подсказок gorillas.dadata. А не подскажете, как теперь связать его с местоположением чтобы рассчитывалась доставка?
Антон Долганин
7 Ноября 2015 8:18
Здравствуйте, Алексей.

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