Интеграция

Часто задаваемые вопросы по модулю OpenCart

Версия 1 от 15.07.2020 — История изменений

Какие модули и модификаторы однозначно несовместимы с модулем Shiptor?

Темы и шаблоны Octemplates и LightShop изменяют страницу оформления заказа. Это вызывает конфликт со скриптами модуля Shiptor. Отключите модификаторы чекаута в этих темах. При этом модификаторы админпанели и т.п. не мешают работе модуля Shiptor. К мешающим можно отнести практически все модификаторы страницы оформления заказа, кроме Simple.

Заказ отображается в панели заказов модуля Shiptor, но его нет в личном кабинете Shiptor. Как его передать туда?

Проверьте настройки модуля OpenCart и статус заказа после создания/оплаты. Используйте кнопки передачи одного заказа или всего пула заказов при наличии статуса, разрешающего передачу. Если включена автоматическая передача, посетите страницу оформления заказа для запуска скрипта отправки, который запускается не чаще 1 раза в час.
После передачи заказа в Shiptor он должен отобразится в таблице с зеленой подсветкой и получить трекинг-номер. Если он получен, значит передача прошла успешно. Если нет, проверьте настройки статусов на своём сайте.
Процесс передачи заказов подробно описан в документации к модулю.

Заказ принят на сайте, но не отображается в панели заказов модуля Shiptor

Заказы, оформленные на сторонний способ доставки, не отобразятся в панели заказов модуля Shiptor. Отредактируйте его в стандартном редакторе OpenCart, выбрав один из способов доставки модуля Shiptor. После этого заказ станет доступным для обработки.

Заказы из брошенных корзин или с отсутствующим флагом оплаты (покупатель покинул форму онлайн-оплаты) отображаются в стандартном меню OpenCart (фильтр брошенных заказов). Их статус можно повысить или отредактировать, чтобы они появились в панели заказов модуля Shiptor.

При передаче заказа в таблице появилось сообщение «Ошибка не определена! Проверьте журнал ошибок в режиме отладки» и заказ не отправляется

Не все типы ошибок можно вывести в панель управления. Для получения подробных данных включите в модуле "Режим отладки" и повторите отправку ошибочного заказа. После этого перейдите на вкладку Система > Инструменты > Журнал ошибок. Найдите в журнале запись запроса (Отправленные данные), содержащую [method] => addPackage, [external_id] => номер заказа. Ниже по логу будет запись ответа (Полученный ответ), содержащая текст ошибки [message]. Внесите исправления в заказ через форму редактирования в панели заказов модуля Shiptor.

Зачем нужен «статус для передачи в Shiptor» и как им пользоваться ? Ошибка «нет заказов для передачи в Shiptor!»

Статус заказу присваивается: автоматически вместе со способом оплаты, в ручном режиме через меню просмотра заказа или через меню редактирования заказа. Можно настроить способы оплаты на изменения статуса заказа, который будет свидетельствовать о его готовности для передачи в доставку.

Например, при поступлении платежа способы онлайн-оплаты изменяют статус заказа на "готов к доставке", а способы наложенного платежа — на "требует обработки". Соответственно, из панели заказов модуля Shiptor можно будет отправить только заказы со статусом «готов к доставке», а с «требует обработки» — нет.

Схема работы может быть также модифицирована или расширена, например, если посылки собираются самостоятельно или заказ требует дополнительной обработки.

Во время использования модуля Simple наблюдается несогласованная работа при выборе способа оплаты и последующего перерасчета цен доставки

Убедитесь, что настройки модуля Simple соответствуют требованиям инструкции. Чаще всего подобное поведение происходит при включенной опции "Автоматически выбирать первый способ оплаты".

Как рассчитываются габариты и вес заказа из нескольких товаров?

Вес заказа формируется при помощи суммирования веса из карточек товаров, которые включены в заказ. Если он не указан, берутся умолчания веса из параметров модуля. Габариты заказа рассчитываются в зависимости от настроек в модуле.

GeoIP не меняет город при его выборе в шапке сайта

