
Админка в MODX
Раздел Extras → Почта России в панели управления MODX: тест расчёта без витрины, журнал запросов к API, справочник кодов объектов и кнопка очистки кэша. Интерфейс на Vue 3 и PrimeVue 4.
Требования
Нужен установленный VueTools: он даёт Vue и Pinia через Import Map. PrimeVue 4 дополнение собирает в собственный бандл и подключает сам. Без VueTools при открытии пункта меню показывается предупреждение с подсказкой по установке. На сайт магазина и виджет оформления заказа VueTools не влияет.
Кнопка «Очистить кэш»
Вверху страницы. Удаляет закэшированные ответы API из core/cache/msrussianpost/.
Нажимайте после изменения системных настроек (индекс отправителя, коды объектов, режим API и т.д.), при переключении tariff ↔ otpravka и если подозреваете устаревшие тарифы. После успешной очистки обычно показывается Toast «Кэш очищен».
Таб «Тестовый расчёт»


Проверка тарифов без оформления заказа на витрине.
| Поле | Смысл | Откуда берётся по умолчанию |
|---|---|---|
| Индекс отправителя | Откуда везём, 6 цифр | msrussianpost_sender_index |
| Индекс получателя | Куда везём, 6 цифр | ввод вручную (обязательно) |
| Вес (г) | Вес отправления | msrussianpost_default_weight |
| Коды объектов | Типы отправлений через запятую | msrussianpost_object_codes |
| Длина (см) | Габарит по длине | пусто: msrussianpost_default_length |
| Ширина (см) | Габарит по ширине | пусто: msrussianpost_default_width |
| Высота (см) | Габарит по высоте | пусто: msrussianpost_default_height |
Поля габаритов подписаны как опциональные: они нужны, чтобы проверить расчёт с размерами. Заполнены все три и больше нуля: в запрос уходят именно они. Пусто или заполнены не все три: применяются дефолты из настроек, но только при включённом msrussianpost_dimensions_enabled. При выключенном флаге габариты в запрос не попадают.
Нажмите Рассчитать. В таблице результатов шесть колонок:
| Колонка | Что показывает |
|---|---|
| Код | Код объекта из msrussianpost_object_codes |
| Услуга | Название услуги из ответа API |
| Стоимость | Цена в рублях |
| Срок | Диапазон дней, например 2–5 дн. |
| API | Источник строки: публичный tariff.pochta.ru или персональный otpravka.pochta.ru |
| Ответ API | Текст ошибки, если тариф по коду не посчитан; для посчитанных строк прочерк |
Всплывающее уведомление после расчёта показывает, сколько тарифов найдено и сколько строк вернули ошибку API.
Если таблица пуста — для заданных индексов/кодов/веса Почта не вернула тарифы. Проверьте параметры и журнал. Если в режиме otpravka в колонке API указан публичный — сработал fallback (ошибка/лимит персонального API или не заданы ключи).
Таб «Журнал запросов»

Доступен, когда в настройках включено msrussianpost_log_enabled. Таблица показывает время запроса, индексы, вес, габариты, стоимость из ответа, длительность (мс) и использованный API (tariff / otpravka). Кнопки Очистить журнал и Обновить.
| Колонка | Что показывает |
|---|---|
| Дата | Время запроса |
| Откуда | Индекс отправителя |
| Куда | Индекс получателя |
| Вес | Вес отправления |
| Габариты (см) | Размеры посылки, например 30×20×10; для API Отправки единица меняется на мм |
| Ответ | Стоимость из ответа API |
| Время (мс) | Длительность HTTP-запроса |
| API | tariff или otpravka |
Если логирование выключено или файл журнала пуст, на странице выводится соответствующее сообщение. Журнал пишется в core/cache/msrussianpost_requests.log, панель читает последние 100 строк.
Таб «Справочник объектов»

Подгружает описания только тех кодов, что заданы в msrussianpost_object_codes: для каждого кода запрос к публичному API (dictionary/object/list). Без параметра object API отвечает метаданными вместо списка типов. Так можно убедиться, что коды существуют и совпадают с нужными услугами (название, поля mailtype / mailctg / directctg в терминах тарификатора).
- Сохраните коды в системных настройках.
- Нажмите Загрузить справочник.
- Поле поиска фильтрует строки на клиенте.
- После смены списка кодов снова загрузите справочник при необходимости.
Права доступа
Начиная с версии 1.0.1 у компонента есть собственные права, которые проверяет коннектор admin-ui и вкладки журнала и справочника:
| Право | Что разрешает |
|---|---|
msrussianpost_view | Просмотр данных компонента: журнал запросов, справочник объектов, тестовый расчёт, блок тарифа в карточке заказа |
msrussianpost_settings | Очистка журнала и очистка кэша |
Право msrussianpost_settings включает в себя msrussianpost_view. Системное право settings тоже подходит: на него завязан пункт меню компонента, поэтому администраторы, работавшие до появления своих прав, ничего не теряют.
Назначьте права группам в Пользователи → Права. Без них вкладки отдают ошибку в консоли и {"success": false, "message": "forbidden"} в ответе коннектора, хотя вход в админку выполнен.
Осторожно с журналом
Журнал запросов хранится в core/cache/msrussianpost_requests.log и содержит тела обращений к API Почты России вместе с адресами покупателей. Выдавайте msrussianpost_view только тем, кому эти данные действительно нужны.
Типовой порядок работы
- Заполните
msrussianpost_sender_indexиmsrussianpost_object_codes, при необходимости режим API и ключи otpravka — см. Системные настройки. - На вкладке Справочник объектов проверьте коды.
- На Тестовом расчёте проверьте маршрут и вес.
- При диагностике включите
msrussianpost_log_enabled, воспроизведите сценарий, смотрите Журнал, затем выключите логирование. - После любых правок настроек не забывайте Очистить кэш на этой же странице.
См. также FAQ и Интеграция.
