Skip to content
msRussianPost2
msRussianPost2
Расчёт доставки Почтой России для MODX 3 и MiniShop3
  1. Компоненты
  2. msRussianPost2
  3. Системные настройки

Системные настройки

Все ключи относятся к пространству имён msrussianpost2 (префикс в БД: msrussianpost2_).

Где изменить: Настройки → Системные настройки — фильтр по namespace msrussianpost2.

Быстрый переход из менеджера: Extras → Почта России → Системные настройки — откроется список настроек MODX с фильтром по msrussianpost2 (если пункт реализован в вашей сборке пакета).

Доставка и параметры расчёта

НастройкаОписаниеПо умолчанию
msrussianpost2_delivery_idID доставок MiniShop3 через запятую. Пусто — авто: все доставки с классом msrussianpost2\Delivery\RussianPostDelivery(пусто)
msrussianpost2_sender_indexПочтовый индекс пункта отправления (6 цифр)101000
msrussianpost2_object_codesКоды типов отправлений через запятую23030,27030
msrussianpost2_object_labelsСвои подписи в виджете: строки код=текст (допустимы : | или таб между кодом и текстом), по одной на строку. Строки с # в начале — комментарий. Ручные подписи важнее подписи из ответа API(пусто)
msrussianpost2_tariff_packПараметр pack в запросе GET …/v2/calculate/tariff/delivery публичного API. Для EMS RT (27030) без pack API возвращает ошибку 1201. Значение 1 подходит в большинстве случаев. Пустая строка — не передавать pack (редкие сценарии, часть услуг может перестать считаться). Ключ кэша учитывает это поле1

Популярные коды объектов (ориентир):

КодУслуга
23030Посылка онлайн
27030EMS RT
47030Курьер онлайн
4030Бандероль
2010Заказное письмо 1 класса

Полный перечень удобно смотреть во вкладке Extras → Почта России → Справочник объектов (нужен VueTools).

Для кода 2010 публичный API допускает вес не более 100 г. При большем весе корзины компонент не запрашивает тариф для этого кода (чтобы не получать ошибку 2003 в журнале). Не смешивайте коды писем с посылками без учёта лимитов.

Публичный API часто отдаёт одинаковый caption для разных кодов. Тогда в виджет подставляется название из справочника API по коду. Поле object_labels позволяет задать свои формулировки. После смены подписей очистите кэш на странице компонента (в ключ кэша входит содержимое object_labels).

Справочник кодов объектов расчёта для публичного API — в документации калькулятора Почты России (PDF).

Вес и габариты

НастройкаОписаниеПо умолчанию
msrussianpost2_default_weightВес в граммах, если в корзине нет веса1000
msrussianpost2_weight_coefficientМножитель веса (например 1000, если вес задан в килограммах)1
msrussianpost2_dimensions_enabledПередавать в API габариты посылки0
msrussianpost2_default_lengthДлина по умолчанию, см20
msrussianpost2_default_widthШирина по умолчанию, см20
msrussianpost2_default_heightВысота по умолчанию, см10
msrussianpost2_product_length_keyИмя поля длины товара в данных корзины(пусто → length)
msrussianpost2_product_width_keyИмя поля ширины(пусто → width)
msrussianpost2_product_height_keyИмя поля высоты(пусто → height)

Для каждой позиции корзины читаются три оси (пустые подставляются из дефолтов), в расчёт уходит максимум по каждой оси среди позиций («ящик не меньше самого крупного товара»). Публичный API tariff принимает размеры в сантиметрах. API Отправки POST /1.0/tariff — в миллиметрах (внутри компонента выполняется перевод см × 10). Кэш и журнал учитывают переданные габариты.

API