Включение следующих опций в модуле Simple мешает корректной работе скриптов модуля GeoIP.

Как работает GeoIP + Simple с городом по умолчанию?

Если GeoIP не может определить пункт нахождения покупателя, то используется умолчание. Если модуль Shiptor не может определить умолчание из GeoIP, то расчет производится по г. Москва. Иными словами, при включении GeoIP умолчание по городу из Simple не используется.

Более подробно настройки GeoIP описаны в инструкции.

Модуль не показывает ни одного способа доставки при оформлении заказа

Выполните следующие действия:

  • Проверьте работу сайта shiptor.ru. Если он недоступен, могут не подгружаться те подсказки городов, которых нет в кеше.
  • Убедитесь, что в модуле активированы методы доставки и указан город отправителя, если используете прямую доставку.
  • Убедитесь в калькуляторе на сайте shiptor.ru, что доставка в населенный пункт существует с аналогичными параметрами заказа и в модуле включены допустимые методы доставки.
  • Попробуйте рассчитать доставку с другими способами оплаты.
  • Убедитесь, что в карточке товара включена опция "необходимость доставки".
  • Убедитесь, что в товаре НЕ указаны НЕдопустимые службами доставки габариты/вес.
  • Проверьте настройки локализации и соответствие требованиям.
  • Очистите кеш модуля. Для этого удалите файлы с наименованием Shiptor по адресу ../system/storage/cache (путь может отличаться в версиях OpenCart).
  • Проверьте корректность установки/обновления.

Можно ли убрать возможность наложенного платежа для определенных городов?

Способы оплаты от модуля Shiptor используют стандартный функционал OpenCart, который не позволяет задавать ограничения по географии.

Можно ли настроить фиксированную сумму доставки/бесплатную доставку?

Фиксированная цена — цена доставки, которая полностью переопределяет цены от Shiptor. Можно установить её для метода доставки в целом или для конкретного региона. Для бесплатной доставки, которая не будет добавляться к наложенному платежу, фиксированная цена равна 0 руб.

Об этих и других настройках более подробно читайте в инструкции.

Можно ли подключить второй магазин на платформе OpenCart к существующему аккаунту?

Никаких технических проблем с такой интеграцией не возникнет. Достаточно просто использовать одинаковый ключ API, чтобы все заказы попадали в один ЛК Shiptor.

Перестал отображаться калькулятор/перестали работать кнопки и т. д. на странице оформления заказа

Обратите внимание, что все изменения в модуле происходят только при установке обновления вручную. Если в какой-то момент уже установленный модуль перестал работать, то причины нужно искать:

  • На сайте — изменение условий и требований для работы модуля, установка нового модуля, перенос сайта на новый хостинг или изменение шаблона.
  • В API от Shiptor — доступность сервера можно проверить, посетив shiptor.ru или отследив запросы в логе модуля.
  • В интернет-соединении — доступность сервера можно проверить, посетив shiptor.ru или выполнив ping до api.shiptor.
  • В условиях и требованиях для работы модуля.

Цены на доставку, которые отображаются в корзине, не соответствуют ценам, которые показывает калькулятор доставки в личном кабинете

Калькулятор на сайте Shiptor содержит справочную информацию, а сравнивать нужно с калькулятором в ЛК Shiptor. При это не забудьте проверить:

  • Габариты посылки  — информацию о том, как текущая версия модуля рассчитывает габариты, можно найти в инструкции.
  • Оценочную стоимость посылки — если опция учёта включена, то при расчете доставки модуль берёт за оценочную стоимость сумму корзины.
  • Наличие/отсутствие наложенного платежа.
  • Корректность настроек веса и измерений в локализации на сайте — см. требования для модуля.

Как можно автоматизировать доставку уведомлений после смены статусов на «Отправлено»? 

Для отправки Email по статусу можно использовать стандартные средства OpenCart или сторонние модули. В текущей версии модуля взаимодействие с оповещениями внутри платформы не предусмотрено. Поэтому при использовании стандартных средств в сообщении отображается внутренний номер заказа, а не трекинг-номер RP от Shiptor. Расширение возможностей таких оповещений требует доработки модуля и сайта.

