VibeFox Estafeta for PrestaShop — Допомога
Вимоги
PrestaShop: від 8.0 до 9.x.
PHP: 8.0 або новішої версії з розширенням cURL. Модуль не встановлюється на старих версіях PHP або без cURL.
Обліковий запис DrEnvio (лише для актуальних тарифів): актуальні тарифи Estafeta надходять від DrEnvio, партнера Estafeta в Мексиці. Створіть обліковий запис на drenvio.com, увімкніть Estafeta, налаштуйте там адресу забору і скопіюйте ключ API з панелі DrEnvio. Це той самий ключ, який використовує офіційний модуль DrEnvio. Якщо ви користуєтеся лише власними цінами, обліковий запис DrEnvio не потрібен.
Товари: для актуальних тарифів товари мають мати вагу.
Ліцензійний ключ VibeFox: купується на vibefox.net. Один ключ працює на одному домені.
Встановлення
1. У бек-офісі перейдіть до Modules > Module Manager і натисніть Upload a module. Виберіть ZIP-файл модуля.
2. Коли завантаження завершиться, натисніть Configure або пізніше знайдіть VibeFox Estafeta у списку модулів і натисніть Configure.
3. Введіть ліцензійний ключ VibeFox у поле License key у блоці ліцензії вгорі сторінки Configure і натисніть Activate (див. Ліцензійний ключ).
4. Введіть DrEnvio API key і, за бажанням, Origin postcode. Якщо основна валюта вашого магазину не MXN, введіть MXN exchange rate. Задайте ціну за країною для MX або Fallback cost, якщо перевізник має залишатися видимим, коли DrEnvio не має тарифу. Натисніть Save.
Під час встановлення модуль створює перевізника Estafeta з текстом строку доставки Estafeta courier (Mexico). Перевізник призначається всім зонам і всім групам клієнтів. Зони, групи клієнтів, строк доставки, логотип і обмеження розміру можна змінити в Shipping > Carriers. Не задавайте там ціни: ціна завжди береться з модуля.
Налаштування
Усі налаштування розташовані на сторінці модуля: Modules > Module Manager > VibeFox Estafeta > Configure. Кожен розділ має власну кнопку Save, яка зберігає всю сторінку. Кожне збереження також очищає кеш тарифів DrEnvio.
Угорі сторінки модуль показує попередження: немає ключа API DrEnvio; основна валюта не MXN без курсу валют; немає ціни за країною для MX і немає резервної вартості (тоді перевізник прихований, коли немає актуального тарифу, або ніколи не показується без ключа API); або одиниця ваги магазину, яку модуль не знає (тоді вага товарів береться в кг; задайте одиницю в International > Localization, Local units). Числові поля приймають крапку або кому як десятковий роздільник. Значення, яке не є коректним числом, очищується і повідомляється під час збереження; решта налаштувань зберігається.
Загальні
Зони, групи клієнтів і обмеження розміру перевізника задаються в Shipping > Carriers. Ці налаштування застосовуються до всіх зон.
Enable/Disable: вмикає або вимикає доставку Estafeta. Це той самий перемикач, що і статус перевізника в Shipping > Carriers.
Name: назва перевізника, яку бачить покупець під час оформлення замовлення. За замовчуванням: Estafeta. Обов'язкове. Неправильна назва повідомляється, і зберігається попередня.
Tax: правило податку перевізника або No tax. Магазин додає цей податок до вартості доставки. Чи включає DrEnvio IVA у свої ціни, залежить від вашого облікового запису DrEnvio. Якщо IVA вже включено, виберіть No tax.
Актуальні тарифи (API DrEnvio)
Пропонується найдешевша послуга Estafeta для адреси. Без ключа використовуються ціни з наступного розділу.
DrEnvio API key: ключ API з панелі DrEnvio. Після збереження поле залишається порожнім і показує Saved — leave empty to keep it. Вводьте нове значення, лише якщо хочете його змінити.
Remove the saved API key: показується, лише поки ключ збережено. Встановіть Yes і збережіть, щоб видалити ключ. Тоді використовуються лише Country prices і Fallback cost. Ключ, введений у поле вище, замінює збережений.
Origin country: дволітерний код країни адреси забору. За замовчуванням: MX. Надсилається лише разом із поштовим індексом відправлення.
Origin postcode: 5-значний поштовий індекс адреси забору. Залиште порожнім, щоб використовувати адресу відправлення, збережену у вашому обліковому записі DrEnvio. Індекс, що містить не 5 цифр, очищується і повідомляється під час збереження.
MXN exchange rate: DrEnvio розраховує в мексиканських песо. Потрібен, лише якщо основна валюта вашого магазину не MXN: значення 1 MXN в основній валюті, наприклад 0.05. Без нього актуальні тарифи не використовуються.
Ціни без актуального тарифу
Використовуються, коли немає ключа API або DrEnvio не повертає тариф Estafeta (API недоступний, невідомий індекс, індекс ще не введено). Ціни вказані в основній валюті магазину, без податків.
Country prices: одна країна призначення в рядку у форматі CC:PRICE, наприклад MX:150. Використовуйте крапку або кому як десятковий роздільник, без роздільника тисяч. Частини в іншому форматі ігноруються і повідомляються під час збереження.
Fallback cost: ціна, коли немає ні актуального тарифу, ні ціни за країною. Залиште порожнім, щоб приховати перевізника; 0 означає безкоштовну доставку.
Calculation type: Per order стягує ціну один раз. Per item (price x number of items) множить її на кількість товарів у кошику. Це стосується Country prices і Fallback cost. Актуальний тариф DrEnvio завжди є ціною всього відправлення.
Умови
Free shipping from: доставка безкоштовна, коли сума кошика (товари, що потребують доставки, після знижок, до податків) досягає цієї суми. Запит до DrEnvio в цьому разі не надсилається. Залиште порожнім, щоб ніколи не пропонувати безкоштовну доставку.
Minimum subtotal: показувати перевізника, лише коли сума кошика (після знижок, до податків) не менша за цю суму. Залиште порожнім, щоб показувати завжди.
Min weight: мінімальна вага кошика в кг, за якої з'являється перевізник. 0 означає без обмеження.
Max weight: максимальна вага кошика в кг. Перевізник приховується, якщо її перевищено. За замовчуванням: 30. 0 означає без обмеження.
Якщо Min weight більше за Max weight, під час збереження з'являється помилка, і обидві ваги залишаються без змін. Ваги товарів переводяться з одиниці ваги вашого магазину в кг.
Доступність без зон доставки
Ignore shipping zones: пропонувати перевізника для вказаних нижче країн без налаштування зон для нього. Поки опцію увімкнено, перевізник отримує всі зони, включно з тими, які ви створите пізніше. Вимкнення повертає перевізнику його власні зони.
Countries: країни призначення для цього режиму, вибрані з активних країн вашого магазину. Залиште порожнім для всіх країн. Використовується лише тоді, коли увімкнено Ignore shipping zones.
Додатково
Debug log: записує запити до API та розрахунки тарифів у logs/vfd_est_debug.log.php у папці модуля. Файл не можна відкрити з веб. Помилки API завжди записуються. Ключ API та адреси покупців ніколи не записуються. Вимкніть журнал, коли закінчите.
Log: показує розмір і останні записи журналу налагодження. Натисніть Clear log, щоб його очистити.
Remove data on uninstall: якщо увімкнено, видалення модуля стирає всі його налаштування, перевізника, збережені послуги Estafeta замовлень і журнал. Якщо вимкнено, усе зберігається для повторного встановлення.
Як це працює під час оформлення замовлення
На кроці доставки PrestaShop запитує у модуля ціну Estafeta. Враховуються лише фізичні товари: віртуальні товари не додають ваги і не входять до суми кошика. Модуль спершу перевіряє умови: список Countries (коли увімкнено Ignore shipping zones), вагу кошика і мінімальну суму замовлення. Якщо діє безкоштовна доставка, ціна дорівнює 0 і запит до DrEnvio не надсилається.
Інакше модуль надсилає DrEnvio країну та поштовий індекс призначення, вагу кошика, кількість товарів і суму кошика в MXN, а також поштовий індекс відправлення, якщо ви його задали. Мексиканські поштові індекси мають складатися з 5 цифр; доки покупець не введе адресу доставки з таким індексом, запит не надсилається. DrEnvio повертає розрахунки всіх перевізників вашого облікового запису. Модуль використовує лише розрахунки Estafeta, ігнорує нульові ціни, обирає найдешевшу і переводить її в основну валюту магазину. Потім ціна відображається у валюті кошика покупця.
Кожна відповідь кешується на 1 годину. Невдалий запит або маршрут без тарифу Estafeta запам'ятовуються на 5 хвилин, щоб повільний або зламаний API ніколи не гальмував кожне оновлення під час оформлення замовлення. Тайм-аут API — 12 секунд. У цих випадках покупець не бачить помилки: використовується ціна за країною або резервна вартість, або перевізник приховується, якщо не задано ні те, ні інше. Причина записується в журнал.
Якщо ви редагуєте перевізника в Shipping > Carriers після того, як у нього з'явилися замовлення, PrestaShop зберігає його як нову версію перевізника. Модуль автоматично слідує за новою версією.
Модуль лише розраховує тарифи. Він не створює відправлень, не друкує накладні (guías) і не відстежує посилки; відправлення створюється у вашому обліковому записі DrEnvio або Estafeta. Покупець не може вибрати конкретну послугу Estafeta чи відділення Estafeta, а курси валют не оновлюються автоматично.
Замовлення
Коли оформлюється замовлення з перевізником Estafeta, модуль зберігає тариф, розрахований для його кошика. Наступні перерахунки, наприклад на сторінці замовлення в бек-офісі, його не змінюють.
Сторінка замовлень у Orders > Orders показує блок Estafeta:
Estafeta service: послуга Estafeta з розрахунку DrEnvio та її строк доставки. Показується лише для актуальних тарифів.
Price source: Live DrEnvio rate, Country price (no live rate), Fallback cost (no live rate) або Free shipping threshold.
Calculated price (excl. tax): ціна доставки в основній валюті магазину.
Ліцензійний ключ
Модуль працює з ліцензійним ключем VibeFox з vibefox.net. Блок ліцензії License — VibeFox Estafeta — це перший блок на сторінці Modules > Module Manager > VibeFox Estafeta > Configure, над налаштуваннями. Введіть ключ у поле License key і натисніть Activate. Після цього блок показує ключ у прихованому вигляді, статус (наприклад, дату, до якої дійсна ліцензія, і ваш домен) та кнопки Check now для повторної перевірки статусу, Change key для введення іншого ключа і Remove key для видалення ключа з цього магазину. Нижче розташовані рядок Product: presta-shipping-estafeta і посилання 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.
Без активного ключа перевізник Estafeta не показується покупцям під час оформлення замовлення, і тариф не розраховується. Вітрина PrestaShop не знає, що ви увійшли в бек-офіс, тому перевізник приховано і для вас: налаштувати модуль можна до купівлі ключа, але перевірити його під час оформлення замовлення не можна. Нагадування з'являється в Modules > Module Manager на вкладці Alerts. Наявні замовлення не змінюються.
Коли ліцензія закінчується, модуль продовжує працювати, але для оновлень і підтримки потрібне продовження. Статус автоматично перевіряється, поки ви працюєте в бек-офісі: раз на день протягом перших 14 днів після введення ключа, потім раз на тиждень. Cron-завдання не потрібне. Під час видалення або скидання модуля завжди видаляються ліцензійний ключ і статус ліцензії.
Усунення несправностей
Estafeta не з'являється під час оформлення замовлення: перевірте, що ліцензія активна і увімкнено Enable/Disable. В Shipping > Carriers перевірте, що перевізник охоплює зону країни покупця та групу покупця (або що увімкнено Ignore shipping zones і країна дозволена). Перегляньте попередження вгорі сторінки модуля, обмеження ваги та Minimum subtotal. Без ключа API або коли DrEnvio не має тарифу Estafeta, перевізнику потрібна ціна за країною призначення або резервна вартість. Товари також можуть бути обмежені певними перевізниками на сторінці товару.
Актуальні тарифи не з'являються: увімкніть Debug log, перезавантажте оформлення замовлення і перегляньте поле Log на сторінці модуля. Там вказано причину: немає ключа API; немає курсу валют для магазину, основна валюта якого не MXN; відсутній або неправильний поштовий індекс; ключ API відхилено (HTTP 401 або 403 від DrEnvio, перевірте ключ API); немає тарифу Estafeta для маршруту (журнал перелічує перевізників, яких повернув DrEnvio); або тариф у валюті, відмінній від MXN.
Чи включає ціна IVA? Це залежить від вашого облікового запису DrEnvio. Якщо ціни DrEnvio вже включають IVA, встановіть Tax у значення No tax.
Тарифи виглядають застарілими після зміни: натисніть Save на сторінці модуля. Це очистить кеш тарифів DrEnvio.
Сторінка повідомляє, що перевізника Estafeta не знайдено: перевізника було видалено в Shipping > Carriers. Скиньте модуль у Modules > Module Manager, щоб створити його знову. Те саме стосується повідомлення The settings were saved, but the carrier could not be updated.
На сторінці замовлення немає блоку Estafeta: блок показується лише для замовлень, оформлених з перевізником Estafeta, поки модуль був встановлений. Видалення з увімкненим Remove data on uninstall стирає збережені послуги.
Видалення
Перейдіть до Modules > Module Manager, відкрийте меню поруч із VibeFox Estafeta і виберіть Uninstall. Ліцензійний ключ і статус ліцензії завжди видаляються. Кеш тарифів завжди видаляється. Якщо Remove data on uninstall увімкнено, перевізника видаляють (замовлення зберігають історію), а налаштування, збережені послуги Estafeta замовлень і журнал видаляються. Якщо вимкнено, перевізника лише деактивують, а налаштування та збережені послуги замовлень зберігаються. Під час повторного встановлення модуля перевізник повертає статус, який мав до видалення.
Estafeta та DrEnvio є торговельними марками їх власників. Цей модуль не пов'язаний з Estafeta чи DrEnvio і не схвалений ними.
