DaData

Интеграция с сервисом DaData
Автор дополнения
Володя Володин
Пакетов
39
Закачек
9 263
Автор дополнения
Пакетов
39
Закачек
9 263
Версия 1.0.9-beta
Дата выпуска 14.09.2017
Загрузки 42
Просмотры 903
Внимание, этот компонент требует версию MODX не ниже 2.3 !
[DaData] — интеграция с сервисом DaData.
DaData.ru исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись.
А бесплатные Подсказки помогают клиентам за пару секунд вводить правильные адреса, ФИО, email, реквизиты компаний и банков.
в пакете реализованы методы:
подсказок
стандартизации
геолокации
актуальности справочников
баланса
поиск адреса по коду КЛАДР или ФИАС

пример работы посмотреть тут location.vgrish.ru/index.php?id=10
<cut/>
сниппет 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 для подключения на фронтенде

пример подключения подсказок для ввода ФИО (Форма 1)

[[!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'
            }
        }
	}`
]]

Код на github, создавайте isuue
Компонент условно-бесплатный, буду рад donation

1.0.9-beta (14.09.2017)

  • Change "runProcessor" [dadata]

1.0.8-beta (19.05.2017)

  • Add "CURLOPT_SSL_VERIFYPEER" [dadata]

1.0.7-beta (16.05.2017)

  • Add "constraints suggestions" [js]

1.0.6-beta (23.03.2017)

  • Fix format "suggestions" [Extended]
  • Add "setTimeout suggestions" [js]

1.0.5-beta (20.06.2016)

  • Update "suggestions"
  • Add "X-Partner"

1.0.4-beta (31.05.2016)

  • Add "standardization"
  • Fix "action.php"

1.0.3-beta (18.12.2015)

  • Improvement format handler

1.0.2-beta (17.12.2015)

  • Fix propkey
  • Add setting

1.0.1-beta (17.12.2015)

  • Add format handler

1.0.0-beta

  • Initial

Последние обсуждения в сообществе MODX.pro