Назад

VibeFox DPD Pickup for PrestaShop — Помощь

Требования

PrestaShop: от 8.0 до 9.x.

PHP: 8.0 или новее. Модуль не устанавливается на более старых версиях PHP.

Учётные данные DPD Baltic (Литва, Латвия, Эстония): список пунктов выдачи берётся из веб-сервиса DPD Baltic. Нужны имя пользователя и пароль API, которые DPD выдаёт своим бизнес-клиентам. Уточните их у своего менеджера DPD или в службе поддержки DPD вашей страны. Одна учётная запись показывает пункты выдачи Литвы, Латвии и Эстонии.

DPD Словакия: публичный поиск parcelshop DPD Словакия не требует учётных данных.

Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.

Установка

1. В панели администратора перейдите в Modules > Module Manager и нажмите Upload a module. Выберите ZIP-файл модуля.

2. Когда загрузка завершится, нажмите Configure или позже найдите VibeFox DPD Pickup в списке модулей и нажмите Configure.

3. Введите лицензионный ключ VibeFox в поле License key в блоке лицензии в верхней части страницы Configure и нажмите Activate (см. раздел «Лицензионный ключ»).

4. Выберите API DPD. Для DPD Литвы, Латвии или Эстонии введите имя пользователя и пароль API. Проверьте цены по странам и нажмите Save. Затем нажмите Refresh pickup points, чтобы проверить соединение (см. раздел «Настройка»).

При установке модуль создаёт перевозчика DPD Pickup Point с текстом срока доставки DPD Pickup point or locker. Перевозчик привязывается к зонам Словакии, Литвы, Латвии и Эстонии и ко всем группам клиентов, без налогового правила. Зоны, группы клиентов, текст срока доставки, логотип и ограничения размеров можно изменить в Shipping > Carriers. Цены там не задавайте: цена всегда берётся из модуля.

Настройка

Все настройки находятся на странице модуля: Modules > Module Manager > VibeFox DPD Pickup > Configure. У каждого раздела есть своя кнопка Save, которая сохраняет всю страницу. Каждое сохранение также очищает кэш списков пунктов выдачи.

Предупреждения в верхней части страницы сообщают, когда пусто имя пользователя или пароль DPD Baltic, когда не заданы цены (в обоих случаях перевозчик не показывается при оформлении заказа), когда перевозчик был удалён, а также когда модуль не знает единицу измерения веса магазина (International > Localization, Local units), поэтому вес товаров читается как килограммы. Значение, которое не является числом, или отрицательное число в поле суммы или веса не сохраняется: поле очищается, и предупреждение указывает на него. Строки Country prices, которые не соответствуют формату CC:ЦЕНА, перечисляются в предупреждении и пропускаются.

Общие

Enable/Disable: включает или выключает DPD Pickup. Это тот же переключатель, что и статус перевозчика в Shipping > Carriers.

Name: название перевозчика, которое видит покупатель при оформлении заказа. По умолчанию: DPD Pickup Point. Обязательное поле, не более 64 символов.

Tax status: налоговое правило перевозчика, применяемое к стоимости доставки. None означает отсутствие налога. Другие варианты показывают Taxable с названием налогового правила вашего магазина.

Список пунктов выдачи DPD

Пункты выдачи загружаются из DPD и кэшируются на 24 часа.

DPD API: компания DPD, в которой у вас учётная запись. Балтийские учётные записи используют веб-сервис своей страны.

DPD Lithuania - Baltic API (integracijos.dpd.lt): требует имя пользователя и пароль Baltic.
DPD Latvia - Baltic API (integration.dpd.lv): требует имя пользователя и пароль Baltic.
DPD Estonia - Baltic API (integration.dpd.ee): требует имя пользователя и пароль Baltic.
DPD Slovakia - parcelshop search (api.dpd.sk, no credentials): вариант по умолчанию. Показывает пункты выдачи в радиусе 50 км от города и почтового индекса покупателя, поэтому пункты появляются после того, как покупатель их введёт.

API username (Baltic): ваше имя пользователя веб-сервиса DPD Baltic. Для DPD Словакия не требуется. Если его очистить, сохранённый пароль тоже удаляется.

API password (Baltic): ваш пароль веб-сервиса DPD Baltic. Для DPD Словакия не требуется. После сохранения поле остаётся пустым и показывает Saved - leave empty to keep it. Вводите новое значение, только если хотите его изменить.

Pickup points: кнопка Refresh pickup points очищает кэш и сразу загружает пункты выдачи из DPD: Литва, Латвия и Эстония для Baltic API и тестовый поиск в Братиславе для DPD Словакия. Она показывает количество пунктов выдачи или ошибку по каждой стране. Сначала сохраните настройки.

Цены

Стоимость доставки задаётся фиксированной ценой для каждой страны в основной валюте магазина, без налога. Цены DPD через API не запрашиваются.

