VibeFox Ninja Van for WooCommerce — Помощь
Требования
WordPress: 5.8 или новее.
WooCommerce: 5.0 или новее, установлен и активен. Без него плагин не активируется.
PHP: 8.0 или новее.
Тарифная сетка Ninja Van: цены из вашего аккаунта отправителя Ninja Van или от отдела продаж Ninja Van, введённые в таблицу цен. Ключи API не нужны. Необязательные актуальные цены внутри Индонезии используют API тарифов Ninja Van, который открыт и не требует аутентификации.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку vfd_ninja_van в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Shipping > VibeFox Ninja Van или нажмите Settings под названием плагина на странице Plugins.
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Введите цены Ninja Van в таблицу цен. Для Индонезии при желании включите Live rates (см. Настройка).
6. Добавьте VibeFox Ninja Van в зону доставки (например, «Сингапур») в разделе WooCommerce > Settings > Shipping > Shipping zones или включите Ignore shipping zones и выберите страны.
Настройка
Все настройки находятся на одной странице: WooCommerce > Settings > Shipping > VibeFox Ninja Van. Они действуют во всех зонах доставки. Когда вы добавляете способ в зону, в окне зоны есть только одно поле:
Title (zone): название, которое видят покупатели для этой зоны. Оставьте поле пустым, чтобы использовать общий Method title.
Общие
Enable/Disable: включает или выключает способ во всех зонах сразу.
Method title: название способа доставки, которое показывается в корзине и при оформлении заказа. Зона может его переопределить. По умолчанию: Ninja Van.
Цены (в валюте вашего магазина)
Введите цены из вашей тарифной сетки Ninja Van в валюте магазина. Если тарифы указаны в SGD, MYR, IDR, PHP, THB или VND, сначала пересчитайте их. Эта таблица используется для всех направлений за пределами Индонезии и всегда, когда актуальная цена недоступна.
Price table: одна строка на страну назначения. Нажмите + Add country, чтобы добавить строку, и крестик, чтобы удалить её. Выберите * All other countries для всех стран, у которых нет своей строки. В каждой строке есть Base price и столбцы веса: XS до 1 кг, S до 2 кг, M до 3 кг, L до 5 кг и XL свыше 5 кг. Пустой (или нулевой) столбец веса использует базовую цену. Базовая цена 0 означает бесплатную доставку в эту страну. Принимаются оба варианта: «9.99» и «9,99». Строки без цен удаляются при сохранении.
Price for countries not in the table: используется, если в таблице нет строки для страны назначения (и строки *) или в строке нет цены для этого веса. Оставьте поле пустым, чтобы скрывать способ в этом случае.
Price applies: способ подсчёта цен. Это относится и к актуальным ценам.
Актуальные тарифы (API) — Индонезия
API тарифов Ninja Van возвращает стандартную стоимость доставки без надбавок и скидок для посылок, отправляемых внутри Индонезии. Ninja Van предлагает его только для Индонезии. Когда Live rates включён, строки статуса в этом разделе показывают зону отправления, отсутствие курса конвертации и последний ответ API тарифов.
Live rates: получать актуальные цены Ninja Van для доставки внутри Индонезии. По умолчанию: выключено. Без этой опции при оформлении заказа в Ninja Van ничего не отправляется.
Environment: Production (api.ninjavan.co) (по умолчанию) или Sandbox — testing only (api-sandbox.ninjavan.co).
Service level: сервис, для которого запрашивается цена: Standard (по умолчанию), Express, Same day или Next day. Если Ninja Van не имеет цены для маршрута и сервиса, используется таблица цен.
Ship-from zone code L1 и Ship-from zone code L2: коды уровней L1 и L2 района, из которого вы отправляете, например ID_A00007_01 и ID_B00069_01, из таблицы соответствия кодов зон Ninja Van (CSV), ссылка на которую есть на странице настроек. Введите оба кода или оставьте оба пустыми, чтобы определить их по адресу магазина в WooCommerce > Settings > General: Индонезия, провинция, город и, если в городе несколько зон, район (Kecamatan) в строке адреса. Код неверного формата очищается с сообщением об ошибке.
IDR conversion rate: API тарифов возвращает стоимость в индонезийских рупиях (IDR). Если валюта вашего магазина — IDR, оставьте поле пустым. В противном случае укажите, сколько стоит 1 IDR в валюте вашего магазина, например 0.000058. Без этого значения актуальные цены не используются, применяется таблица цен.
Условия
Minimum weight (kg): скрывает способ, если корзина весит меньше. 0 означает отсутствие ограничения.
Maximum weight (kg): скрывает способ, если корзина весит больше. По умолчанию: 30. 0 означает отсутствие ограничения.
Minimum order amount: показывает способ только тогда, когда промежуточная сумма корзины (после скидок, до налогов) достигает этой суммы. Оставьте поле пустым, чтобы показывать способ всегда.
Free shipping from: промежуточная сумма корзины (после скидок, до налогов), начиная с которой доставка Ninja Van бесплатна. Оставьте поле пустым, если бесплатной доставки нет.
Excluded shipping classes: скрывает способ, если в корзине есть товар из любого из этих классов доставки WooCommerce.
Tax status: Taxable добавляет налог WooCommerce к стоимости доставки, None не добавляет. Выберите None, если цены в таблице уже включают налог (GST, SST, НДС).
Доступность без зон доставки
Ignore shipping zones: предлагать Ninja Van для стран, указанных ниже, даже если способ не добавлен ни в одну зону доставки.
Countries: страны назначения для этого режима. Оставьте поле пустым, чтобы использовать все страны, в которые вы доставляете. Это поле используется только тогда, когда включён Ignore shipping zones.
Дополнительно
Debug log: записывает расчёты тарифов в WooCommerce > Status > Logs (источник vfd_ninja_van). Адреса покупателей не записываются. Неудачные запросы к API тарифов записываются, даже если эта опция выключена. Выключите её, когда закончите.
Remove data on uninstall: если включено, удаление плагина стирает все настройки Ninja Van и способы для зон. Деактивация плагина никогда ничего не удаляет.
Как это работает при оформлении заказа
Когда покупатель вводит адрес доставки, WooCommerce запрашивает у плагина тариф. Плагин сначала проверяет условия: страну доставки, вес корзины, минимальную сумму заказа и исключённые классы доставки. Если применяется бесплатная доставка, покупатель видит способ без оплаты и запрос в Ninja Van не отправляется.
Цена берётся из строки страны (или строки *): столбец веса, иначе базовая цена, иначе Price for countries not in the table. Веса товаров переводятся из единицы веса магазина в килограммы. Если цены нет, способ скрывается.
Если Live rates включён, доставка внутри Индонезии сначала тарифицируется Ninja Van. Плагин преобразует адреса отправления и доставки в коды зон Ninja Van: провинция, город или регентство и, для городов с несколькими зонами, район (Kecamatan), указанный в строке адреса. Он отправляет коды, вес и уровень сервиса и пересчитывает стоимость из IDR в валюту вашего магазина. При Per item отправляется один запрос на каждый отдельный вес товара, но не более 5 на корзину.
API тарифов допускает 20 запросов в минуту, поэтому ответы кэшируются на 6 часов, ошибки — на 5 минут, а «нет цены для этого маршрута» — на 1 час. Плагин никогда не отправляет более 18 запросов в минуту и после ответа HTTP 429 приостанавливает запросы на час. Тайм-аут API — 12 секунд. Если Ninja Van не отвечает, отвечает ошибкой, не имеет цены для маршрута или адрес не удаётся сопоставить, используется цена из таблицы. Ошибки попадают в журнал и никогда не показываются покупателю.
Способ работает при классическом оформлении заказа и в блоках Cart и Checkout. Он совместим с WooCommerce High-Performance Order Storage (HPOS).
Плагин только рассчитывает цены. Он не создаёт заказы в Ninja Van, не печатает авианакладные (AWB), не заказывает забор посылок, не отслеживает посылки и не работает с COD. Для этого используйте Ninja Van Dashboard. Выбора пункта выдачи (Ninja Points) нет: способ — доставка до двери. Актуальные цены недоступны за пределами Индонезии.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox, который покупается на vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Shipping > VibeFox Ninja Van. Вставьте ключ в License key и нажмите Activate. В блоке отображается статус, например дата, до которой лицензия активна, и ваш домен. Используйте Check now, чтобы проверить статус ещё раз, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш аккаунт на vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите его в вашем аккаунте на vibefox.net.
Без активного ключа Ninja Van не показывается покупателям при оформлении заказа. Авторизованные администраторы магазина по-прежнему видят способ с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются.
Когда срок лицензии истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется в фоновом режиме.
Устранение неполадок
Ninja Van не появляется при оформлении заказа: проверьте, что лицензия активна, что Enable/Disable включён и способ добавлен в зону страны покупателя (или включён Ignore shipping zones и страна разрешена). Проверьте ограничения по весу, Minimum order amount и Excluded shipping classes, а также то, что для страны, строки * или Price for countries not in the table указана цена.
Актуальная цена не используется для некоторых адресов: адрес назначения должен соответствовать зоне Ninja Van: Индонезия, провинция, город или регентство и, для городов с несколькими зонами, район (Kecamatan) в строке адреса. Иначе используется цена из таблицы. Включите Debug log, чтобы увидеть причину, и проверьте строки статуса в разделе Актуальные тарифы (API) — Индонезия.
Актуальные цены вообще не запрашиваются: строки статуса показывают причину: адрес магазина не в Индонезии или зону отправления не удалось определить (введите оба кода зоны), либо отсутствует IDR conversion rate.
Достигнут лимит запросов (HTTP 429): запросы в реальном времени приостанавливаются на час, а до этого используется таблица цен.
В какой валюте цены: таблица в валюте вашего магазина. Актуальные цены в рупиях (IDR), пересчитываются по IDR conversion rate, если валюта вашего магазина не IDR.
Разработчикам: сайт с собственным полем района (Kecamatan) при оформлении заказа может передавать коды зон через фильтр vfd_njvn_tariff_zone.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в вашем аккаунте на vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите плагин на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются. Настройки, способы для зон, последний статус API тарифов и кэшированные актуальные цены удаляются, только если была включена опция Remove data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют свои строки доставки.
Ninja Van — товарный знак его правообладателя. Этот плагин не связан с Ninja Van и не одобрен компанией Ninja Van.