При использовании cron-скрипта, пожалуйста, не используйте интервалы короче 3-4 часов при постраничном запросе во избежание нагрузок на сервер и замедлении ответов по ключу.

Как можно автоматизировать обновление статусов на «Отправлено»? 

Статусы в стоковом модуле запрашиваются/меняются при нажатии на кнопку «Обновить статусы Shiptor» (последние 500 посылок). Для их фонового обновления требуется индивидуальная доработка на создание и использование крон-скрипта. Без этого статусы обновляются вручную, т. к. крона или планировщика в штатном OpenCart нет.

Требуется ли специальная форма для данных о номере телефона?

Телефон обязательно должен присутствовать в заказе. Есть две проверки формата телефона:

  1. Проверка осуществляется ДО выполнения передачи средствами модуля. Для заказов в Россию — 11 цифр c 8 или +7 в начале. Маска из скобок допускается.
  2. Проверка осуществляется ПОСЛЕ выполнения передачи. Проверяется реальное существование телефона средствами API Shiptor. В данном случае вернется общая ошибка «Ошибка не определена».

При использовании модуля «Simple-простая регистрация заказа» можно настроить маску на поле телефона. Это позволит избежать его некорректного заполнения покупателем.

Модуль выдает ошибку: необходимо заполнить ключ API, в то время как ключ API заполнен

В такой ситуации высока вероятность, что что-то препятствует сохранению значения из поля ключа (настройки хостинга или конфликт со сторонними модулями/шаблонами), вследствие чего не проходит валидация. 

Если ошибки во введенном ключе нет, то для самостоятельного решения поэтапно попробуйте следующее:

  • Обратитесь в поддержку хостинга с просьбой увеличить допустимую длину и количество POST-запросов, а именно значение в php.ini max_input_vars до 5000
  • Сделайте бекап и отключите все сторонние модули и шаблоны. Обновите кеш модификаторов и попробуйте еще раз пересохранить настройки.
  • Проверьте Error_log на наличие ошибок при сохранении формы настроек в модуле.

Как найти ошибку в журнале обмена данными с Shiptor?

Если в работе интеграции возникли проблемы, отследить ошибки можно в журнале обмена данными с Shiptor. 

  1. На сайте перейдите в Модули > Доставка (путь может отличаться в разных версиях OpenCart) > Shiptor - Надежная служба доставки и нажмите кнопку «Редактировать»
  2. В открывшемся окне перейдите на вкладку «Настройки» и активируйте чекбокс «Режим отладки»
  3. Запустите FTP-клиент и откройте на сервере корневую папку своего сайта. Перейдите в system/storage/cache (путь может отличаться в разных версиях OpenCart). Удалите из папки cache все файлы, у которых в названии упоминается shiptor. 

    Если нет возможности подключиться к FTP-клиенту, перейдите к п.5
  4. На сайте выберите Система > Инструменты > Журнал Ошибок (путь может отличаться в разных версиях OpenCart) и очистите журнал.
  5. Повторите действия, которые приводят к ошибкам в работе интеграции. При невыполнении п.3 измените набор данных: например, выберите другой город для доставки или положите в корзину другие товары. Это позволит исключить чтение данных из кеша на сайте.
  6. Снова перейдите на сайте Система > Инструменты > Журнал Ошибок (путь может отличаться в разных версиях OpenCart) и просмотрите записи журнала. При необходимости выгрузите их в отдельный файл через кнопку «Скачать» и перешлите специалистам техподдержки Shiptor.
  7. После изучения журнала перейдите Модули > Доставка (путь может отличаться в разных версиях OpenCart) > Shiptor - Надежная служба доставки и нажмите кнопку  «Редактировать». В открывшемся окне перейдите на на вкладку «Настройки» и деактивируйте чекбокс «Режим отладки». Это необходимо для минимизации нагрузки на хостинг.
История изменений