Skip to content
mxDadata
mxDadata
Подсказки DaData и валидация адреса для MiniShop3 в MODX 3
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. mxDadata
  3. Админка в MODX

Админка в MODX ​

Раздел Extras → mxDadata: вкладки Обзор, Юрлица и Логи. Ключи DaData, MiniShop3, лимит запросов и TTL кэша задаются только в системных настройках (mxdadata).

Требования и доступ ​

  • VueTools ≥ 1.1.1 входит в requires транспорта для админки. Без VueTools resolver пишет предупреждение. Сниппеты на витрине работают независимо.
  • Пункт Extras → mxDadata виден при праве mxdadata_view. Шаблон политики mxDadataUserPolicyTemplate, политика mxDadataUserPolicy объявляют четыре права:
ПравоГде применяется в коде
mxdadata_viewПоле permission пункта меню Extras → mxDadata
mxdadata_editНе проверяется
mxdadata_logsНе проверяется
mxdadata_cache_clearНе проверяется

На практике ограничение одно: право mxdadata_view на пункте меню. Остальные права регистрируются, но код их не читает. connector.php проверяет только аутентификацию менеджера, а action не фильтрует, поэтому любой вошедший в MODX менеджер может вызвать любой процессор компонента, включая чтение журнала, очистку кэша и Settings/Save. Проверок прав в процессорах пакета нет: ограничение держится только на скрытии пункта меню.

Подменю Настройки ведёт в Системные настройки с ns=mxdadata (те же 18 ключей, что в справочнике).

Вкладки ​

ВкладкаНазначение
ОбзорKPI: статус API, баланс (руб.), запросы и ошибки за сегодня. Карточка Подключение: Тест соединения, текущий TTL кэша (mxdadata_cache_ttl), Очистить кеш
ЮрлицаПоиск организации по ИНН (Party), таблица полей автозаполнения, сырой JSON
ЛогиТаблица запросов, фильтры, просмотр request/response, Ротация логов

В разметке Vue только три вкладки: overview, party, logs. В лексиконе есть ярлыки ещё четырёх (API, miniShop3, Кеш, Общие, плюс Настройки как подменю), но панелей для них в интерфейсе нет.

Локализация: ru и en полные (по 124 ключа), ua частичная. У менеджера с украинским языком интерфейса часть подписей, включая названия вкладок, выведется сырыми ключами вроде mxdadata_tab_dashboard.

Обзор → Подключение ​

  1. Кабинет DaData — Token и Secret задаются в системных настройках, не на вкладке Обзор.
  2. Тест соединения проверяет доступ к API с текущими ключами.
  3. Очистить кеш удаляет строки mxdadata_cache. Кэш MODX и счётчик RateLimiter не трогает.

Логи ​

  • Фильтры: тип запроса (свободный текст), статус (Все / Успех / Ошибка), даты
  • Значения поля «тип» в журнале: suggest, clean, party, geolocate, version
  • Просмотр: модальное окно с request/response
  • Ротация: удаление записей старше N дней (mxdadata_log_retention_days, по умолчанию 30). В Scheduler можно включить задачу mxdadata_rotate_logs (процессор Logs/Rotate)

Уровень mxdadata_log_level режет INSERT в mxdadata_log: при warning и error успешные ответы (200) в таблицу не попадают. Поля method обрезаются до 64 символов, request и response до 65535 с многоточием.

Юрлица (Party) ​

Проверка API и справочника: введите ИНН. Увидите пять полей, которые mxDadataPartySuggest подставляет в форму: inn, company_name, kpp, ogrn, legal_address. Party при оформлении заказа плагином не вызывается.

Режим разработки ​

mxdadata_debug_mode поднимает уровень логгера до debug целиком: в mxdadata_log начинают попадать успешные ответы, а LoggerService::debug() пишет в лог MODX. Ответы connector-web.php всегда без текста исключения, ответы connector.php при «Да» могут содержать сообщение исключения. Отладка на витрине: ?mxdadata_debug=1 в Интеграции.

Сохранение настроек из интерфейса ​

Кнопки сохранения настроек в панели нет: Settings/Save в бандле админки не вызывается. Меняйте ключи в Системных настройках (ns=mxdadata). При этом процессор Settings/Save доступен через connector.php, и список его полей совпадает с 18 системными настройками.