VibeFox Frenet for PrestaShop — Помощь
Требования
PrestaShop: 8.0 — 9.x.
PHP: 8.0 или новее. Модуль не устанавливается на более старых версиях PHP.
Учётная запись Frenet (только для живых расчётов): создайте бесплатную учётную запись в панели Frenet (painel.frenet.com.br), включите перевозчиков, которых используете, и скопируйте свой API-токен. Если вы работаете только с фиксированными ценами, учётная запись Frenet не нужна.
Товары: заполните вес и размеры, чтобы цены были точными. Товары без них рассчитываются как 0,3 кг и 16 × 11 × 2 см (минимальная коробка Correios).
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В back office откройте Modules > Module Manager и нажмите Upload a module. Выберите ZIP-файл модуля.
2. После окончания загрузки нажмите Configure или позже найдите VibeFox Frenet в списке модулей и нажмите Configure.
3. Вставьте лицензионный ключ VibeFox в License key в блоке лицензии вверху страницы Configure и нажмите Activate (см. Лицензионный ключ).
4. Вставьте API-токен и укажите CEP отправления. Если валюта магазина по умолчанию не BRL, укажите курс BRL. При необходимости добавьте фиксированные цены и запасную стоимость. Нажмите Save.
При установке модуль создаёт перевозчика Frenet с текстом срока доставки Delivery by the carriers of your Frenet account. Перевозчик назначается всем зонам и всем группам клиентов. Зоны, группы клиентов, срок доставки, логотип и ограничения размеров можно изменить в Shipping > Carriers. Цены там не задавайте: цена всегда берётся из модуля.
Настройка
Все настройки находятся на странице модуля: Modules > Module Manager > VibeFox Frenet > Configure. Они применяются ко всем зонам перевозчика. У каждого раздела есть своя кнопка Save, которая сохраняет всю страницу. Каждое сохранение также очищает кешированные расчёты Frenet. В полях цен можно использовать и точку, и запятую как десятичный разделитель; значение, которое не является числом, отклоняется с сообщением "…" must be a number. Также отклоняются отрицательные суммы и веса, курс BRL exchange rate 0 или меньше и Minimum weight больше Maximum weight. При ошибке ничего не сохраняется.
Вверху страницы модуль показывает предупреждения: нет API-токена (тогда используются только фиксированные цены, либо перевозчик не показывается, если нет и фиксированных цен), нет 8-значного CEP отправления или валюта по умолчанию не BRL без курса обмена. Также модуль предупреждает, если единица веса или размеров в вашем магазине не распознаётся; такая единица считается кг или см. Установите стандартную единицу (kg, g, lb или oz; cm, mm, m или in) в International > Localization (Local units).
Общие
Enable Frenet: включает или выключает перевозчика. Это тот же переключатель, что и статус перевозчика в Shipping > Carriers.
Method title: название перевозчика, которое показывается в корзине и при оформлении заказа. Default: Frenet. Обязательное поле, не более 64 символов.
Живые расчёты Frenet
Frenet сравнивает перевозчиков, включённых в вашей учётной записи Frenet, и возвращает их цены для корзины. Живые расчёты запрашиваются только для адресов в Бразилии с полным 8-значным CEP. В разделе есть ссылка на панель Frenet.
API token: ваш API-токен Frenet из панели Frenet. Оставьте поле пустым, чтобы использовать только фиксированные цены. После сохранения поле остаётся пустым и показывает A token is saved — leave empty to keep it. Вводите новое значение, только если хотите его изменить. Чтобы удалить сохранённый токен, отметьте Remove the saved token и сохраните.
Origin CEP: почтовый индекс (CEP), с которого отправляются посылки, например 00000-000. Оставьте поле пустым, чтобы использовать почтовый индекс магазина из Shop Parameters > Contact > Stores, если адрес магазина находится в Бразилии. CEP из менее чем 8 цифр сохраняется как введён, и страница показывает Frenet: the origin CEP must have 8 digits.
Service to offer: Cheapest service (по умолчанию) или Fastest service. Frenet возвращает несколько служб, а перевозчик показывает одну цену.
BRL exchange rate: Frenet считает в бразильских реалах. Если валюта магазина по умолчанию не BRL, укажите, сколько стоит 1 BRL в валюте магазина по умолчанию, например 0.16. Расчёт и объявленная сумма заказа пересчитываются по этому курсу. Без него живые расчёты не используются. Если валюта магазина по умолчанию — BRL, поле показывает Not needed (shop currency is BRL).
Фиксированные цены
Используются, когда нет API-токена, для стран, которые Frenet не обслуживает, и всякий раз, когда Frenet не возвращает цену (API недоступен, CEP не обслуживается).
Price per country: таблица со столбцами Country, Price, XS, S, M, L и XL, цены указываются в валюте магазина по умолчанию без налога. Нажмите Add country, чтобы добавить строку, и значок корзины, чтобы удалить строку. Столбцы размеров зависят от веса корзины: XS до 1 кг, S до 2 кг, M до 3 кг, L до 5 кг, XL свыше 5 кг. Price используется, когда столбец размера пустой. Цена Price, равная 0, означает бесплатную доставку в эту страну. Используйте * Default для всех остальных стран. Строки без цен удаляются при сохранении.
Fallback cost: используется, когда ни Frenet, ни таблица не дают цену. Оставьте поле пустым, чтобы скрыть перевозчика.
Fixed price applies: Per order взимает цену один раз. Per item (price × quantity) умножает её на количество товаров. Это относится только к фиксированным ценам и запасной стоимости. Расчёты Frenet уже покрывают всю корзину.
Условия
Minimum weight: скрывает перевозчика, если вес корзины меньше этого значения, в кг. 0 означает без ограничения.
Maximum weight: скрывает перевозчика, если вес корзины больше этого значения, в кг. Default: 30 (используется также, когда поле пустое). 0 означает без ограничения. Не может быть меньше Minimum weight.
Minimum order amount: показывает перевозчика только тогда, когда промежуточная сумма корзины (после скидок, до налогов) не меньше этой суммы. Оставьте поле пустым, чтобы показывать его всегда.
Free shipping from: промежуточная сумма корзины (после скидок, до налогов), начиная с которой доставка бесплатна. Оставьте поле пустым, чтобы никогда не предлагать бесплатную доставку.
Tax: налоговое правило перевозчика или No tax. Цены Frenet — окончательные цены перевозчика. Выберите No tax, если PrestaShop не должен добавлять к ним налог.
Веса и размеры товаров переводятся из единиц вашего магазина в кг и см.
Доступность без зон доставки
Обычно перевозчик предлагается в тех зонах, которые назначены ему в Shipping > Carriers.
Ignore shipping zones: предлагает Frenet для стран, указанных ниже, независимо от того, какая зона подходит. При сохранении перевозчик добавляется во все зоны, а также в зоны, которые вы создадите позже. Когда вы снова выключаете эту опцию, перевозчик возвращает зоны, которые у него были раньше.
Countries: страны назначения для этого режима, выбранные из активных стран вашего магазина. Оставьте поле пустым, чтобы использовать все страны, в которые вы доставляете. Используется только когда включена опция Ignore shipping zones.
Дополнительно
Debug log: записывает каждый запрос и ответ расчёта в logs/vfd_frn_debug.log.php в папке модуля. Файл нельзя открыть через браузер. Ошибки API записываются всегда. Токен никогда не записывается, а CEP покупателя сокращается. Выключите журнал, когда закончите.
Log: показывает размер и последние записи журнала. Нажмите Clear log, чтобы очистить его.
Remove data on uninstall: если включено, при удалении модуля удаляются все настройки Frenet, перевозчик и журнал. Если выключено, всё сохраняется для повторной установки. Кешированные расчёты удаляются всегда. Службы Frenet, сохранённые с заказами, входят в историю заказов и сохраняются.
Как это работает при оформлении заказа
На этапе доставки PrestaShop запрашивает у модуля цену Frenet. Учитываются только физические товары: виртуальные товары не добавляют вес и не входят в сумму заказа. До того как покупатель введёт адрес, модуль использует страну, которую магазин определяет для посетителя. Сначала модуль проверяет список стран (если включена опция Ignore shipping zones), вес корзины и минимальную сумму заказа. Если применяется бесплатная доставка, цена равна 0 и запрос в Frenet не отправляется.
Для адреса в Бразилии с полным 8-значным CEP модуль отправляет в Frenet CEP отправления и назначения, каждый товар корзины (вес в кг, размеры в см, количество, артикул и категории), сумму заказа в BRL и первый код купона корзины. Пока CEP не заполнен полностью, запрос не отправляется. Frenet возвращает службы включённых перевозчиков. Службы с ошибкой или без цены пропускаются. Модуль выбирает самую дешёвую или самую быструю службу и переводит цену в валюту магазина по умолчанию. Затем цена показывается в валюте корзины покупателя.
Каждый ответ кешируется на 1 час для той же корзины и того же адреса. Неудачный запрос или CEP, которого не обслуживает ни один включённый перевозчик, запоминается на 10 минут. Таймаут API — 10 секунд. В этих случаях покупатель не видит ошибки: используется фиксированная цена или запасная стоимость, либо перевозчик скрывается, если их нет. Причина записывается в журнал. Для адресов за пределами Бразилии используются только фиксированные цены.
Если вы редактируете перевозчика в Shipping > Carriers после того, как с ним есть заказы, PrestaShop сохраняет его как новую версию перевозчика. Модуль автоматически использует новую версию.
Модуль только рассчитывает тарифы. Он не создаёт отправления, не печатает этикетки и не отслеживает посылки. Он показывает одну службу Frenet на корзину, а не несколько, и не поддерживает пункты выдачи и постаматы. Frenet рассчитывает доставку только внутри Бразилии; для других стран используйте фиксированные цены.
Заказы
Когда заказ оформлен с перевозчиком Frenet, модуль сохраняет, как была рассчитана его стоимость доставки. Затем на странице заказа в back office показывается блок Frenet со следующими строками:
Carrier: перевозчик Frenet и служба, например служба Correios или Jadlog. Показывается для живых расчётов.
Delivery time: срок доставки в рабочих днях, который вернул Frenet. Показывается для живых расчётов.
Price source: Live Frenet quote, Fixed price (price per country), Fallback cost или Free shipping.
Эти данные сохраняются при удалении модуля, в том числе при Remove data on uninstall.
Лицензионный ключ
Модуль работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox Frenet — это первый блок в Modules > Module Manager > VibeFox Frenet > Configure, над настройками. Вставьте ключ в License key и нажмите Activate. После этого блок показывает ключ в маскированном виде, статус (например, дату, до которой действует лицензия, и ваш домен) и кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: presta-shipping-frenet и ссылка Manage licenses and domains in your account, которая открывает вашу учётную запись vibefox.net. Изменить ключ могут только сотрудники с правом Configure для модуля. Тексты блока следуют языку back office (включены английский и русский).
Если ключ не принят, блок сообщает причину, например Key not found, This key belongs to another product, Domain limit reached или License expired on с датой. После смены адреса магазина или после освобождения слота домена в вашей учётной записи нажмите Check now. Если сервер лицензий недоступен, модуль продолжает работать по последнему известному статусу.
Один ключ работает на одном домене: на домене основного магазина, в том числе при многомагазинной конфигурации. Удаление ключа из магазина не освобождает слот домена. Освободите слот в своей учётной записи vibefox.net.
Без активного ключа перевозчик Frenet не показывается покупателям при оформлении заказа, и тарифы не рассчитываются. Витрина PrestaShop не знает, что вы вошли в back office, поэтому перевозчик скрыт и для вас: вы можете настроить модуль до покупки ключа, но не можете проверить его при оформлении заказа. Напоминание появляется в Modules > Module Manager на вкладке Alerts. Существующие заказы не затрагиваются.
Когда лицензия истекает, модуль продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова, пока вы работаете в back office: раз в день в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задача не нужна. При удалении или сбросе модуля лицензионный ключ и статус лицензии всегда удаляются.
Устранение неполадок
Frenet не появляется при оформлении заказа: проверьте, что лицензия активна и Enable Frenet включено. В Shipping > Carriers проверьте, что перевозчик охватывает зону страны покупателя и группу покупателя, либо что включена опция Ignore shipping zones и страна разрешена. Проверьте предупреждения вверху страницы модуля, ограничения по весу и Minimum order amount. Типичные причины: покупатель ещё не ввёл полный 8-значный CEP, а фиксированных цен нет; либо Frenet не вернул ни одной службы для маршрута, и фиксированной цены тоже нет. Кроме того, товары могут быть ограничены определёнными перевозчиками на странице товара.
Живые расчёты не появляются: включите Debug log, перезагрузите страницу оформления заказа и посмотрите поле Log на странице модуля. Там указана причина: нет CEP отправления, нет курса BRL, CEP покупателя не заполнен полностью, превышено ограничение по весу или сумме, либо сообщения пропущенных служб.
В журнале сказано, что API-токен отклонён (HTTP 401 или 403): скопируйте токен из панели Frenet заново и вставьте его в поле API token.
В журнале сказано, что Frenet не вернул ни одной службы: включите хотя бы одного перевозчика в панели Frenet.
Мой магазин продаёт в евро или долларах: Frenet отвечает в BRL. Введите BRL exchange rate (сколько стоит 1 BRL в валюте магазина по умолчанию).
Налог начисляется сверх цены Frenet: цены Frenet — окончательные цены перевозчика. Установите Tax в значение No tax.
Тарифы выглядят устаревшими после изменения: нажмите Save на странице модуля. Это очищает кешированные расчёты Frenet.
На странице написано, что перевозчик Frenet не найден: перевозчик был удалён в Shipping > Carriers. Сбросьте модуль в Modules > Module Manager, чтобы создать его заново. До этого при сохранении показывается The settings were saved, but the carrier could not be updated.
Удаление
Перейдите в Modules > Module Manager, откройте меню рядом с VibeFox Frenet и выберите Uninstall. Лицензионный ключ и статус лицензии всегда удаляются. Кешированные расчёты удаляются всегда. Если Remove data on uninstall включено, перевозчик удаляется (заказы сохраняют историю), а настройки и журнал удаляются. Если выключено, перевозчик только отключается, а все настройки сохраняются. При повторной установке модуля или при Reset сохранённый перевозчик возвращает статус, который у него был раньше: перевозчик, который вы отключили, остаётся отключённым. Существующие заказы сохраняют перевозчика Frenet и блок Frenet на странице заказа.
Frenet — торговая марка её владельца. Этот модуль не связан с Frenet и не одобрен компанией Frenet.
