
mxDadata
mxDadata подключает DaData к MiniShop3 на MODX Revolution 3. Сниппеты дают подсказки адреса и организаций. При оформлении заказа плагин нормализует и проверяет данные через Clean, пишет ответы в mxdadata_cache и журнал в mxdadata_log.
Список изменений: core/components/mxdadata/docs/changelog.txt в составе компонента.
Минимальный путь к подсказкам на витрине
- Установите пакет. Нужен MiniShop3.
- В профиле DaData возьмите Token (и Secret для валидации заказа).
- Задайте Token и Secret: Настройки → Системные настройки (фильтр
mxdadata) или Extras → mxDadata → Настройки. На Dashboard в карточке Подключение нажмите Тест соединения. - В чанк формы заказа (например
tpl.msOrder) некэшированно выведите[[!mxDadataAddressSuggest]]. Параметрinputдолжен указывать на поле адреса. - Настройки → Очистить кэш. Откройте оформление заказа с товаром в корзине.
Детали: Быстрый старт. Поля формы: Подключение на сайте.
Безопасность ключей
- Token DaData нужен для Suggest и запросов с витрины через
connector-web.php. Запросы ограничены по действиям и частоте. Не подставляйте Secret в HTML или шаблон. - Secret храните только в системных настройках MODX. Он нужен для Clean и Party на сервере (плагин заказа, менеджер).
- Доступ к DaData с сервера идёт по HTTPS. Ключи в БД MODX защищайте политиками доступа к настройкам.
Тарифы, баланс и лимиты DaData
- Условия и стоимость: кабинет DaData. Баланс и статистика запросов: Extras → mxDadata → Dashboard (там же Логи).
- Каждая подсказка и валидация расходует квоту.
RateLimiter(mxdadata_throttle_rpm) снижает риск всплесков и ответа 429. При исчерпанном балансе API отказывает: FAQ → 429, Логи.
Возможности
- Suggest на витрине: сниппеты
mxDadataAddressSuggest,mxDadataPartySuggest, формаmxDadataForm(JSON-конфиг полей) черезassets/components/mxdadata/connector-web.php - Плагин MiniShop3: на
msOnBeforeCreateOrderиmsOnSubmitOrderвалидирует телефон и email (Clean), нормализует адрес, требует FIAS/индекс, блокирует заказ при ошибках OnWebPageInit: подставляет плейсхолдеры веб-контекста в шаблоны- Админ-панель (Vue): Extras → mxDadata, вкладки Dashboard, Юрлица, Логи (KPI, тест API, очистка кэша, Party по ИНН). Ключи MS3, API и лимит запросов: системные настройки
- Для админки нужен VueTools. Сниппеты на витрине работают без него
- Кэш: таблица
mxdadata_cache, TTLmxdadata_cache_ttl, очистка с Dashboard (только эта таблица). СчётчикRateLimiter— вcacheManager - Логи: таблица
mxdadata_log, фильтры, просмотр request/response. Ротация вручную или задача Schedulermxdadata_rotate_logs(процессорLogs/Rotate)
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0.3+ |
| PHP | 8.2+ |
| MiniShop3 | пакет minishop3 ≥ 1.0.0 |
| MySQL / MariaDB | как в требованиях MODX 3 |
Зависимости
- MiniShop3 — адрес заказа, события оформления
- VueTools — в
requiresтранспорта для админки Vue. Resolver без него пишет предупреждение. Сниппеты и плагин заказа от VueTools не зависят.
Опционально
- Scheduler — задача
mxdadata_rotate_logs(Logs/Rotate). Расписание задайте в Scheduler после установки пакета.
Установка
- Установите пакет через Extras → Installer (транспорт с ModStore или локальная сборка
php _build/build.phpиз исходников). - Зарегистрируйтесь на dadata.ru. В профиле скопируйте API Token и Secret.
- Задайте
mxdadata_api_tokenиmxdadata_api_secretв системных настройкахmxdadata. Тест соединения: Dashboard → Подключение. - Настройки → Очистить кэш.
Пошагово: Быстрый старт.
Термины
| Термин | Описание |
|---|---|
| Token / Secret | Ключи DaData: Token в основном для Suggest, Secret для Clean и Party |
| connector-web.php | Публичный коннектор для AJAX-подсказок с витрины (ограничение частоты, кэш) |
| connector.php | Коннектор для менеджерских процессоров (MODX) |
| Party | API организаций по ИНН (реквизиты, адрес) |
Порядок вывода с msRussianPost и событие mxdadata:order-address-updated: Подключение на сайте. Частые ошибки: FAQ.
