VibeFox PostNord for PrestaShop — Помощь
Требования
PrestaShop: 8.0–9.x.
PHP: 8.0 или новее. Модуль не устанавливается на более старые версии PHP.
API-ключ PostNord (для выбора пункта выдачи): создайте бесплатный аккаунт на developer.postnord.com, добавьте приложение и скопируйте его API-ключ. Без ключа перевозчики продолжат работать, но покупатели не смогут выбрать пункт выдачи.
Договор с PostNord: для отправки посылок нужен ваш обычный клиентский договор с PostNord, например MyPack Collect или MyPack Home.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В админ-панели перейдите в Modules > Module Manager и нажмите Upload a module. Выберите ZIP-файл модуля.
2. Когда загрузка завершится, нажмите Configure или позже найдите VibeFox PostNord в списке модулей и нажмите Configure.
3. Введите лицензионный ключ VibeFox в поле License key в блоке лицензии в верхней части страницы Configure и нажмите Activate (см. раздел «Лицензионный ключ»).
4. Вставьте API key PostNord, выберите Agreement country, заполните Country prices (см. раздел «Настройка») и нажмите Save.
При установке модуль создаёт двух перевозчиков. PostNord доставляет в пункт выдачи, с текстом срока доставки Delivery to a PostNord service point. Он включён. PostNord Home delivery доставляет по адресу, с текстом PostNord home delivery. Он выключен, пока вы не включите Home delivery. Оба перевозчика привязаны к зонам Швеции, Дании, Норвегии и Финляндии и ко всем группам покупателей. Зоны, группы покупателей, текст срока доставки, логотип и ограничения по размеру можно изменить в разделе Shipping > Carriers. Цены там не задавайте: цена всегда берётся из модуля.
Настройка
Все настройки находятся на странице модуля: Modules > Module Manager > VibeFox PostNord > Configure. У каждого раздела своя кнопка Save, которая сохраняет всю страницу. Каждое сохранение также очищает кэш списков пунктов выдачи.
Над настройками страница предупреждает, если ещё не задан API-ключ, не указана цена, удалён перевозчик PostNord или модуль не знает единицу веса магазина. В этом случае веса товаров считаются в килограммах. Используйте kg, g, lb или oz в разделе International > Localization (Local units).
Общие
Enable/Disable: включает или выключает перевозчика с пунктом выдачи. Это тот же переключатель, что и статус перевозчика в разделе Shipping > Carriers.
Name: название перевозчика с пунктом выдачи при оформлении заказа, например «PostNord MyPack Collect». По умолчанию: PostNord. Обязательное поле.
Home delivery: предлагать также доставку на дом PostNord. Это второй перевозчик, без пункта выдачи. По умолчанию выключено.
Home delivery name: название перевозчика доставки на дом при оформлении заказа, например «PostNord MyPack Home». По умолчанию: PostNord Home delivery. Обязательное поле.
Tax status: None означает, что цены ниже окончательные. Taxable: и правило налога означают, что PrestaShop добавляет к ценам налог на доставку по этому правилу. Применяется к обоим перевозчикам.
API PostNord (выбор пункта выдачи)
API key: API-ключ вашего приложения на developer.postnord.com. Он отправляется в PostNord только с вашего сервера, никогда не передаётся в браузер и не записывается в журнал. После сохранения поле остаётся пустым и показывает Saved - leave empty to keep it. Вводите новое значение, только если хотите его изменить.
Remove the saved API key: отметьте галочку и нажмите Save, чтобы удалить сохранённый ключ.
Test mode: использует тестовую среду PostNord (atapi2.postnord.com). Только для ключей, выданных для тестовой среды.
Agreement country: страна вашего клиентского договора с PostNord: Швеция, Дания, Норвегия или Финляндия. Она определяет, какие пункты выдачи предлагаются. Same as the delivery country (по умолчанию) использует страну покупателя.
Цены
В заголовке раздела указана основная валюта вашего магазина. Цены указаны в этой валюте, без налога, и одинаковы для обоих перевозчиков. У PostNord нет публичного API тарифов, поэтому цены задаёте вы, обычно по тарифам вашего договора с PostNord. Порядок применения такой: порог бесплатной доставки, затем таблица по странам и, наконец, запасная стоимость.
Calculation type: Per order взимает цену один раз. Per item (price x number of items) умножает её на количество товаров в корзине.
Country prices: цена по стране назначения и весу корзины. Нажмите Add country, чтобы добавить строку, и значок корзины, чтобы удалить её. В каждой строке есть Price и колонки веса: XS до 1 kg, S до 2 kg, M до 3 kg, L до 5 kg и XL свыше 5 kg. Колонка веса со значением 0 использует колонку Price, а Price со значением 0 означает бесплатную доставку. Страна * All other countries охватывает все страны, для которых нет собственной строки. Десятичные значения через запятую или точку (9,99 или 9.99). Новая строка создаётся как * All other countries со всеми ценами 0. Выберите страну и введите цены до сохранения или удалите строку. Пустая ячейка сохраняется как 0. Ячейка, в которой не число, сохраняется как 0, с сообщением.
Fallback cost: используется, если в таблице по странам нет строки для страны назначения и нет строки *. Оставьте поле пустым, чтобы скрыть перевозчиков для таких стран.
Free shipping from: промежуточный итог корзины (товары, требующие доставки, после скидок, без налога), начиная с которого доставка PostNord бесплатна. Он проверяется до таблицы по странам, поэтому действует и для страны без строки цены. Оставьте поле пустым, чтобы никогда не предлагать бесплатную доставку.
Доступность
Min weight (kg): скрывает перевозчиков, если корзина весит меньше. Веса товаров переводятся из единицы измерения веса вашего магазина. 0 означает отсутствие ограничения.
Max weight (kg): скрывает перевозчиков, если корзина весит больше. По умолчанию: 30. 0 означает отсутствие ограничения. Проверьте ограничение по весу вашей услуги PostNord: постаматы принимают меньше, чем пункты выдачи. Значение Min weight (kg), большее Max weight (kg), отклоняется с ошибкой, и ничего не сохраняется.
Minimum subtotal: показывать перевозчиков, только если промежуточный итог корзины (товары, требующие доставки, после скидок, без налога) не меньше этой суммы. Оставьте поле пустым, чтобы показывать их всегда.
Ignore shipping zones: если включено, PostNord предлагается для стран ниже, даже если зоны его перевозчиков их не содержат. Перевозчики привязываются ко всем активным зонам, а зона, созданная позже, привязывается сразу. Если выключить эту настройку, перевозчики снова получают зоны, которые у них были раньше. Если она выключена, перевозчики предлагаются только в своих зонах.
Countries (Ignore shipping zones): страны назначения для этого режима. Оставьте поле пустым, чтобы разрешить все страны. Это поле используется только при включённом Ignore shipping zones.
Суммы и веса принимаются с запятой или точкой. Значение, которое не является числом 0 или больше, не сохраняется, и выводится сообщение.
Дополнительно
Debug log: записывает расчёты тарифов и вызовы API в logs/vfd_ptnd_debug.log.php в папке модуля. Файл нельзя открыть из веб-браузера. Ошибки API всегда записываются. API-ключ никогда не записывается в журнал. Выключите журнал, когда закончите.
Log: показывает размер и последние записи журнала отладки. Нажмите Clear log, чтобы очистить его.
Remove data on uninstall: если включено, при удалении модуля удаляются настройки и перевозчики PostNord. Если выключено, при удалении перевозчики только отключаются. Пункты выдачи, сохранённые в заказах, всегда сохраняются.
Как это работает при оформлении заказа
На шаге доставки PrestaShop запрашивает у модуля цену для каждого перевозчика PostNord. Учитываются только физические товары: виртуальные товары не добавляют вес и не входят в промежуточный итог. Модуль проверяет вес корзины и минимальный промежуточный итог. Если применяется бесплатная доставка, цена равна 0. В остальных случаях цена берётся из таблицы по странам, а затем из запасной стоимости. Если цены нет, перевозчик скрывается. Цена рассчитывается в основной валюте вашего магазина, а затем показывается в валюте корзины покупателя.
Для перевозчика с пунктом выдачи и адреса доставки в Швеции, Дании, Норвегии или Финляндии ваш сервер запрашивает у PostNord Business Location API 10 ближайших к почтовому индексу доставки пунктов выдачи. Он передаёт страну и почтовый индекс доставки, а также страну договора. Тайм-аут API — 10 секунд. Списки кэшируются на 6 часов для каждого почтового индекса, ответы «пунктов нет» — на 1 час. Ошибки API кэшируются на 5 минут, чтобы сбой PostNord не замедлял каждое обновление шага доставки. Шаг доставки никогда не ждёт PostNord: если список ещё не в кэше, он загружается после того, как покупатель выбрал перевозчика.
Для других направлений перевозчики по-прежнему могут предлагаться по вашим ценам, но без выбора пункта. Перевозчик доставки на дом никогда не показывает выбор пункта.
Если вы редактируете перевозчика в разделе Shipping > Carriers после того, как по нему появились заказы, PrestaShop сохраняет его как новую версию перевозчика. Модуль автоматически переходит на новую версию.
Модуль не запрашивает актуальные цены PostNord и не создаёт этикетки для отправки, не оформляет отправления (EDI), не выдаёт трек-номера и не отправляет письма с отслеживанием. Режима просмотра на карте нет. Для отправок используйте PostNord Portal, Skicka Direkt Business или инструмент для печати этикеток: им нужен сохранённый ID пункта выдачи.
Пункты выдачи
Когда покупатель выбирает перевозчика с пунктом выдачи, под ним появляется список PostNord service point с ближайшими пунктами, сгруппированными по городам с указанием расстояния. Пока почтовый индекс не введён, покупатель видит сообщение «Введите почтовый индекс, чтобы выбрать пункт выдачи PostNord.» Выбор сохраняется вместе с корзиной и не сбрасывается при обновлении шага доставки.
Когда список загружен, пункт нужно выбрать. Без выбора кнопка Continue не работает, и появляется сообщение «Пожалуйста, выберите пункт выдачи PostNord». Выбранный пункт проверяется на сервере по списку PostNord для адреса доставки. Пункт, выбранный для другого почтового индекса, не используется.
Выбор пункта никогда не блокирует продажу. Если список не удаётся загрузить (API-ключ ещё не задан, API PostNord недоступен или рядом с почтовым индексом нет пунктов), покупатель видит примечание и всё равно может оформить заказ. Тогда PostNord доставит посылку в пункт выдачи, ближайший к адресу.
Страница заказа в админ-панели: блок PostNord service point с названием, адресом и Service point ID. Если пункт не выбран, там указано «не выбран — PostNord доставит в пункт выдачи, ближайший к адресу доставки».
Подтверждение заказа и данные заказа покупателя: PostNord service point: с названием и адресом.
Письма о заказе: письмо с подтверждением заказа покупателю и уведомление о новом заказе магазину показывают название пункта, адрес и ID рядом с названием перевозчика. В уведомлении магазину также указывается «not selected», если пункт не выбран.
Лицензионный ключ
Модуль работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox PostNord — первый блок на странице Modules > Module Manager > VibeFox PostNord > Configure, над настройками. Вставьте ключ в поле License key и нажмите Activate. После этого блок показывает ключ в замаскированном виде, статус (например, дату, до которой лицензия действует, и ваш домен) и кнопки Check now, чтобы снова проверить статус, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить ключ из этого магазина. Ниже находятся строка Product: presta-shipping-postnord и ссылка Manage licenses and domains in your account, которая открывает ваш аккаунт на vibefox.net. Изменить ключ могут только сотрудники с правом Configure для модуля. Тексты блока следуют языку админ-панели (включены английский и русский).
Если ключ не принят, блок показывает причину, например Key not found, This key belongs to another product, Domain limit reached или License expired on с датой. После смены адреса магазина или после освобождения места для домена в вашем аккаунте нажмите Check now. Если сервер лицензий недоступен, модуль продолжает работать по последнему известному статусу.
Один ключ работает на одном домене: домене основного магазина, в том числе при мультимагазинной настройке. Удаление ключа из магазина не освобождает его место для домена. Освободите место в своём аккаунте на vibefox.net.
Без действующего ключа перевозчики PostNord не показываются покупателям при оформлении заказа, и стоимость доставки не рассчитывается. Витрина PrestaShop не знает, что вы вошли в админ-панель, поэтому перевозчики скрыты и для вас: модуль можно настроить до покупки ключа, но нельзя протестировать при оформлении заказа. Напоминание появляется в Modules > Module Manager на вкладке Alerts. Существующие заказы не затрагиваются.
Когда срок лицензии истекает, модуль продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется, пока вы работаете в админ-панели: раз в день в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задание не нужно. Удаление модуля всегда удаляет лицензионный ключ и статус лицензии. Reset этого модуля не удаляет данные, поэтому ключ и статус сохраняются.
Устранение неполадок
PostNord не появляется при оформлении заказа: проверьте, что лицензия действует и включён Enable/Disable (или Home delivery). В разделе Shipping > Carriers проверьте, что перевозчик охватывает зону страны покупателя и группу покупателя, или включите Ignore shipping zones. Проверьте, что для страны задана цена (строка страны, строка * или Fallback cost), ограничения по весу и Minimum subtotal. Товары также могут быть ограничены определёнными перевозчиками на странице товара.
Выбор пункта сообщает, что пункты выдачи не удаётся загрузить: проверьте API key и настройку Test mode. Производственный ключ не работает в тестовой среде, и наоборот. Включите Debug log, перезагрузите оформление заказа и посмотрите поле Log на странице модуля. Заказ всё равно можно оформить: тогда PostNord доставит в ближайший пункт выдачи.
Неожиданные пункты выдачи: проверьте Agreement country. Он определяет, какие пункты выдачи предлагаются.
Доставка бесплатна по ошибке: проверьте в Country prices строки с Price 0, особенно строку *, добавленную через Add country и оставленную незаполненной, а также проверьте Free shipping from.
Пункты выдачи выглядят устаревшими после изменения: нажмите Save на странице модуля. Это очистит кэшированные списки.
На странице сказано, что перевозчик PostNord не найден: перевозчик был удалён в разделе Shipping > Carriers. Сбросьте модуль в разделе Modules > Module Manager, чтобы создать его заново.
Удаление
Перейдите в Modules > Module Manager, откройте меню рядом с VibeFox PostNord и выберите Uninstall. Лицензионный ключ и статус лицензии всегда удаляются. Отключение модуля лишь очищает кэшированные списки пунктов выдачи. При удалении кэшированные списки всегда удаляются. Если Remove data on uninstall включено, перевозчики удаляются (заказы сохраняют свою историю), а настройки и журнал удаляются. Если выключено, перевозчики только отключаются, и все настройки сохраняются. При повторной установке модуля сохранённые перевозчики получают тот статус, который у них был. Пункты выдачи, сохранённые в заказах, всегда сохраняются.
PostNord — торговая марка её владельца. Этот модуль не аффилирован с PostNord и не одобрен компанией.
