[msShiptor] — расчет стоимости доставки «Shiptor»
msShiptor — расчет стоимости доставки, с учетом веса, габаритов и стоимости продуктов для перевозок
агрегатором служб доставки «Shiptor»

Особенности:
Демо: msshiptor.vgrish.ru
Типы доставки:
После установки компонента доступны 3 метода доставки.

Включите необходимые вам методы.
msShiptor.Settlement — точки доставки
Сниппет msShiptor.Settlement — для выбора населенного пункта доставки. По умолчанию активен населенный пунк — Москва.
Можно вывести модалку/ поповер с выбором населенного пункта. Список стран доставки регулируется настройкой
delivery_country, по умолчанию RU,KZ,BY,AM
модальное окно с выбором населенного пункта
[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.modal`
]]
поповер с выбором населенного пункта
[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.popover`
]]
msShiptor.Order — расчет стоимости корзины
Сниппет msShiptor.Order — для расчет стоимости корзины.
Практически сниппет обертка, выполняет необходимые действия, данные выставляет в плейсходеры, затем запускает
поочередно сниппеты из списка elements. Последним необходимо указать родной сниппет msOrder.
сниппет msShiptor.Product.cost — расчет стоимости продукта

События
Информация о доставке
Вся информация о доставке пишется в поле properties заказа. Так же доступна в админке на странице заказов.

События
Важно
— компонент предназначен для работы с новым miniShop2 версии >= 2.4.0-beta2
— работа компонента не тестировалась с другими компонентами доставки, возможны конфликты в работе.
Кастомизация
У методов доставки доступны следующие свойства

Чанки
агрегатором служб доставки «Shiptor»

Особенности:
- работа только с новым miniShop2 (version =>2.4.0-beta2)
- сниппет локации города доставки
- сниппет расчета стоимости корзины
- сниппет расчета стоимости продукта
Демо: msshiptor.vgrish.ru
Типы доставки:
- от адреса до терминала
- от терминала до терминала
- от терминала до адреса
- от терминала до почтового отделения
- от адреса до адреса
После установки компонента доступны 3 метода доставки.
- Самовывоз
- Почта
- Курьер

Включите необходимые вам методы.
msShiptor.Settlement — точки доставки
Сниппет msShiptor.Settlement — для выбора населенного пункта доставки. По умолчанию активен населенный пунк — Москва.
Можно вывести модалку/ поповер с выбором населенного пункта. Список стран доставки регулируется настройкой
delivery_country, по умолчанию RU,KZ,BY,AM
модальное окно с выбором населенного пункта
[[!msShiptor.Settlement? &tpl=`msShiptor.Settlement.modal` ]]Результат:
[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.modal`
]]
поповер с выбором населенного пункта
[[!msShiptor.Settlement? &tpl=`msShiptor.Settlement.popover` ]]Результат:
[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.popover`
]]
msShiptor.Order — расчет стоимости корзины
Сниппет msShiptor.Order — для расчет стоимости корзины.
Практически сниппет обертка, выполняет необходимые действия, данные выставляет в плейсходеры, затем запускает
поочередно сниппеты из списка elements. Последним необходимо указать родной сниппет msOrder.
- tpl — Чанк оформления
- elements — Список сниппетов через запятую, которые нужно запустить
- yandexMapsJsCss — Подключить файлы yandex maps
- bootstrapDialogJsCss — Подключить файлы bootstrap-dialo
- bootstrapPopoverJsCss — Подключить файлы bootstrap-popover
- bootstrapTabJsCss — Подключить файлы bootstrap-tabs
- selectizeJsCss — Подключить файлы selectize
- processBlocks — JSON строка содержащая блоки необходимые для обработки
[[!msShiptor.Order?
&processBlocks=`{
"error":"msShiptor.block.error",
"method-select":"msShiptor.block.method.select",
"method-info":"msShiptor.block.method.info",
"courier-modal":"msShiptor.block.courier.modal"
}`
]]сниппет msShiptor.Product.cost — расчет стоимости продукта
- tpl — Чанк оформления
- product — Идентификатор продукта
- delivery — Идентификатор доставки
<div class="msshiptor-product-cost-pickup"></div> [[!AjaxSnippet? &snippet=`msShiptor.Product.cost` &delivery=`14` &as_target=`.msshiptor-product-cost-pickup` ]]]Результат:

События
- msShiptorOnGetProductOption — получение опций продукта
Информация о доставке
Вся информация о доставке пишется в поле properties заказа. Так же доступна в админке на странице заказов.

