[DaData] - интеграция с сервисом DaData
[DaData] — интеграция с сервисом DaData.
DaData.ru исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись.
А бесплатные Подсказки помогают клиентам за пару секунд вводить правильные адреса, ФИО, email, реквизиты компаний и банков.
в пакете реализованы методы:
— подсказок
— стандартизации
— геолокации
— актуальности справочников
— баланса
— поиск адреса по коду КЛАДР или ФИАС
пример работы посмотреть тут location.vgrish.ru/index.php?id=10
сниппет dadata.form
Подключение подсказок к любым полям формы. Для того чтобы подключить подсказки нужно указать селектор контейнера для поиска полей и перечислить необходимые поля.
subject и master — зависимые поля.
параметры сниппета
пример подключения подсказок (Форма 2)
пример подключения подсказок (AjaxForm)
пример для адреса (Форма 4 (адрес))
подключение к форме заказа (miniShop2)
Код на github, создавайте isuue
Компонент условно-бесплатный, буду рад donation
DaData.ru исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись.
А бесплатные Подсказки помогают клиентам за пару секунд вводить правильные адреса, ФИО, email, реквизиты компаний и банков.
в пакете реализованы методы:
— подсказок
— стандартизации
— геолокации
— актуальности справочников
— баланса
— поиск адреса по коду КЛАДР или ФИАС
пример работы посмотреть тут location.vgrish.ru/index.php?id=10
сниппет dadata.form
Подключение подсказок к любым полям формы. Для того чтобы подключить подсказки нужно указать селектор контейнера для поиска полей и перечислить необходимые поля.
subject и master — зависимые поля.
параметры сниппета
- apiMode — Режим работы
- apiToken — API ключ
- apiSecret — Секретный ключ для стандартизации
- suggestions — Строка параметров подсказок, закодированная в JSON
- actionUrl — Коннектор для обработки ajax запросов
- selector — Имя CSS класса, который будеи использован как jQuery селектор при выборе контейнера для поиска input
- objectName — Имя объекта для инициализации в подключаемом javascript. По умолчанию «dadata»
- frontendCss — Файл с css стилями для подключения на фронтенде
- frontendJs — Файл с javascript для подключения на фронтенде
- jqueryJs — Файл с jquery.js для подключения на фронтенде
[[!dadata.form?
&suggestions=`{
'fullname': {
'type': 'NAME',
'params': {
},
'autoSelectFirst':1,
'count':6,
'subject': {
'surname-name': 'SURNAME',
'fullname-name': 'NAME',
'fullname-patronymic': 'PATRONYMIC'
}
},
'surname-name': {
'type': 'NAME',
'params': {
'parts': ['SURNAME']
},
'master': {
'fullname': 'SURNAME'
}
},
'fullname-name': {
'type': 'NAME',
'params': {
'parts': ['NAME']
},
'master': {
'fullname': 'NAME'
}
},
'fullname-patronymic': {
'type': 'NAME',
'params': {
'parts': ['PATRONYMIC']
},
'master': {
'fullname': 'PATRONYMIC'
}
}
}`
]]пример подключения подсказок (Форма 2)
[[!dadata.form?
&selector=`#dadata-form2`
&suggestions=`{
'email': {
'type': 'EMAIL'
},
'address': {
'type': 'ADDRESS'
},
'party': {
'type': 'PARTY',
'restrict_value': 'true'
},
'inn': {
'type': 'PARTY',
'restrict_value': 'true',
'params': {
'return': {
'keys': ['data.inn']
}
}
},
'bank': {
'type': 'BANK'
}
}`
]]пример подключения подсказок (AjaxForm)
[[!dadata.form?
&selector=`.ajax_form.af_example`
&suggestions=`{
'name': {
'type': 'NAME'
},
'email': {
'type': 'EMAIL'
}
}`
]]пример для адреса (Форма 4 (адрес))
[[!dadata.form?
&selector=`#dadata-form4`
&suggestions=`{
'address-input': {
'type': 'ADDRESS',
'params': {
},
'subject': {
'address-postalcode': 'postal_code',
'address-region': 'region',
'address-city': 'city',
'address-street': 'street_with_type',
'address-house': 'house',
'address-flat': 'flat'
}
},
'address-postalcode': {
'type': 'ADDRESS',
'bounds': 'postal-code',
'params': {
'return': {
'keys': ['data.postal_code']
}
},
'master': {
'address-input': 'postal_code'
}
},
'address-region': {
'type': 'ADDRESS',
'bounds': 'region-area',
'params': {
'return': {
'keys': ['data.region_with_type']
}
},
'master': {
'address-input': 'region_with_type'
}
},
'address-city': {
'type': 'ADDRESS',
'bounds': 'city-settlement',
'params': {
'return': {
'keys': ['data.city']
}
},
'master': {
'address-input': 'city'
}
},
'address-street': {
'type': 'ADDRESS',
'bounds': 'street',
'params': {
'return': {
'keys': ['data.street']
}
},
'master': {
'address-input': 'street'
}
},
'address-house': {
'type': 'ADDRESS',
'bounds': 'house',
'params': {
'return': {
'keys': ['data.house']
}
},
'master': {
'address-input': 'house'
}
},
'address-flat': {
'type': 'ADDRESS',
'params': {
'return': {
'keys': ['data.flat']
}
},
'master': {
'address-input': 'flat'
}
}
}`
]]подключение к форме заказа (miniShop2)
[[!dadata.form?
&selector=`#msOrder`
&suggestions=`{
'address': {
'type': 'ADDRESS',
'params': {
},
'subject': {
'index': 'postal_code',
'region': 'region_with_type',
'city': 'city',
'street': 'street_with_type',
'building': 'house'
}
},
'index': {
'type': 'ADDRESS',
'bounds': 'postal-code',
'params': {
'return': {
'keys': ['data.postal_code']
}
},
'master': {
'address': 'postal_code'
}
},
'region': {
'type': 'ADDRESS',
'bounds': 'region-area',
'params': {
'return': {
'keys': ['data.region_with_type']
}
},
'master': {
'address': 'region_with_type'
}
},
'city': {
'type': 'ADDRESS',
'bounds': 'city-settlement',
'params': {
'return': {
'keys': ['data.city']
}
},
'master': {
'address': 'city'
}
},
'street': {
'type': 'ADDRESS',
'bounds': 'street',
'params': {
'return': {
'keys': ['data.street']
}
},
'master': {
'address': 'street'
}
},
'building': {
'type': 'ADDRESS',
'bounds': 'house',
'params': {
'return': {
'keys': ['data.house']
}
},
'master': {
'address': 'house'
}
},
'email': {
'type': 'EMAIL'
},
'receiver': {
'type': 'NAME'
}
}`
]]Код на github, создавайте isuue
Компонент условно-бесплатный, буду рад donation
Комментарии: 46
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Я так понимаю, что это новая версия этого дополнения: modstore.pro/packages/integration/msdadata?
Или здесь принципиальное отличие, что он не заточен под MS2?
Обновишь в Магазине? Сделать его бесплатным?
Назвал условно-бесплатным оттого что выложил на гитхаб, кому надо бесплатно тот скачает, кто хочет поддержки — в поддержку. Так что думаю символическая цена в 490 руб. будет адекватна.
Да, вполне разумно.
Тогда ждем заявку на модерацию.
Видимо назвал неверно или не нравится что есть modx в имени
Вроде у нас пока всё только для него.
наверно из за описания?
Хорошо когда все в одном месте, это недолго. А так бы на рабочем проекте замучался.
Печаль
Володя, что думаешь?
Но тогда мне дали понять что этот механизм переноса неудобен. И я не дергаюсь. Пакет в свободном доступе есть на github.com/vgrish/dadata и так же можно загрузить уже собранный пакет тут modx.pro/components/7294-gl-geo-location/#comment-51220
Если возможно дать доступ к новому пакету просто по запросу в ТП, думаю так будет разумно.
Все желающие по запросу через тех. поддержку или по заявке на info@modstore.pro смогут получить обновление msDaData → DaData.
Stan Ezersky, что-то у тебя 6 аккаунтов в Магазине. Дай актуальный логин, пожалуйста.
Дмитрий АюповНет ни одного примера стандартизации, зато есть поле для ключа стандартизации.
Если можно, то просьба рассмотреть телефон.
В планах есть написать как будет необходимость.
если есть необходимость стандартизации можешь ускорить — оплатить стандартизацию и предоставив ключ для теста мне на время написания этого функционала.
Если написать ,«contragent[legalAddress]»: «address», то в инпуте пишется [object Object].
Можно, предположить, что я делаю что-то не так, но вот тут такая же проблема: github.com/vgrish/dadata/issues/3
Скопировал оттуда код, ничего не менял в нем, он тоже не работает с многомерными объектами:
П.С. в инструкции нет примера вызова для формы 5.
П.С.2: Может быть последнее обновление не было выложено? отсюда и проблемы?
dadata_format_handler_class —
Только не понятно, почему нигде про это не написано.
Ну и подозрений добавляет что в итоге ничего не работает. Руками добавил скрипты dadata на страницу, указываю id формы и поля как в примере, но ничего не происходит. Пытаюсь подключить подсказки.
это важно.
но не выводить подсказки.
Ошибки отсутствуют.
Js скрипты работают.
Пробовал в другом месте тоже самое.
В чем может быть проблема?
Необходимо было не добавить файл в /assets/components/dadata/,
а добавить строчки в корневой файл — .htaccess:
Для реализаций использовал (Форма 4).
Но в корзине minishop2 при выборе подсказки в поле Адрес — поля (индекс, область, город ...) с начало заполняются, а потом рандомные исчезают мгновенно, data-oldvalue выводиться. Если перезагрузить страницу то все поля которые были пусты буду заполнены. В чем может быть проблема?