[msShiptor] — расчет стоимости доставки «Shiptor»

msShiptor — расчет стоимости доставки, с учетом веса, габаритов и стоимости продуктов для перевозок
агрегатором служб доставки «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 — чанк информации о доставке заказа магазина
Компонент в магазине: modstore.pro/packages/integration/msshiptor
Володя
16 мая 2017, 09:01
modx.pro
5 179
+10
Поблагодарить автора Отправить деньги

Комментарии: 91

Алексей Андреев
16 мая 2017, 15:51
0
Полезная штука, есть повод перейти от конкурентов (Грастин) к этим товарищам.
Только не совсем понятно, как реализована работа с габаритами, ведь они в минишопе вбиваются в виде текстового поля.
    Володя
    16 мая 2017, 15:58
    +1
    Полезная штука, есть повод перейти от конкурентов (Грастин) к этим товарищам.
    Только не совсем понятно, как реализована работа с габаритами, ведь они в минишопе вбиваются в виде текстового поля.
    есть событие на получение размеров товара и вы можете прописать свою логику, в рамках же текущего пакета это сделано просто настройками… то есть задаете длинну, ширину, высоту посылки.
    Сергей
    Сергей
    05 августа 2017, 15:30
    0
    вес учитывается? особенно касаемо Почты России?
      Володя
      05 августа 2017, 22:19
      0
      расчет стоимости доставки, с учетом веса, габаритов и стоимости продуктов
      Сергей
      Сергей
      05 августа 2017, 15:35
      0
      по логике, если куплю этот модуль, то он полностью заменит модули сдек и почта россии???
        Сергей
        Сергей
        05 августа 2017, 21:45
        0
        удалите. купил сдек+почтароссии
          Володя
          05 августа 2017, 22:19
          0
          полностью/неполностью но там есть сдек и почта, демо тут msshiptor.vgrish.ru/index.php?id=5
          Сергей Кепкин
          11 октября 2017, 11:24
          0
          а выбор города на основе какой БД?
          Сергей Кепкин
          11 октября 2017, 11:40
          0
          GeoLocation реально подклеить?
          Сергей Кепкин
          11 октября 2017, 11:41
          0
          Будут ли проблемы от Шиптора, если будет частый запрос на расчет? Например, если 2000 клиентов в сутки будут делать заказы? Из них около 500 в сутки непременно долбят 2-3 раза выбор города. Цифры реальные)))
            Володя
            11 октября 2017, 11:51
            +1
            не думаю что это проблема, запросы кэшируются на сайте. То есть если один пользователь в подсказке набрал — влад то и любой другой пользователь с данным запросом получит ответ из кэша минуя обращение к самому апи shiptor.
            Если же вы хотите какой то конкретики — то свяжитесь с shiptor.ru/ и уточните моменты что вас интересуют.
            Сергей Кепкин
            11 октября 2017, 12:11
            0
            смену города на странице товара без перезагрузки можно сделать своими силами?
              Володя
              11 октября 2017, 12:28
              +1
              Теоретически можно, практически не вижу в этом пользы.
              После последуют вопросы:
              — как изменить методы доставки без перезагрузки
              — как изменить стоимость корзины без перезагрузки
              — как изменить стоимость продукта без перезагрузки
              и тп.

              Если у вас есть время и желание вникать в это пожалуйста…
                Сергей Кепкин
                11 октября 2017, 13:34
                0
                угу, спасибо. на странице товара перечисленные Вами потенциальные вопросы и не требуются)))
              Сергей Кепкин
              11 октября 2017, 12:37
              0
              API-ключ используется один Ваш на всех)) или надо свой получать?
                Володя
                11 октября 2017, 12:56
                0
                В базовой версии компонента используются методы что не требуют указания API-ключа.
                Можно не указывать его вовсе, либо зарегаться на сервисе и указать свой ключ.
                Илья
                12 ноября 2017, 22:35
                0
                Здравствуйте! Передача груза в доставку не реализована?
                  Егор
                  21 ноября 2017, 07:39
                  0
                  Добрый день, Владимир!
                  «потыкал» Ваш демо сайт, создал свой демо сайт, но так и не понял работает ли выбор города доставки в другую страну (к примеру из россии в казахстан)?
                  в выпадающем списке только города России, та же Астана не выводится.
                  А если в функции getShiptorSettlements заменяю delivery_country_code на delivery_country — казахстан выводится, но при расчете доставки выдается ошибка расчета доставки.
                    Володя
                    21 ноября 2017, 10:49
                    0
                    Добрый день.
                    так и не понял работает ли выбор города доставки в другую страну (к примеру из россии в казахстан)?
                    нет, либо доставка по России (по умолчанию), либо меняете настройку delivery_country_code на KZ и будет доставка по Казахстану.

                      Егор
                      21 ноября 2017, 12:18
                      0
                      Понял, благодарю за ответ. А для чего тогда настройка delivery_country с перечисление стран? нигде в коде не нашел даже упоминания о ней.
                    Денис
                    18 января 2018, 14:59
                    0
                    Здравствуйте! Где или как указать город отправки груза?
                      Володя
                      18 января 2018, 15:03
                      0
                      Добрый день.
                      Апи этого не позволяет. Расчет всегда идёт от Москвы.
                        Денис
                        18 января 2018, 15:44
                        0
                        Не совсем понимаю, на сайте shiptor в документации указаны параметры API для указания города отправителя в свойствах такая конструкция не работает «params»:{«kladr_id_from»:«3100000100000»}. Так же на сайте shiptor есть калькулятор где есть возможность выбора города отправления. Такая возможность не реализована именно в компоненте?
                          Володя
                          18 января 2018, 15:49
                          0
                          Насколько я помню такое указание города отправления поддерживает только dpd.
                          Во всяком случае так было на момент написания пакета.
                          То есть конкретно это не реализовано именно в апи Шипторг.
                            Денис
                            18 января 2018, 16:00
                            0
                            Сейчас проверил, калькулятор на шипторге, учитывает город отправления, в том числе и для СДЕК, возможно появилась такая возможность. Проверьте пожалуйста.
                              Володя
                              18 января 2018, 18:04
                              0
                              нет, все как и было. Такой метод расчета доставки поддерживает только dpd.
                              Вы можете самостоятельно проверить задав нужный delivery_kladr_id_from в properties способа доставки.
                                Денис
                                18 января 2018, 19:16
                                0
                                Да, действительно. Получается ничего нельзя сделать, чтобы правильно доставка считалась?
                                  Володя
                                  18 января 2018, 19:19
                                  0
                                  как вариант написать плагин на событие msShiptorOnAfterRequest
                                  и вносить свои корректировки на стоимость и время доставки. Других вариантов нет.
                                    Денис
                                    19 января 2018, 12:41
                                    0
                                    Так вроде учитывает город отправки (для СДЕК):
                                    "courier":"cdek","category":"delivery-point-to-delivery-point","delivery_kladr_id_from":"3100000400000"}
                                    .
                                    Возможно ли задать еще для почты объявленную ценность? Так не работает:
                                    "declared_cost": 10
                                      Володя
                                      19 января 2018, 12:59
                                      0
                                      Объявленная ценность задается из общей стоимости корзины.
                                        Денис
                                        19 января 2018, 13:46
                                        0
                                        Можно отключить эту функцию? Нужно чтобы объявленная ценность была = 0
                                        Володя
                                        19 января 2018, 14:35
                                        0
                                        либонаписать кастомный метод доставки в котором учесть все ваши требования.
                                        Либо плагин на msShiptorOnBeforeRequest
                                        unset($params["declared_cost"]);
                                        $values = $modx->Event->returnedValues;
                                        $values["params"] = $params;
                                        $modx->event->returnedValues = $values;
                                        должно сработать.
                                        Денис
                                        20 января 2018, 23:35
                                        0
                                        Работает. Есть необходимость добавить свои способы доставки. Самовывоз, курьер по Белгороду и другие ТК, для этих способов фиксированная сумма доставки (например, 500р). При добавлении способа без указания класса-обработчика, подгружаются данные с других способов (сдек и др). Можно ли добавить свои способы доставки?
                                        Володя
                                        21 января 2018, 10:55
                                        0
                                        Добрый день.
                                        Можно ли добавить свои способы доставки?
                                        Думаю да, отпишите в ТП и приложите доступы к админке сайта.
                                        Спасибо!
                                        Денис
                                        21 января 2018, 11:03
                                        0
                                        Ок, спасибо. Напишу вам после покупки и установки компонента.
                    Владимир Тельнов
                    14 июня 2018, 11:40
                    0
                    Добрый день.

                    Расчет стоимости доставки конкретного продукта производится не полностью:

                    Если страницу перезагрузить пару раз, стоимость доставки «Курьером до дверей» может просчитаться, а «Самовывоз» нет.

                    Т.е. рандомно, то считает, то нет.

                    Пробовал вызвать msShiptor.Product.cost напрямую без AjaxSnippet, тот же результат.

                      Володя
                      14 июня 2018, 13:55
                      +1
                      Добрый день.
                      Обновите компонент, обновите чанк msShiptor.block.point.info
                    Павел
                    15 июня 2018, 13:50
                    0
                    Приветствую. На одном сайте замечен такой баг — если в корзине 5 позиций товара, то в доставке — самовывоз пишет «Ошибка» и перекидывает на почту (иногда и не успеваешь заметить эту надпись). Причем именно позиций, а не товаров (товаров хоть 100 штук накладывай).
                    Выглядит как ограничение самой службы доставки, но это как-то очень странно и скорее это какой-то баг.
                    Можете помочь?
                    ____
                    PS: при добавлении 6-й позиции — остается только опция «почта», при добавлении 7-й позиции — система пишет «ошибка расчета».
                      Володя
                      15 июня 2018, 14:05
                      +1
                      Выглядит как ограничение самой службы доставки, но это как-то очень странно и скорее это какой-то баг.
                      если доставка невозможно то данный способ доставки будет скрыт.

                      есть настройки по заданию размеров посылки по дефолту, попробуйте изменить их до актуальных/ уменьшить.
                        Павел
                        15 июня 2018, 14:21
                        0
                        благодарю, за совет. Поставил габариты 1на1на1см — работает)
                        Но все-равно как-то странно. 100 товаров 10см3 они доставляют, а 10 разных таких же размеров не просчитывает.

                        И это проблема модуля или сам сервис Shiptor как-то коряво считает и запрещает доставку?
                          Павел
                          15 июня 2018, 14:32
                          0
                          и конечно с липовыми габаритами он цену будет неверную считать…
                            Володя
                            15 июня 2018, 14:38
                            0
                            либо у вас неверно указаны габариты/ вес, либо вы попадаете на ограничение доставки.
                            чудес не бывает.
                              Павел
                              15 июня 2018, 16:29
                              0
                              ну габариты, вес, кроме системных настроек нигде не указываются?
                              Или из самих товаров как-то берутся?
                                Павел
                                15 июня 2018, 17:01
                                0
                                И еще есть такая проблема. Даже на демо-сайте видно.
                                Если выбран не город, а какое-нибудь село, то не передается в графу города. Я понимаю, что село — не город, но есть какой-нибудь простой вариант, чтобы любой населенный пункт передавался?
                                Или если выбрать какой-нибудь город с областью, то и область и город передадутся, а после — выбирая Москву, область так и останется от прошлого города, т к у Москвы как бы области нет, а хотелось бы, чтобы область очищалась.
                                  Володя
                                  16 июня 2018, 10:44
                                  0
                                  Доброе утро.
                                  Если выбран не город, а какое-нибудь село, то не передается в графу города. Я понимаю, что село — не город, но есть какой-нибудь простой вариант, чтобы любой населенный пункт передавался?
                                  С этим действительно был косяк, поправил в новой версии.
                                  Или из самих товаров как-то берутся?
                                  да, вес берется из поля вес товара. По умолчанию вес указывается в кг.
                            Владимир Тельнов
                            15 июня 2018, 14:14
                            +1
                            Проверьте вес товаров. Возможно по ошибке у товаров указан слишком большой вес, в результате чего превышается допустимый вес.
                            Ярослав
                            21 ноября 2018, 18:04
                            0
                            Приветствую! А как можно убрать город по умолчанию, вывести «Выбрать город» и до того как населенный пункт еще не выбран скрывать блок информации о доставке
                              Николай
                              26 ноября 2018, 20:53
                              0
                              Возникла необходимость при заказе определенного товара скрывать определенные методы доставки. Как это правильно организовать?
                                Николай
                                26 ноября 2018, 23:11
                                0
                                Сделал через данные в сессии. Если кому пригодится:
                                {foreach $.session.minishop2.cart as $cartItem index=$cartIndex}
                                   {if $cartItem.id == 111} {$hasGood = 1} {/if}
                                {/foreach}
                                Руслан Сафин
                                29 ноября 2018, 09:17
                                0
                                Обновил до modx 2.7 начали выпадать ошибки и разваливается страница с оформлением заказа:
                                [2018-11-29 07:16:36] (ERROR @ phar:///Applications/XAMPP/xamppfiles/htdocs/core/components/msshiptor/handlers/guzzle/6.2.3/guzzle.phar/GuzzleHttp/Handler/CurlHandler.php : 40) PHP warning: curl_exec(): Unable to create temporary file, Check permissions in temporary files directory.
                                [2018-11-29 07:16:36] (ERROR @ phar:///Applications/XAMPP/xamppfiles/htdocs/core/components/msshiptor/handlers/guzzle/6.2.3/guzzle.phar/GuzzleHttp/Handler/CurlFactory.php : 67) PHP warning: count(): Parameter must be an array or an object that implements Countable
                                [2018-11-29 07:16:36] (ERROR @ /Applications/XAMPP/xamppfiles/htdocs/core/components/pdotools/model/pdotools/pdotools.class.php : 582) cURL error 23: Failed writing body (519 != 16384) (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
                                [2018-11-29 07:16:39] (ERROR @ phar:///Applications/XAMPP/xamppfiles/htdocs/core/components/msshiptor/handlers/guzzle/6.2.3/guzzle.phar/GuzzleHttp/Handler/CurlHandler.php : 40) PHP warning: curl_exec(): Unable to create temporary file, Check permissions in temporary files directory.
                                [2018-11-29 07:16:39] (ERROR @ /Applications/XAMPP/xamppfiles/htdocs/core/components/pdotools/model/pdotools/pdotools.class.php : 582) cURL error 23: Failed writing body (519 != 16384) (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
                                  Boris Akimenko
                                  14 декабря 2018, 17:40
                                  0
                                  Володя, привет!
                                  В настройках доставки минишопа можно увеличить стоимость доставки на определенную сумму или на процент (!) Для этого в соответствующем поле надо написать число и %, например, 70%

                                  В случае увеличения стоимости на %%, допустим, самовывоза, первое значение кэшируется и первый вариант доставки увеличивается на указанную величину %%, а вот последующие варианты увеличиваются на %% от первого варианта доставки.
                                  Для наглядности я здесь увеличил доставку на 100% и получилось что Shiptor стал 180 вместо 90 (90+90), а вот все остальные варианты стали не в два раза больше, а тоже на 90.
                                  Было:


                                  Стало:


                                  Пробовал с разными процентами — поведение одинаковое.
                                  Поправь пожалуйста!
                                    Володя
                                    17 декабря 2018, 08:56
                                    0
                                    Доброе утро.
                                    Поправил, спасибо!
                                    Ильяс
                                    05 января 2019, 10:09
                                    0
                                    Здравствуйте. Возможно ли задать для разных групп товаров, разные города отправки? Дело в том что у нас несколько складов в разных городах, с разным ассортиментом. К примеру в Екатеринбурге тренажеры, в Москве велосипеды. Доставляем по всей России.
                                      Володя
                                      05 января 2019, 10:30
                                      0
                                      Добрый день.
                                      Нет, да и чисто теоретически как вы это представляете? Если в один момент времени у вас в корзине товары с разных городов и по каждому товару разное время и стоимость доставки.
                                        Ильяс
                                        05 января 2019, 10:45
                                        0
                                        Теоретически каждый товар обозначается дополнительной опцией «склад_город». К примеру велосипед (sk_ekb), тренажер (sk_msk), соответственно sk_ekb — из Екатеринбурга, sk_msk — из Москвы. И не важно какой товар главное какое обозначение в опции.
                                        Если товары с разных городов в корзине, рассчитываются отдельно. Для каждого товара свои сроки доставки, но у нас обычно не более 2 заказывают. И в основном с одного склада.
                                          Володя
                                          05 января 2019, 10:54
                                          0
                                          Допустим посчитали мы стоимость и время доставки по разным складам. И что далее?
                                          Что это будет? Один заказ с разными доставками или разные заказы с группировкой по складам?
                                          Как вы далее по заказу работаете с клиентом, там и должна строится логика.
                                            Ильяс
                                            05 января 2019, 11:33
                                            0
                                            Также как и у крупных интернет-магазинов, у них также несколько складов по России. Из корзины, заказ поступает в crm (retailcrm), я думаю что это будет разные заказы, т.к для каждого склада будет формироваться своя транспортная накладная, в retailcrm на сколько я знаю нет возможности формировать 2 разные транспортные накладные для каждого товара в отдельности. Да и смс оповещение при перемещении удобнее для каждого заказа формировать.
                                            Поэтому да, лучше разные заказы, при условии что они отличаются по опции склада.
                                              Володя
                                              05 января 2019, 12:02
                                              0
                                              Уже лучше. Теперь у вас есть картина того что вам необходимо.
                                              Вам прежде нужно реализовать данный функционал заказа, а расчет стоимости уже далее подстраивать под вашы задачи.
                                                Ильяс
                                                05 января 2019, 12:27
                                                0
                                                Хорошо, с корзиной разобрались.
                                                А на странице товара, выше описанный функционал возможно реализовать, т.е для каждого товара свои сроки доставки в зависимости от склада?
                                                  Володя
                                                  06 января 2019, 10:00
                                                  0
                                                  Либо кастомный сниппет на основе дефолтного, либо можно плагином на msShiptorOnBeforeRequest
                                                  if ($modx->event->name === 'msShiptorOnBeforeRequest' AND $mode === 'calculateShipping') {
                                                  
                                                      /** @var minishop2 $ms2 */
                                                      $ms2 = $modx->getService('minishop2');
                                                      $ms2->initialize();
                                                      $order = $ms2->order->get();
                                                  
                                                      $product = isset($order['product']) ? (int)$order['product'] : 0;
                                                      $msshiptor_propkey = isset($order['msshiptor_propkey']) ? $order['msshiptor_propkey'] : '';
                                                  
                                                      if (!empty($product) AND empty($msshiptor_propkey)) {
                                                  
                                                          // по идентификатору продукта получаем инфу склада и выставляем "kladr_id"
                                                          $params['kladr_id'] = '2600000100000';
                                                          $modx->event->returnedValues['params'] = $params;
                                                      }
                                                  }
                                                    Ильяс
                                                    07 января 2019, 09:13
                                                    0
                                                    Спасибо, попробую.
                                      АндрейЧ
                                      25 января 2019, 12:06
                                      0
                                      Володя, приветствую вас. Скажите — а сервис PickPoint точно работает?
                                      Договор с ПикПоинт почти готов, просто купить компонент, вписать настройки… и дело сделано — все будет работать !?

                                      А габариты в виде тегов в свойства товара, в сантиметрах например: 10, 20, 25 — подходят или надо переделывать? На будущее хочется универсальности — чтобы эти же габариты использовались и в калькуляторах ЖелДор/Деловые линии…



                                      И будет ли конфликтовать, с отлично работающими калькуляторами Павла Зарубина — СДЕК и Почта?
                                        АндрейЧ
                                        13 февраля 2019, 09:44
                                        0
                                        Для работы нужен договор с агрегатором shiptor.ru… Надо просто калькулятор PickPoint
                                          Разработчик
                                          29 января 2020, 12:07
                                          0
                                          Добрый день, а уточните пожалуйста данное решение способно создать заказ в самом личном кабинете Shiptor?

                                          То есть нам необходимо рассчитать доставку и отправить данные в ЛК (Номер договора у нас есть)

                                          Расчет работает, а заказ почему то не создается. Или такой возможности нет?
                                            Володя
                                            29 января 2020, 12:10
                                            0
                                            Добрый день.
                                            Дополнение только рассчитывает стоимость доставки, заказ в шипторе не создается.
                                              Дмитрий Мансуров
                                              11 февраля 2020, 01:23
                                              0
                                              Но есть sdk, кривущщая дока к нему и руки, допилить не сложно, но есть сюрпризы типа когда цену на сквозную доставку считаешь и она считается по тому же СДЭКу, а вот отправить в заказ нельзя ибо СДЭК не поддерживает.
                                              Не могу удержаться от примера из AddPackage
                                              setPhone(<телефон>) Задает электронную почту получателя. Аргумент должен быть строкой, содержащей действующий номер телефона в формате +79123456789
                                              Проверка номера телефона на корректность, кстати, более придирчивая, чем у miniShop2
                                            Дмитрий Мансуров
                                            11 февраля 2020, 01:16
                                            0
                                            Я так понял по коду что компонент может работать с опциями товара length, width, height и есть вариант задать вручную total_width и тд
                                            Верно?
                                              Дмитрий Мансуров
                                              11 февраля 2020, 20:15
                                              0
                                              Сам отвечаю — не верно!
                                              Создал плагин
                                              switch ($modx->event->name) {
                                                  case 'msShiptorOnGetProductOption':         
                                                      if(isset($params['options'][$mode]) && intval($params['options'][$mode]) > 0){
                                                          $response['data'] = array(
                                                                  'value' => $params['options'][$mode]
                                                              );
                                                          $this->modx->event->returnedValues = $response;
                                                      }
                                                      break;
                                              }
                                              Я прописал опции атрибутами, да хоть ТВ полями можно главное передать их
                                              <input name="options[width]" type="hidden" value="20">
                                              <input name="options[length]" type="hidden" value="20">
                                              <input name="options[height]" type="hidden" value="3">
                                              Может это никому и не нужно, но у меня заявки создаются а значит и расчет нужен верный и с этими данными я заявку кидаю
                                              Евгений
                                              03 мая 2020, 13:46
                                              0
                                              Добрый день. Тестирую компонент на бесплатном тарифе modhost (но думаю это не сильно влияет)

                                              В карточке товара прописываю сниппет для расчёта стоимости доставки товара yadi.sk/i/0JCkJ6P6gjoECA
                                              Но ничего не появляется yadi.sk/i/44TZvK1zwWwKCA

                                              Пробовал без ajaxsnippet — также ничего не происходит
                                              Буду рад помощи, так как очень заинтересован в покупке компонента
                                                Павел
                                                03 июня 2020, 09:35
                                                0
                                                Добрый день, а есть возможность изменять точку отправления на другой город? Я так понимаю по дефолту там Москва стоит, если мне надо отправлять посылки с Новосибирска и чтобы расчет шел от этой локации, это реально осуществить?
                                                  Михаил
                                                  13 июля 2020, 21:07
                                                  0
                                                  Добрый день! Не с того не с сего компонент перестал работать. Не понятно я его даже не трогал. Пишит «Ошибка расчета доставки!» Вот скрин: Кто нибудь встречался с такой проблемой?
                                                    Руслан
                                                    26 августа 2020, 14:02
                                                    0
                                                    Тут произошли изменения у Шиптор и теперь они Сберкурьер.
                                                    Нам нужно обновить компонент на новый api.
                                                    Это должен разработчик предоставить? @Володя
                                                      Николай Савин
                                                      26 августа 2020, 16:24
                                                      -1
                                                      Разработчик ничего не должен. По мере свободного времени выпустит. Но не обязательно как обновление.
                                                      Это запросто может быть другой компонент за отдельные деньги.
                                                        Руслан
                                                        26 августа 2020, 17:18
                                                        0
                                                        Согласен. Хотелось бы услышать от разработчика @Володя планируется ли обновления компонента? если да, когда примерно ожидать.
                                                          Boris Akimenko
                                                          26 августа 2020, 22:59
                                                          0
                                                          Николай, ты не прав. Когда возникли товарно-денежные отношения с обязательствами, то дела обстоят не совсем так как ты пишешь. Если на компонент заявлена поддержка на определенный срок, то разработчик именно должен. В обмен на деньги, которые покупатель оплатить тоже должен, а не «по мере появления свободных средств, и запросто может заплатить, например, водкой а не деньгами» :)
                                                          Володя
                                                          26 августа 2020, 19:23
                                                          +1
                                                          вы можете обратится в ТП по данному вопросу. В описании апи я не вижу каких либо изменений shiptor.ru/doc/#api-Public-calculateShipping
                                                            Boris Akimenko
                                                            26 августа 2020, 22:51
                                                            0
                                                            Володя, привет!
                                                            Скажи пожалуйста, метод getDeliveryPoints отдает точки всех доставщиков которые указаны в настройках?
                                                            А то у нас шиптор в списке есть, можно выбрать, но ни одной точки ни на карте ни списком не показывает.
                                                              Boris Akimenko
                                                              26 августа 2020, 23:20
                                                              0
                                                              Отбой. Всё нашел. В ответе всё приходит.
                                                              Руслан
                                                              02 сентября 2020, 14:17
                                                              0
                                                              Привет. Спросил у Шиптор, на счет Api и добавления новых КС. Ответ: " Никаких изменений в API не было.
                                                              Вы можете получить доступные вам методы доставки методом getShippingMethods shiptor.ru/doc/#api-Shipping-getShippingMethods. Оба метода возвращаются: Сберпосылка — 229, Сберкурьер — 238. Таким образом, при запросе calculateShipping данные методы возвращаются, если нет превышения по весу/габаритам. "

                                                              Но увы, смотрели, пробовали добавить/включить, не помогло.
                                                              Как добавить новые КС?

                                                              На демо сайте, обновились кс ?!
                                                                Руслан
                                                                07 сентября 2020, 18:45
                                                                0
                                                                @Володя Выйдите на связь пожалуйста и ответьте на сообщение.
                                                              Руслан
                                                              19 ноября 2020, 22:36
                                                              0
                                                              @Володя Приветствую. Почему-то корзина перестала показывать ПВЗ Боксберри на карте. Никаких работ не велось, просто бам и нет боксберри.
                                                              В чем может быть проблема?

                                                              У кого подключен Боксберри для выбора, он у вас не пропал? )
                                                                Руслан
                                                                24 ноября 2020, 14:36
                                                                0
                                                                @Володя Обратная связь на высоте! Спасибо за игнор и за наплевательское отношение.
                                                                  Иван Бочкарев
                                                                  24 ноября 2020, 16:10
                                                                  0
                                                                  Вы не думаете, что Вова может быть на отдыхе или в отпуске?
                                                                  Последняя активность 02 сентября 2020, 16:34

                                                                  По платным дополнениям — нужно обращаться в ТП, а не в сообщество писать.
                                                                    Руслан
                                                                    24 ноября 2020, 16:20
                                                                    0
                                                                    Остается надеяться, что с ним все хорошо.
                                                                  Владимир Тельнов
                                                                  02 марта 2021, 15:02
                                                                  0
                                                                  Есть проблема в компоненте. Возможно баг, возможно просто не продумано.

                                                                  Допустим заказ в населенный пункт «Волжский». таких городов и сел может быть много. Может быть даже штук 20. Т.е. в выпадающем списке можно даже не найти нужный пункт иди не доскролить до него.

                                                                  На сайте https://shiptor.ru/calculate выглядит это вот так


                                                                  Поиск можно уточнить так «Волжский пос»


                                                                  Или можно уточнить указав регион «Волжский ниж»


                                                                  Но компонент msShiptor так не умеет. Он понимает только прямой запрос «Волжский»
                                                                  То есть многие клиенты не смог найти свой населенный пункт и не смогут сделать заказ.



                                                                  Как быть?
                                                                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                    91