990
11.79
14.14
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Версия
1.0.1-pl
Дата выпуска
26.08.2026
Загрузки
0
Просмотры
64
Внимание, этот компонент требует PHP
8.2
или выше!
Внимание, этот компонент требует MODX 3 или выше.
msYandexDelivery — Яндекс Доставка для MODX Revolution 3 и MiniShop3
Кому подойдёт
Чекаут
Вкладка заказа
Настройки
Скриншоты


Быстрый старт
Требования
msYandexDelivery связывает магазин на MiniShop3 с Yandex Delivery Platform API («Доставка по России», other-day): расчёт на чекауте, карта ПВЗ v2, заявки из карточки заказа. Статусы через request/info, Scheduler или cron. У API нет push-webhook.
На чекауте покупатель выбирает доставку до двери или пункт выдачи. Менеджер работает с заявкой во вкладке заказа MS3: create, confirm, refresh, cancel.
Кому подойдёт
- нужна Яндекс Доставка в MiniShop3 без правок ядра магазина
- есть договор и Bearer-токен, platform_station_id склада отправителя
- на чекауте нужны и курьер до адреса, и выбор ПВЗ на карте
- заявки удобнее вести из карточки заказа, а не из отдельного CMP
Чекаут
- Сниппеты msYandexDelivery, msydLexiconScript, контейнер
- Установщик создаёт два способа доставки MS3: до двери и ПВЗ, класс msyandexdelivery\Delivery\YandexDelivery
- Дверь: адрес из формы MS3, кнопка «Рассчитать», pricing-calculator
- ПВЗ: официальный виджет v2 (widget-pvz.dostavka.yandex.net), событие YaNddWidgetPointSelected
- Виджет слушает ms3Hooks.afterAddOrder, ms3:ready и поля адреса в form.ms3_order_form
- Настройка msyandexdelivery_delivery_id привязывает виджет к ID доставок в MS3
Вкладка заказа
- Yandex Delivery на карточке заказа MS3 (нужен VueTools)
- Create → Confirm → Refresh → Cancel
- «Пересоздать заявку», если есть offer_id без request_id
- Данные в properties.msyandexdelivery и таблице msyandex_requests
Настройки
- msyandexdelivery_base_url, oauth_token, platform_station_id
- msyandexdelivery_widget_geo_id, высота карты, типы точек на карте
- msyandexdelivery_environment (test/prod) только для подсказок в UI, host API не меняет
- Публичный calculate не отдаёт raw_response Яндекса. list_pickup_points только для менеджера
Скриншоты


Быстрый старт
- Extras → Installer → установите msYandexDelivery с modstore.pro
- В namespace msyandexdelivery задайте base_url, токен и platform_station_id
- На шаблон чекаута: {'!msydLexiconScript' | snippet}, {'!msYandexDelivery' | snippet},
- Проверьте расчёт до двери и выбор ПВЗ. Оформите тестовый заказ, откройте вкладку заказа
{'!msydLexiconScript' | snippet}
{'!msYandexDelivery' | snippet}
<div data-msyd-widget></div>Требования
- MODX Revolution 3.0.3+
- PHP 8.2+
- MiniShop3
- VueTools для вкладки заказа в менеджере
Документация API Яндекса: yandex.com/support/delivery-profile/ru/api/other-day/
Changelog - msYandexDelivery
Format: Keep a Changelog Versioning: Semantic Versioning
[1.0.1-pl] - 2026-08-26
Исправления после тестов чекаута и сверки заказов на стенде MiniShop3.
Fixed
- Чекаут: хук MS3 afterAddOrder регистрируется через ms3Hooks.addHook (раньше не подключался).
- Адрес из формы MS3: слушатели change и input, синхронизация на ms3:ready и перед «Рассчитать».
- Fallback-адрес на тест-стенде подставляется только если поле виджета пустое.
- Cache-busting для yandexdelivery.min.js в сниппете и плагине вкладки (?v=filemtime).
- delivery_cost совпадает с properties.msyandexdelivery.price при сохранении опции.
- tariff берётся из delivery_id заказа, door и ПВЗ не смешиваются в properties.
- YandexDelivery::getCost(): tariff из ID доставки MS3, иначе price из option.
- Карта ПВЗ: если тег widget.js уже в DOM, скрипт дожидается YaDelivery. В params карты передаётся geo_id.
- Виджет на ms3-delivery-widgets-test: при MS3_DELIVERY_WIDGETS_TEST и пустом delivery_id показывается переключатель тарифов, smoke delivery_id для пустой корзины.
- create_request: ответ только с request_id (без offers[]) обрабатывается как уже подтверждённая заявка, статус через request/info.
- Вкладка заказа: кнопка «Пересоздать заявку» при offer_id без request_id.
Changed
- Дефолты настроек без тестового Bearer и склада. environment по умолчанию prod.
- Публичный calculate не отдаёт raw_response Яндекса.
- list_pickup_points только для менеджера.
- Убраны тестовые fallback-адреса на чекауте и console.warn во вкладке заказа.
Upgrade
- Обновите пакет через Extras → Installer (modstore.pro) и очистите кэш MODX.
- Заказы с delivery_cost = 0 и непустой price в properties не пересчитываются. На новых заказах расхождение не воспроизводится.
- Подробности в readme.txt, секция «Обновление с 1.0.0-pl».
[1.0.0-pl] - 2026-08-21
Первый релиз msYandexDelivery для MODX 3 и MiniShop3.
Added
- Yandex Delivery Platform API («Доставка по России»): расчёт, создание и подтверждение заявки, статус через request/info. У other-day API нет push-webhook.
- Установщик создаёт два способа доставки (до двери и ПВЗ), класс YandexDelivery, плагины расчёта и сохранения выбора на чекауте.
- Чекаут: сниппеты msYandexDelivery и msydLexiconScript, форма до двери, карта ПВЗ v2. В connector: calculate, select_option, list_pickup_points.
- Вкладка заказа в менеджере: create, confirm, refresh, cancel. Статусы через Scheduler или connector sync_statuses.
- Таблица msyandexrequests, блок properties.msyandexdelivery в заказе, настройки msyandexdelivery*, лексиконы ru и en.
Requirements
- PHP 8.2+, MODX 3.x, MiniShop3, VueTools для вкладки заказа.



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