События
- msShiptorOnGetProductOption — получение опций продукта
- msShiptorOnBeforeRequest — перед отправкой запроса к api
- msShiptorOnAfterRequest — после отправки запроса к api
Важно
— компонент предназначен для работы с новым miniShop2 версии >= 2.4.0-beta2
— работа компонента не тестировалась с другими компонентами доставки, возможны конфликты в работе.
Кастомизация
У методов доставки доступны следующие свойства
- hidden — список полей которые необходимо скрыть при активной доставке. Например — index,region,city,street,building,room,delivery_address,msshiptor_methods_select
- courier — список перевозчиков привязанных к доставке. Например — shiptor,b2c,boxberry,dpd,iml,pickpoint,cdek,shiptor-one-day,spsr,shiptor-oversize
- category — список категорий перевозки привязанных к доставке. Например — delivery-point,delivery-point-to-delivery-point

Чанки
- msShiptor.Settlement.modal — чанк выбора населенного пункта в модальном окне
- msShiptor.Settlement.popover — чанк выбора населенного пункта в поповере
- msShiptor.order — чанк заказа магазина. Взят дефолтный чанки и добавлены блоки с дополнительной информацией.
— msshiptor_error — вывод ошибки
— msshiptor_methods_select — выбор метода доставки
— msshiptor_methods_info — информация о выбранном методе доставки
- msShiptor.block.error — чанк блока ошибки
- msShiptor.block.method.select — чанк выбора метода доставки
- msShiptor.block.method.info — чанк информации о выбранном методе доставки
- msShiptor.block.point.info — чанк информации о выбранной точке доставки
- msShiptor.block.courier.modal — чанк модального окна выбора курьера доставки
- msShiptor.product.cost — чанк расчета стоиомсти доставки продукта
- msShiptor.block.order.info — чанк информации о доставке заказа магазина
Комментарии: 91
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Только не совсем понятно, как реализована работа с габаритами, ведь они в минишопе вбиваются в виде текстового поля.
СергейСергейСергейЕсть демо сайт, там можно посмотреть компонент в работе.
Если же вы хотите какой то конкретики — то свяжитесь с shiptor.ru/ и уточните моменты что вас интересуют.
После последуют вопросы:
— как изменить методы доставки без перезагрузки
— как изменить стоимость корзины без перезагрузки
— как изменить стоимость продукта без перезагрузки
и тп.
Если у вас есть время и желание вникать в это пожалуйста…
Можно не указывать его вовсе, либо зарегаться на сервисе и указать свой ключ.
«потыкал» Ваш демо сайт, создал свой демо сайт, но так и не понял работает ли выбор города доставки в другую страну (к примеру из россии в казахстан)?
в выпадающем списке только города России, та же Астана не выводится.
А если в функции getShiptorSettlements заменяю delivery_country_code на delivery_country — казахстан выводится, но при расчете доставки выдается ошибка расчета доставки.
нет, либо доставка по России (по умолчанию), либо меняете настройку delivery_country_code на KZ и будет доставка по Казахстану.
Апи этого не позволяет. Расчет всегда идёт от Москвы.
Во всяком случае так было на момент написания пакета.
То есть конкретно это не реализовано именно в апи Шипторг.
Вы можете самостоятельно проверить задав нужный delivery_kladr_id_from в properties способа доставки.
и вносить свои корректировки на стоимость и время доставки. Других вариантов нет.
Возможно ли задать еще для почты объявленную ценность? Так не работает:
Либо плагин на msShiptorOnBeforeRequest
должно сработать.
Думаю да, отпишите в ТП и приложите доступы к админке сайта.
Спасибо!
Расчет стоимости доставки конкретного продукта производится не полностью:
Если страницу перезагрузить пару раз, стоимость доставки «Курьером до дверей» может просчитаться, а «Самовывоз» нет.
Т.е. рандомно, то считает, то нет.
Пробовал вызвать msShiptor.Product.cost напрямую без AjaxSnippet, тот же результат.
Обновите компонент, обновите чанк msShiptor.block.point.info
Выглядит как ограничение самой службы доставки, но это как-то очень странно и скорее это какой-то баг.
Можете помочь?
____
PS: при добавлении 6-й позиции — остается только опция «почта», при добавлении 7-й позиции — система пишет «ошибка расчета».
есть настройки по заданию размеров посылки по дефолту, попробуйте изменить их до актуальных/ уменьшить.
Но все-равно как-то странно. 100 товаров 10см3 они доставляют, а 10 разных таких же размеров не просчитывает.
И это проблема модуля или сам сервис Shiptor как-то коряво считает и запрещает доставку?
чудес не бывает.
Или из самих товаров как-то берутся?
Если выбран не город, а какое-нибудь село, то не передается в графу города. Я понимаю, что село — не город, но есть какой-нибудь простой вариант, чтобы любой населенный пункт передавался?
Или если выбрать какой-нибудь город с областью, то и область и город передадутся, а после — выбирая Москву, область так и останется от прошлого города, т к у Москвы как бы области нет, а хотелось бы, чтобы область очищалась.
С этим действительно был косяк, поправил в новой версии.
да, вес берется из поля вес товара. По умолчанию вес указывается в кг.
В настройках доставки минишопа можно увеличить стоимость доставки на определенную сумму или на процент (!) Для этого в соответствующем поле надо написать число и %, например, 70%
В случае увеличения стоимости на %%, допустим, самовывоза, первое значение кэшируется и первый вариант доставки увеличивается на указанную величину %%, а вот последующие варианты увеличиваются на %% от первого варианта доставки.
Для наглядности я здесь увеличил доставку на 100% и получилось что Shiptor стал 180 вместо 90 (90+90), а вот все остальные варианты стали не в два раза больше, а тоже на 90.
Было:
Стало:
Пробовал с разными процентами — поведение одинаковое.
Поправь пожалуйста!
Поправил, спасибо!
Нет, да и чисто теоретически как вы это представляете? Если в один момент времени у вас в корзине товары с разных городов и по каждому товару разное время и стоимость доставки.
Если товары с разных городов в корзине, рассчитываются отдельно. Для каждого товара свои сроки доставки, но у нас обычно не более 2 заказывают. И в основном с одного склада.
Что это будет? Один заказ с разными доставками или разные заказы с группировкой по складам?
Как вы далее по заказу работаете с клиентом, там и должна строится логика.
Поэтому да, лучше разные заказы, при условии что они отличаются по опции склада.
Вам прежде нужно реализовать данный функционал заказа, а расчет стоимости уже далее подстраивать под вашы задачи.
А на странице товара, выше описанный функционал возможно реализовать, т.е для каждого товара свои сроки доставки в зависимости от склада?
Договор с ПикПоинт почти готов, просто купить компонент, вписать настройки… и дело сделано — все будет работать !?
А габариты в виде тегов в свойства товара, в сантиметрах например: 10, 20, 25 — подходят или надо переделывать? На будущее хочется универсальности — чтобы эти же габариты использовались и в калькуляторах ЖелДор/Деловые линии…
И будет ли конфликтовать, с отлично работающими калькуляторами Павла Зарубина — СДЕК и Почта?
То есть нам необходимо рассчитать доставку и отправить данные в ЛК (Номер договора у нас есть)
Расчет работает, а заказ почему то не создается. Или такой возможности нет?
Дополнение только рассчитывает стоимость доставки, заказ в шипторе не создается.
Не могу удержаться от примера из AddPackage
Проверка номера телефона на корректность, кстати, более придирчивая, чем у miniShop2
Верно?
Создал плагин
Я прописал опции атрибутами, да хоть ТВ полями можно главное передать их
Может это никому и не нужно, но у меня заявки создаются а значит и расчет нужен верный и с этими данными я заявку кидаю
В карточке товара прописываю сниппет для расчёта стоимости доставки товара yadi.sk/i/0JCkJ6P6gjoECA
Но ничего не появляется yadi.sk/i/44TZvK1zwWwKCA
Пробовал без ajaxsnippet — также ничего не происходит
Буду рад помощи, так как очень заинтересован в покупке компонента
Нам нужно обновить компонент на новый api.
Это должен разработчик предоставить? @Володя
Это запросто может быть другой компонент за отдельные деньги.
Скажи пожалуйста, метод getDeliveryPoints отдает точки всех доставщиков которые указаны в настройках?
А то у нас шиптор в списке есть, можно выбрать, но ни одной точки ни на карте ни списком не показывает.
Вы можете получить доступные вам методы доставки методом getShippingMethods shiptor.ru/doc/#api-Shipping-getShippingMethods. Оба метода возвращаются: Сберпосылка — 229, Сберкурьер — 238. Таким образом, при запросе calculateShipping данные методы возвращаются, если нет превышения по весу/габаритам. "
Но увы, смотрели, пробовали добавить/включить, не помогло.
Как добавить новые КС?
На демо сайте, обновились кс ?!
В чем может быть проблема?
У кого подключен Боксберри для выбора, он у вас не пропал? )
Последняя активность 02 сентября 2020, 16:34
По платным дополнениям — нужно обращаться в ТП, а не в сообщество писать.
Допустим заказ в населенный пункт «Волжский». таких городов и сел может быть много. Может быть даже штук 20. Т.е. в выпадающем списке можно даже не найти нужный пункт иди не доскролить до него.
На сайте https://shiptor.ru/calculate выглядит это вот так
Поиск можно уточнить так «Волжский пос»
Или можно уточнить указав регион «Волжский ниж»
Но компонент msShiptor так не умеет. Он понимает только прямой запрос «Волжский»
То есть многие клиенты не смог найти свой населенный пункт и не смогут сделать заказ.
Как быть?