Автоматическое исправление ошибок в адресах доставки с помощью сервиса https://dadata.ru.
Продукты DaData.ru помогают крупным компаниям привести в порядок клиентскую базу. В этой заметке мы рассмотрим, как привести в порядок адреса доставки.
Как это работает?
Мы подключим jQuery плагин для страницы оформления заказа, который будет следить за полем для ввода адреса доставки. В момент, когда пользователь начнет набирать в нем свой адрес, плагин выполнит запрос к API dadata.ru и предложит список адресов, который удовлетворяет запросу. При нажатии на один из адресов, он будет помещен в поле адреса доставки.
Т.е. на выходе мы имеем не только структурированный массив адресов для доставки, но и реальную помощь посетителям в оформлении заказа.
Чтобы начать работать необходимо иметь API-ключ. Зарегистрируйтесь, например по этой ссылке:
После этого перейдите в личный кабинет и скопируйте API-ключ:
В дальнейшем, мы будем использовать этот ключ при подключении плагина подсказок.
Настройка плагина для интернет магазина uCoz
Описание плагина, который мы будем использовать вы можете найти здесь. Исходный вид:
<input ... /> — поле, в которое вводится адрес доставки и под которым появляются подсказки. У нас в качестве этого поля будут выступать поля заказа с id = "order-fld-N" (здесь N — номер поля)
suggestions-15.12.css — стили оформления подсказок, если не включить эти стили, подсказки не будут видны
jquery.min.js — jQuery версии 1.10.2. На сайтах uCoz jQuery подключается автоматически, а выбрать версию можно в общих настройках сайта
jquery.xdomainrequest.min.js — плагин для кроссдоменных запросов IE младше 10-ой версии
Если взглянуть на код подключения плагина для поля, то можно увидеть следующее:
#address — селектор поля, к которому подключаются подсказки
token: "API-ключ" — этот ключ вы получите после регистрации на dadata.ru в личном кабинете
type: "ADDRESS" — тип поисковых подсказок. Кроме адреса существуют подсказки для ФИО, организаций, банков и email
count — количество вариантов в подсказках
onSelect — функция, которая выполняется после выбора подсказки. При этом в функцию передается аргумент suggestion, в котором вы найдете подробную информацию о подсказке
Я покдлючу плагин для поля под номером 3. Вот полный код, который нужно разместить на странице служебных форм после $ORDER_FIELDS$:
Вот здесь написано про ИНДЕКС. Работает, индекс подставляется. Но в подсказках его нет. http://dadata.userecho.com/topics/723-poisk-po-indeksu-v-podskazkah/
Сергей, прикрутил данную штуку (заполняются поля NAME и ADDRESS) к интернет-магазину - всё работает! Сейчас на другом сайте пытаюсь сделать тоже самое с обычной почтовой формой $MFORM_1$ и те же поля - например для ФИО / NAME - указываю соответствующее поле f2 - $("#f2"). Не работает(((((