Country prices: по одной строке на страну: CC:цена, например EE:3.50. Допускается десятичная запятая. По умолчанию: SK:3.50, LT:4.00, LV:4.00, EE:4.00.

Fallback cost: цена для стран, которых нет в Country prices. По умолчанию: 5.00. Оставьте поле пустым, чтобы предлагать перевозчика только в перечисленных странах.

Calculation type: Per order взимает цену один раз. Per item (price x quantity) умножает её на количество товаров в корзине.

Free shipping from: доставка бесплатна, когда сумма заказа (после скидок, без налога) достигает этой суммы. Оставьте поле пустым, чтобы отключить опцию.

Доступность

Перевозчик также скрывается, если DPD не возвращает пунктов выдачи для адреса покупателя или если API DPD недоступен, поскольку заказ нельзя доставить без пункта выдачи.

Min weight (kg): минимальный вес корзины. Вес товаров пересчитывается из единицы измерения веса магазина. Пустое значение или 0 означает отсутствие ограничения.

Max weight (kg): более тяжёлые корзины не видят перевозчика. По умолчанию: 31.5. 0 означает отсутствие ограничения. Проверьте ограничения по весу посылок для пунктов выдачи и постаматов DPD в вашей стране. Значение Min weight (kg) больше Max weight (kg) отклоняется, и ничего не сохраняется.

Minimum subtotal: показывать перевозчика только тогда, когда сумма заказа (после скидок, без налога) не меньше этой суммы. Оставьте поле пустым, чтобы показывать его всегда.

Ignore shipping zones: если включено, перевозчик привязывается ко всем зонам и предлагается для стран, указанных ниже. Зона, которую вы создадите позже, привязывается сразу. Если выключено, перевозчик предлагается только в своих зонах из Shipping > Carriers. При выключении перевозчик возвращается к зонам, которые у него были раньше.

Countries: страны назначения для этого режима. Оставьте пустым для всех стран. Используется только с Ignore shipping zones.

Выбор пункта выдачи

City order: сначала показывать крупные города (Таллин, Рига, Вильнюс, Братислава и другие). Включено по умолчанию.

City list width: ширина списка городов в CSS, например 100% или 300px. По умолчанию: 100%.

Pickup point list width: ширина списка пунктов выдачи в CSS, например 100% или 400px. По умолчанию: 100%.

Дополнительно

Debug log: записывает запросы к API и шаги оформления заказа в файл logs/vfd_dpd_debug.log.php в папке модуля. Файл нельзя открыть из браузера. Ошибки API записываются всегда, даже если эта опция выключена. Учётные данные никогда не записываются в журнал.

Log: показывает размер и последние записи журнала отладки. Нажмите Clear log, чтобы очистить его.

Remove data on uninstall: если включено, при удалении модуля удаляются его настройки и перевозчик. Пункт выдачи, сохранённый в заказах, всегда остаётся.

Как это работает при оформлении заказа

На этапе доставки PrestaShop запрашивает у модуля цену DPD Pickup. Учитываются только физические товары: виртуальные товары не добавляют вес и не входят в сумму заказа. Модуль проверяет страны (при Ignore shipping zones), вес корзины и минимальную сумму заказа, берёт цену для страны (или запасную цену) и применяет бесплатную доставку, если сумма заказа достаточна. Затем он загружает пункты выдачи DPD для адреса. Если DPD не возвращает ни одного пункта, не отвечает или отсутствуют учётные данные Baltic, перевозчик скрывается. Цена рассчитывается в основной валюте магазина, затем показывается в валюте корзины покупателя.

Список пунктов выдачи кэшируется на 24 часа, пустой список — на 1 час. Неудачный запрос запоминается на 5 минут, поэтому сбой DPD никогда не замедляет оформление заказа. Тайм-аут API — 15 секунд.

Если вы редактируете перевозчика в Shipping > Carriers после того, как у него появились заказы, PrestaShop сохраняет его как новую версию перевозчика. Модуль автоматически следует за новой версией.

Модуль не запрашивает цены DPD, не создаёт отправления DPD, не печатает этикетки, не создаёт манифесты, не заказывает курьерский забор, не отслеживает посылки и не показывает карту. Поддерживаются только веб-сервис DPD Baltic и поиск parcelshop DPD Словакия.

Пункты выдачи

Когда покупатель выбирает DPD Pickup, под перевозчиком появляются список городов и список пунктов выдачи. Город из адреса покупателя выбирается автоматически. Выбор сохраняется в корзине сразу, как только покупатель его сделал. Для DPD Словакия покупатель видит Enter your city and postcode to see the DPD pickup points nearby., пока адрес не заполнен, а затем ближайшие пункты. Если у DPD нет пунктов для адреса, покупатель видит No DPD pickup points are available for this address right now. Please check the address or choose another shipping method.

