VibeFox DPD Pickup for OpenCart — Допомога
Вимоги
OpenCart: 3.0.x (перевірено на 3.0.5.0) або 4.0.2 і новіші (перевірено на 4.1.0.3).
PHP: 8.0 або новіша версія.
Облікові дані DPD Baltic (Литва, Латвія, Естонія): список пунктів видачі береться з веб-сервісу DPD Baltic. Потрібні ім'я користувача та пароль API, які DPD видає своїм бізнес-клієнтам. Уточніть їх у свого менеджера DPD або в службі підтримки DPD вашої країни. Один обліковий запис показує пункти видачі Литви, Латвії та Естонії.
DPD Slovakia: публічний пошук парсел-шопів DPD Slovakia не потребує облікових даних.
Вагова категорія: ваги товарів переводяться в кг. Вашому магазину потрібна вагова категорія з одиницею kg у розділі System > Localisation > Weight Classes (в OpenCart вона є за замовчуванням).
Ліцензійний ключ VibeFox: купується на vibefox.net. Один ключ працює на одному домені.
Встановлення
Завантаження — це один zip-файл з пакетами для обох версій OpenCart. Розпакуйте його на своєму комп'ютері. Він містить README.txt, пакет для OpenCart 3 vfd_dpd_pickup-oc3-(version).ocmod.zip і пакет для OpenCart 4 vfd_dpd_pickup.ocmod.zip. Встановлюйте лише пакет для вашої версії OpenCart. Ліцензійний ключ однаковий для обох версій.
OpenCart 3
1. В адмін-панелі перейдіть до Extensions > Installer, натисніть Upload і виберіть файл vfd_dpd_pickup-oc3-(version).ocmod.zip. Розширення не додає модифікацій OCMOD, тому оновлювати Extensions > Modifications не потрібно. Замість інсталятора можна скопіювати вміст папки upload цього пакета в кореневу папку вашого магазину.
2. Перейдіть до Extensions > Extensions і виберіть тип розширень Shipping. Знайдіть VibeFox DPD Pickup і натисніть Install (зелена кнопка +).
3. Натисніть Edit (кнопка з олівцем), щоб відкрити сторінку налаштувань.
4. Вставте ліцензійний ключ VibeFox у поле License key у блоці ліцензії у верхній частині сторінки Edit і натисніть Activate (див. Ліцензійний ключ).
5. Виберіть свій API DPD. Для DPD Литва, Латвія або Естонія введіть ім'я користувача та пароль API. Перевірте ціни за країнами, увімкніть Enable/Disable і натисніть Save. Потім натисніть Refresh pickup points, щоб перевірити з'єднання (див. Налаштування).
OpenCart 4
1. В адмін-панелі перейдіть до Extensions > Installer, натисніть Upload і виберіть файл vfd_dpd_pickup.ocmod.zip. Не перейменовуйте файл: OpenCart 4 бере код розширення з назви файлу, і перейменований пакет не працює.
2. Пакет з'являється у списку встановлених розширень на тій самій сторінці. Натисніть Install (зелена кнопка +) поруч із ним.
3. Перейдіть до Extensions > Extensions і виберіть тип розширень Shipping. Знайдіть VibeFox DPD Pickup, натисніть Install (зелена кнопка +), а потім Edit (кнопка з олівцем).
4. Введіть ліцензійний ключ і налаштування так само, як у кроках 4 і 5 для OpenCart 3. Сторінка налаштувань і її поля однакові в обох версіях.
Після встановлення спосіб вимкнено, доки ви не увімкнете Enable/Disable і не збережете налаштування. Якщо ви встановите розширення повторно після видалення, будуть використані збережені налаштування.
Налаштування
Усі налаштування містяться на сторінці розширення: Extensions > Extensions > Shipping > VibeFox DPD Pickup > Edit. Розділи перелічено ліворуч. Одна кнопка Save зберігає всю сторінку без перезавантаження. Кожне збереження також очищає кеш списків пунктів видачі. Зберігати налаштування, оновлювати пункти видачі або очищати журнал можуть лише адміністратори з правом змінювати це розширення.
Попередження вгорі сторінки повідомляють, коли ім'я користувача або пароль DPD Baltic порожні, або коли не задано жодної ціни (в обох випадках спосіб не показується на оформленні замовлення), а також коли в магазині немає вагової категорії з одиницею kg (тоді ваги товарів визначаються за назвою одиниці, невідомі одиниці вважаються кг). Деякі значення не дають зберегти налаштування, і тоді нічого не зберігається: порожня Name або назва довша за 64 символи, Sort order, який не є цілим числом, і Min weight (kg), більший за Max weight (kg). Значення, яке не є числом або є від'ємним, у полі суми чи ваги не зберігається: поле стає порожнім, і попередження його називає, а решта налаштувань зберігається. Рядки Country prices, які не мають формату CC:PRICE, перелічуються в попередженні й ігноруються.
Загальні
Спосіб пропонується в геозоні, заданій у Availability (усі зони, якщо жодну не вибрано), або з Ignore shipping zones у країнах, вибраних там.
Enable/Disable: показує або приховує DPD Pickup на оформленні замовлення. За замовчуванням: вимкнено.
Name: назва способу доставки, яку бачить покупець на оформленні замовлення. За замовчуванням: DPD Pickup Point. Обов'язково, не більше 64 символів.
Tax class: податковий клас, що застосовується до вартості доставки, або None (за замовчуванням) — без податку.
Sort order: позиція способу в списку способів доставки. Ціле число.
Список пунктів видачі DPD
Пункти видачі завантажуються з DPD і кешуються (див. Як це працює на оформленні замовлення).
DPD API: компанія DPD, з якою у вас обліковий запис. Облікові записи Baltic використовують веб-сервіс своєї країни.
API username (Baltic): ваше ім'я користувача для веб-сервісу DPD Baltic. Для DPD Slovakia не потрібно. Очищення поля також видаляє збережений пароль.
API password (Baltic): ваш пароль для веб-сервісу DPD Baltic. Для DPD Slovakia не потрібен. Після збереження поле лишається порожнім і показує Saved - leave empty to keep it. Вводьте нове значення, лише якщо хочете його змінити.
Pickup points: кнопка Refresh pickup points очищає кеш і одразу завантажує пункти видачі з DPD: Литва, Латвія та Естонія для API Baltic і тестовий пошук у Братиславі для DPD Slovakia. Вона показує кількість пунктів видачі або помилку для кожної країни. Спершу збережіть налаштування.
Ціни
Вартість доставки фіксована для кожної країни, у валюті магазину за замовчуванням, без податків. Тарифи 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 Pickup у вашій країні.
Minimum subtotal: показувати спосіб лише тоді, коли проміжна сума замовлення (після знижок, без податків) не менша за цю суму. Залиште порожнім, щоб показувати спосіб завжди.
Geo zone: пропонувати спосіб лише для адрес у цій геозоні. All zones (за замовчуванням) означає відсутність обмеження. Геозони керуються в System > Localisation > Geo Zones. Не використовується з Ignore shipping zones.
Ignore shipping zones: якщо увімкнено, геозона не перевіряється, і спосіб пропонується в країнах, зазначених нижче. Якщо вимкнено (за замовчуванням), використовується лише геозона, зазначена вище.
Countries: країни призначення для цього режиму. Залиште порожнім, щоб дозволити всі країни. Використовується лише з Ignore shipping zones.
Вибір пункту видачі
City order: спочатку показувати великі міста (Tallinn, Riga, Vilnius, Bratislava та інші). Увімкнено за замовчуванням.
City list width: ширина списку міст у CSS, наприклад 100% або 300px. За замовчуванням: 100%.
Pickup point list width: ширина списку пунктів видачі в CSS, наприклад 100% або 400px. За замовчуванням: 100%.
Додатково
Debug log: записує запити до API та кроки оформлення замовлення у файл storage/logs/vfd_dpd_debug.log.php (в OpenCart 4 — system/storage/logs/vfd_dpd_debug.log.php). Файл не можна прочитати через веб. Помилки API записуються завжди, навіть коли цей параметр вимкнено. Облікові дані ніколи не записуються. Коли файл досягає 5 МБ, його переміщують до vfd_dpd_debug.old.log.php, і починається новий журнал.
Log: показує розмір і останні записи журналу налагодження. Натисніть Clear log, щоб його очистити.
Remove data on uninstall: якщо увімкнено, видалення розширення стирає його налаштування, журнал і вибір незавершених оформлень замовлення. Пункт видачі, збережений у замовленнях, завжди зберігається.
Імпорт / Експорт
Export: натисніть Download JSON, щоб зберегти налаштування у файл JSON. Пароль API не експортується.
Import: вставте раніше експортований JSON і натисніть Import, щоб відновити налаштування, наприклад в іншому магазині. Значення перевіряються так само, як при звичайному збереженні. Збережений пароль API зберігається.
Як це працює на оформленні замовлення
Коли OpenCart показує способи доставки, він запитує в розширення ціну DPD Pickup. Якщо задано Geo zone (а Ignore shipping zones вимкнено) і адреса поза нею, спосіб не пропонується. Враховуються лише товари з Requires Shipping, встановленим у Yes: інші товари не додають ваги і не входять до проміжної суми. Розширення перевіряє країни (з Ignore shipping zones), вагу кошика і мінімальну суму, бере ціну для країни (або резервну вартість) і застосовує безкоштовну доставку, якщо сума достатня. Проміжна сума — це вартість товарів, які потрібно доставити, після знижки за купоном і до податків.
Далі розширення завантажує пункти видачі DPD для адреси. Якщо DPD не повертає жодного, недоступний або відсутні облікові дані Baltic, спосіб приховується. Для DPD Slovakia спосіб показується, поки не заповнені місто або поштовий індекс, а пункти з'являються, коли адреса повна. Ціна розраховується у валюті магазину за замовчуванням і показується покупцеві в його валюті з податком обраного Tax class.
Список пунктів видачі кешується на строк до 24 годин, порожній список — до 1 години, але не довше за строк життя кешу OpenCart (за замовчуванням 1 година). Невдалий запит запам'ятовується на 5 хвилин, тож збій DPD ніколи не сповільнює оформлення замовлення. Тайм-аут API становить 15 секунд.
Розширення не запитує тарифи DPD, не створює відправлень DPD, не друкує етикетки, не формує реєстри, не замовляє кур'єрський забір, не відстежує посилки і не показує карту. Підтримуються лише веб-сервіс DPD Baltic і пошук парсел-шопів DPD Slovakia.
Пункти видачі
Коли покупець обирає DPD Pickup, під способом доставки з'являються список міст і список пунктів видачі. Місто з адреси покупця вибирається автоматично. Вибір зберігається одразу, як тільки покупець його зробив. Для DPD Slovakia покупець бачить 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. Коли покупець натискає Continue, сервер перевіряє, що пункт входить до списку DPD для адреси покупця. Підроблений або застарілий вибір відхиляється з повідомленням The selected DPD pickup point is not available for this address. Please choose another one. Якщо список DPD у цей момент не завантажився, приймається пункт, який покупець уже обрав, а в замовленні замість назви показується його ID.
На OpenCart 4 покупець натискає Choose у блоці способу доставки на сторінці оформлення замовлення і вибирає DPD Pickup у вікні Shipping method options. Список міст і список пунктів видачі з'являються у цьому вікні під способом і працюють так, як описано вище. Кнопка Continue у вікні не переходить далі без пункту видачі, з тими самими повідомленнями.
Обраний пункт додається до способу доставки замовлення, наприклад DPD Pickup Point: name, street, postcode city зі стандартним заголовком або My title - DPD pickup point: name, street, postcode city з вашим заголовком (не більше 128 символів). Так він з'являється в замовленні в адмін-панелі, в історії замовлень покупця, в листах про замовлення та у рахунку. Назва, що зберігається в замовленні, береться з DPD, а не з браузера.
На OpenCart 4 текст способу доставки може містити до 255 символів. OpenCart 4 зберігає одне замовлення для оформлення і оновлює його щоразу, коли покупець підтверджує знову, а пункт видачі замовлення оновлюється разом із ним.
На сторінці замовлення в адмін-панелі (Sales > Orders) блок DPD pickup point над історією показує назву пункту, його ID і країну. Натисніть Edit, оберіть місто та інший пункт і натисніть Save. Пункт перевіряється за списком DPD для адреси замовлення, і блок показує Pickup point updated. або Pickup point not found for the order address. Текст способу доставки в замовленні оновлюється, а в історію замовлення додається примітка (покупцю не надсилається) зі старим пунктом, новим пунктом і адміністратором. Для зміни пункту потрібне право змінювати замовлення, а не доступ до налаштувань розширення. Для DPD Slovakia в замовленні мають бути місто та поштовий індекс доставки, інакше блок показує Add the shipping city and postcode to change the pickup point. Замовлення без пункту показує No pickup point was selected for this order., і в журналі налагодження для нього є помилка. Блок і Edit працюють і після вимкнення розширення.
Ліцензійний ключ
Розширення працює з ліцензійним ключем VibeFox з vibefox.net. Блок ліцензії License — VibeFox DPD Pickup є першим блоком на сторінці Extensions > Extensions > Shipping > VibeFox DPD Pickup > Edit, над налаштуваннями. Вставте ключ у License key і натисніть Activate. Після цього блок показує ключ у замаскованому вигляді, статус (наприклад, дату, до якої ліцензія активна, і ваш домен) та кнопки Check now, щоб перевірити статус знову, Change key, щоб ввести інший ключ, і Remove key, щоб видалити ключ з цього магазину. Нижче є рядок Product: opencart-shipping-dpd-pickup і посилання Manage licenses and domains in your account, яке відкриває ваш обліковий запис на vibefox.net. Змінювати ключ можуть лише адміністратори з правом Modify для розширення. Тексти блоку відповідають мові адмін-панелі (включено англійську та російську).
Якщо ключ не прийнято, блок пояснює причину, наприклад Key not found, This key belongs to another product, Domain limit reached або License expired on і дату. Після зміни адреси магазину або після того, як ви звільните місце для домену у своєму обліковому записі, натисніть Check now. Якщо сервер ліцензій недоступний, розширення продовжує працювати з останнім відомим статусом.
Один ключ працює на одному домені: адреса магазину з конфігурації OpenCart. Видалення ключа з магазину не звільняє його місце для домену. Звільніть місце у своєму обліковому записі на vibefox.net.
Без активного ключа спосіб доставки DPD Pickup не показується покупцям на оформленні замовлення, і вартість доставки не розраховується. Адміністратор, який увійшов в адмін-панель у тому самому браузері, усе ще бачить спосіб у магазині, позначений як (unlicensed — visible to admins only), тож ви можете налаштувати та перевірити розширення до покупки ключа. В OpenCart 4 такого попереднього перегляду немає: магазин не бачить входу адміністратора, тому без активного ключа спосіб приховано для всіх. Після того як ви один раз відкрили сторінку Edit, на сторінці Dashboard адмін-панелі з'являється нагадування. Закрийте його кнопкою ×, щоб приховати на 7 днів. Наявні замовлення не змінюються.
Коли ліцензія закінчується, розширення продовжує працювати, але для оновлень і підтримки потрібне продовження. Статус автоматично перевіряється, коли ви відкриваєте сторінку Dashboard адмін-панелі або сторінку Edit: раз на день протягом перших 14 днів після введення ключа, потім раз на тиждень. Cron-завдання не потрібне. Видалення розширення завжди видаляє ліцензійний ключ і статус ліцензії.
Усунення несправностей
DPD Pickup не з'являється на оформленні замовлення: перевірте, що ліцензія активна і Enable/Disable увімкнено. Перевірте Geo zone (або Ignore shipping zones і Countries), обмеження ваги та суми, а також чи має країна ціну (або резервну вартість). Перегляньте попередження вгорі сторінки розширення і натисніть Refresh pickup points. Перевірте, що у товарів Requires Shipping встановлено Yes.
Помилка після Refresh pickup points: результат показує помилку DPD для кожної країни. Наприклад, «Login failed» означає, що DPD відхилив облікові дані Baltic, тож пункти видачі завантажити не можна. Перевірте ім'я користувача та пароль API у DPD.
DPD Slovakia не показує пунктів: пункти з'являються, коли покупець ввів місто та поштовий індекс. DPD показує лише пункти в радіусі 50 км від цієї адреси.
Пошук причини: увімкніть Debug log, перезавантажте оформлення замовлення і перегляньте поле Log на сторінці розширення. Помилки API записуються завжди. Імена користувачів і паролі API ніколи не записуються в журнал.
Пункти видачі виглядають застарілими після зміни: натисніть Save або Refresh pickup points на сторінці розширення. Обидві дії очищають кешовані списки.
Сторінка показує «Warning: You do not have permission to modify VibeFox DPD Pickup!»: можливо, ваша група адміністраторів може лише переглядати налаштування. Дайте групі право змінювати extension/shipping/vfd_dpd_pickup (OpenCart 3) або extension/vfd_dpd_pickup/shipping/vfd_dpd_pickup (OpenCart 4) у System > Users > User Groups.
Для розробників: радіус пошуку DPD Slovakia може змінити інше розширення подією OpenCart vfd_dpd_pickup/sk_search_radius.
Видалення
Перейдіть до Extensions > Extensions, оберіть тип Shipping і натисніть Uninstall (червона кнопка −) поруч із VibeFox DPD Pickup. Ліцензійний ключ і статус ліцензії цього розширення завжди видаляються. OpenCart завжди скидає Enable/Disable, Sort order, Tax class і Geo zone. Розширення завжди видаляє свої події та кешовані списки пунктів видачі. Якщо Remove data on uninstall увімкнено, решта налаштувань, журнал налагодження та вибір незавершених оформлень замовлення також видаляються. Якщо вимкнено, налаштування зберігаються і будуть використані при повторній установці розширення. Пункт видачі, збережений у замовленнях, ніколи не видаляється, а наявні замовлення зберігають свій спосіб доставки та вартість.
В OpenCart 4, щоб також видалити файли розширення, після видалення перейдіть до Extensions > Installer і натисніть Uninstall (помаранчева кнопка −) поруч із VibeFox DPD Pickup у списку встановлених розширень, а потім Delete (червона кнопка з кошиком), щоб видалити завантажений пакет.
DPD є торговою маркою її власника. Це розширення не пов'язане з DPD і не схвалене DPD.