НастройкаОписаниеПо умолчанию
msrussianpost2_api_modetariff — публичный API. otpravka — персональный API с fallback на tariff при ошибкахtariff
msrussianpost2_api_base_urlБазовый URL публичного APIhttps://tariff.pochta.ru
msrussianpost2_otpravka_base_urlБазовый URL API Отправкиhttps://otpravka.pochta.ru
msrussianpost2_otpravka_tokenBase64-значение для заголовка X-User-Authorization: Basic <token>(пусто)
msrussianpost2_otpravka_keyAccessToken для заголовка Authorization: AccessToken <key>(пусто)

В режиме otpravka тарифы персональные (в т.ч. по договору), действуют лимиты порядка трети суточного объёма отправлений по данным личного кабинета. Режим tariff — публичные тарифы, отдельной авторизации не требует.

Где взять ключи для API Отправки (otpravka)

Персональный расчёт через otpravka.pochta.ru доступен при договоре с Почтой России и подключённом доступе к API в сервисе Отправка (личный кабинет организации). Без договора и активации API остаётся только публичный режим tariff.

  1. Зарегистрируйтесь или войдите в личный кабинет Отправки, оформите договорные отношения с Почтой России, если их ещё нет.
  2. В кабинете откройте раздел API → Настройки (или актуальный аналог в меню личного кабинета). Там выдают пару значений для авторизации запросов.
  3. Значение для Authorization: AccessToken … вставьте в msrussianpost2_otpravka_key. Значение для X-User-Authorization: Basic … (как выдаёт кабинет) — в msrussianpost2_otpravka_token. При расхождении подписей в интерфейсе с заголовками HTTP ориентируйтесь на официальную спецификацию API Отправки (раздел про авторизацию).
  4. В системных настройках MODX выставьте msrussianpost2_api_mode в otpravka и сохраните настройки. Очистите кэш сайта и при необходимости кэш компонента (см. раздел про кэш ниже).

Если токен или ключ неверные, API вернёт 401 и компонент при включённом fallback доберёт варианты через публичный tariff (см. Интеграция и кастомизация → Режимы API).

В режиме otpravka, если токен и ключ пусты, расчёт выполняется только через публичный API. При ошибках по отдельным кодам недостающие варианты добираются через tariff.

Параметры тарифа

НастройкаОписаниеПо умолчанию
msrussianpost2_isaviaАвиа: 0 — нет, 1 — авиа, 2 — наземная0
msrussianpost2_sumoc_enabledОбъявленная ценность (стоимость корзины в расчёте)1
msrussianpost2_sumin_enabledНаложенный платёж / стоимость вложения1
msrussianpost2_servicesДополнительные услуги — коды через запятую(пусто)

Кэш и журнал

НастройкаОписаниеПо умолчанию
msrussianpost2_cache_ttlTTL кэша ответов API, секунды21600 (6 ч.)
msrussianpost2_log_enabledПисать запросы и ответы в журнал раздела «Почта России» в MODX0

Кэш хранится в core/cache/msrussianpost2/. Очистка — кнопка в разделе Extras → Почта России (панель управления MODX) или смена параметров, влияющих на ключ кэша.

Ориентир по msrussianpost2_cache_ttl:

СценарийTTL (сек.)
Обычный магазин21600 (6 ч.)
Частые изменения тарифов3600 (1 ч.)
Минимум запросов к API86400 (24 ч.)

Рекомендации

  • Для рабочего сайта задайте delivery_id, чтобы виджет не показывался при выборе курьера или самовывоза.
  • Начните с api_mode = tariff. Переключайтесь на otpravka, когда есть договор и ключи в личном кабинете Отправки.
  • log_enabled включайте точечно при диагностике — журнал может разрастаться.

Логотип доставки

В MiniShop3 в списке доставок колонка Логотип берётся из поля logo. При установке или обновлении пакета для всех доставок с классом msrussianpost2\Delivery\RussianPostDelivery с пустым логотипом подставляется URL файла assets/components/msrussianpost2/img/pochta-ru-logo.png (фирменный знак Почты России).