Пункт выдачи обязателен. Без него покупатель не может продолжить и видит Please select a DPD pickup point. Сервер проверяет, что пункт относится к списку DPD для адреса покупателя. Подделанный или устаревший выбор отклоняется с сообщением The selected DPD pickup point is not available for this address. Please choose another one.

Выбранный пункт сохраняется в заказе. Он показывается на странице подтверждения заказа и в деталях заказа покупателя как DPD pickup point:. В письме с подтверждением заказа он добавляется после названия перевозчика. Новое письмо о заказе для магазина (ps_emailalerts) тоже показывает ID пункта. Название, сохраняемое в заказе, берётся из DPD, а не из браузера.

На странице заказа в панели администратора блок DPD pickup point показывает название пункта, его ID и страну. Нажмите Edit, выберите город и другой пункт, затем нажмите Save. Пункт проверяется по списку DPD для адреса заказа, и страница показывает Pickup point updated. или Pickup point not found for the order address. Для изменения пункта нужно право редактировать заказы, а не доступ к страницам Modules. Каждое изменение записывается в Advanced Parameters > Logs заказа: старый пункт, новый пункт и сотрудник. Для изменения пункта с DPD Словакия у заказа должны быть город и почтовый индекс доставки.

Если корзина разделена на несколько заказов, пункт выдачи остаётся у первого заказа. В остальных заказах показывается No pickup point was selected for this order., в журнале отладки для каждого из них есть ошибка, а кнопка Edit там выдаёт The pickup point of this cart belongs to another order of the same cart. Nothing was changed. Пункт такого заказа нужно передать в DPD вручную.

Лицензионный ключ

Модуль работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox DPD Pickup — это первый блок на странице Modules > Module Manager > VibeFox DPD Pickup > Configure, над настройками. Введите ключ в поле License key и нажмите Activate. После этого блок показывает ключ в замаскированном виде, статус (например, дату, до которой действует лицензия, и ваш домен), а также кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: presta-shipping-dpd-pickup и ссылка 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.

Без активного ключа перевозчик DPD Pickup не показывается покупателям при оформлении заказа и стоимость доставки не рассчитывается. Витрина PrestaShop не знает, что вы вошли в панель администратора, поэтому перевозчик скрыт и для вас: модуль можно настроить до покупки ключа, но нельзя проверить при оформлении заказа. Напоминание появляется в Modules > Module Manager на вкладке Alerts. Существующие заказы не затрагиваются.

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

Устранение неполадок

DPD Pickup не появляется при оформлении заказа: проверьте, что лицензия активна и включено Enable/Disable. В Shipping > Carriers проверьте, что перевозчик охватывает зону страны покупателя и группу клиентов (или что включено Ignore shipping zones и страна разрешена). Посмотрите предупреждения в верхней части страницы модуля и нажмите Refresh pickup points. Проверьте ограничения по весу и сумме заказа, а также то, что для страны задана цена (или запасная стоимость). Товары также могут быть ограничены определёнными перевозчиками на странице товара.

Ошибка после Refresh pickup points: результат показывает ошибку DPD по каждой стране. Например, «Login failed» означает, что DPD отклонил учётные данные Baltic, поэтому пункты выдачи загрузить нельзя. Проверьте имя пользователя и пароль API у DPD.

DPD Словакия не показывает пункты: пункты появляются, когда покупатель ввёл город и почтовый индекс. DPD показывает только пункты в радиусе 50 км от этого адреса. Разработчики могут изменить радиус с помощью хука модуля actionVfdDpdSkSearchRadius.

Поиск причины: включите Debug log, перезагрузите страницу оформления заказа и посмотрите поле Log на странице модуля. Там записывается каждое решение. Ошибки API записываются всегда. Имена пользователей и пароли API в журнал никогда не записываются.

Пункты выдачи выглядят устаревшими после изменения: нажмите Save или Refresh pickup points на странице модуля. Обе кнопки очищают кэшированные списки.

Страница сообщает, что перевозчик DPD Pickup не найден: перевозчик был удалён в Shipping > Carriers. Сбросьте модуль в Modules > Module Manager, чтобы создать его заново.

Удаление

Перейдите в Modules > Module Manager, откройте меню рядом с VibeFox DPD Pickup и выберите Uninstall. Лицензионный ключ, статус лицензии и кэш пунктов выдачи всегда удаляются. Если Remove data on uninstall включено, перевозчик удаляется (заказы сохраняют свою историю), а также удаляются настройки, журнал и выборы незавершённых корзин. Если опция выключена, перевозчик только отключается, и все настройки сохраняются. При повторной установке модуля или при Reset сохранённый перевозчик возвращает тот статус, который был до этого: отключённый перевозчик остаётся отключённым. Пункт выдачи, сохранённый в заказах, никогда не удаляется.

DPD — торговая марка её владельца. Этот модуль не аффилирован с DPD и не одобрен DPD.