返回

VibeFox Ninja Van for WooCommerce — 帮助

系统要求

WordPress:5.8 或更高版本。

WooCommerce:5.0 或更高版本,且已安装并启用。未安装 WooCommerce 时,本插件无法激活。

PHP:8.0 或更高版本。

Ninja Van 运费表:来自您的 Ninja Van 发件人账户或 Ninja Van 销售团队的运费,录入到运费表中。无需 API 密钥。印度尼西亚境内可选的实时运费使用 Ninja Van Tariff API,该接口公开,无需身份验证。

VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。

安装

1. 在 WordPress 中进入 Plugins > Add New > Upload Plugin,选择插件的 ZIP 文件,然后点击 Install Now。您也可以通过 FTP 将 vfd_ninja_van 文件夹上传到 /wp-content/plugins/。

2. 点击 Activate。

3. 打开设置页面:WooCommerce > Settings > Shipping > VibeFox Ninja Van,或在插件页面点击插件名称下方的 Settings。

4. 在页面顶部的许可证区块中输入您的 VibeFox 许可证密钥,然后点击 Activate。

5. 在运费表中输入您的 Ninja Van 运费。若要用于印度尼西亚,可以选择开启 Live rates(参见配置)。

6. 在 WooCommerce > Settings > Shipping > Shipping zones 中,将 VibeFox Ninja Van 添加到某个配送区域(例如「新加坡」),或开启 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)时使用基础运费。基础运费为 0 表示向该国免运费。"9.99" 和 "9,99" 均可接受。保存时会删除没有价格的行。

Price for countries not in the table:当表格中没有目的国家的行(也没有 * 行),或该行没有此重量的价格时使用。留空则在这种情况下隐藏该方式。

Price applies:运费的计算方式。这也适用于实时运费。

Per order (one parcel, tier by total cart weight):整个购物车使用一个运费,按购物车总重量选择重量列。这是默认设置。
Per item (every item is a separate parcel, tier by its own weight):每件商品按其自身重量计费,然后将运费相加。使用实时运费时,Ninja Van 会将每件商品作为单独包裹计费。

实时运费(API)— 印度尼西亚

Ninja Van Tariff API 针对印度尼西亚境内发送的包裹,返回标准配送费(不含附加费和折扣)。Ninja Van 仅在印度尼西亚提供此服务。开启 Live rates 后,本节下方的状态行会显示发货地区域、缺失的汇率换算以及 Tariff 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:Tariff 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 则不加收。如果运费表中的价格已包含税费(GST、SST、VAT),请选择 None。

不使用配送区域时的可用性

Ignore shipping zones:即使该方式未添加到任何配送区域,也为下方列出的国家提供 Ninja Van。

Countries:该模式下的目的国家。留空则使用您所有配送国家。此字段仅在开启 Ignore shipping zones 时使用。

高级

Debug log:将运费计算记录到 WooCommerce > Status > Logs(来源为 vfd_ninja_van)。不会记录顾客地址。即使此选项关闭,失败的 Tariff API 请求仍会被记录。完成后请将其关闭。

Remove data on uninstall:开启后,删除插件将移除所有 Ninja Van 设置和区域方式。停用插件从不会删除任何内容。

结账时的工作方式

顾客输入配送地址后,WooCommerce 会向插件请求运费。插件首先检查条件:配送国家、购物车重量、最低订单金额以及排除的配送类别。如果适用免运费,顾客会免费看到该方式,并且不会向 Ninja Van 发送任何请求。

运费取自国家对应的行(或 * 行):重量列;若没有,则为基础运费;若仍没有,则为 Price for countries not in the table。商品重量会从商店的重量单位换算为公斤。如果没有价格,则隐藏该方式。

开启 Live rates 后,印度尼西亚境内的配送会先由 Ninja Van 计价。插件会将发货地址和配送地址转换为 Ninja Van 区域代码:省、市或县(regency),以及对于有多个区域的城市,地址行中写明的区(Kecamatan)。插件会发送代码、重量和服务等级,并将 IDR 运费换算为您的商店货币。使用 Per item 时,每种不同的商品重量发送一次请求,每个购物车最多 5 次。

Tariff API 每分钟允许 20 次请求,因此响应结果缓存 6 小时,失败结果缓存 5 分钟,「该路线无价格」缓存 1 小时。插件每分钟发送的请求绝不超过 18 次;收到 HTTP 429 响应后,会暂停一小时。API 超时时间为 12 秒。如果 Ninja Van 没有响应、返回错误、该路线没有价格或地址无法匹配,则使用表格运费。错误信息会记录到日志中,绝不会显示给顾客。

该方式适用于经典结账以及购物车和结账区块。它兼容 WooCommerce 高性能订单存储(HPOS)。

本插件仅计算运费。它不会在 Ninja Van 创建订单、打印空运单(AWB)、预约取件、追踪包裹或处理货到付款(COD)。请使用 Ninja Van Dashboard 完成这些操作。没有取件点(Ninja Points)选择器:该方式为送货上门。印度尼西亚以外的地区无法使用实时运费。

许可证密钥

本插件需要一个来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块位于 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),这样您可以在购买密钥之前设置和测试插件。插件页面和 WooCommerce 页面会显示提醒。现有订单不受影响。

许可证过期后,插件仍可继续运行,但更新和支持需要续费。状态会在后台自动重新检查。

故障排除

结账时不显示 Ninja Van:请检查许可证是否有效、Enable/Disable 是否开启,以及该方式是否已添加到顾客所在国家的配送区域(或已开启 Ignore shipping zones 且该国家被允许)。检查重量限制、Minimum order amount 和 Excluded shipping classes,并确认该国家、* 行或 Price for countries not in the table 中有价格。

某些地址未使用实时运费:目的地必须匹配到 Ninja Van 区域:印度尼西亚、省、市或县(regency),以及对于有多个区域的城市,地址行中的区(Kecamatan)。否则将使用运费表。开启 Debug log 可查看原因,并检查 实时运费(API)— 印度尼西亚 下的状态行。

完全未请求实时运费:状态行会显示原因:店铺地址不在印度尼西亚,或无法检测发货地区域(请输入两个区域代码),或缺少 IDR conversion rate。

已达到请求频率上限(HTTP 429):实时请求将暂停一小时,在此期间使用运费表。

运费使用什么货币:运费表使用您的商店货币。实时运费以卢比(IDR)计价,除非您的商店货币为 IDR,否则会使用 IDR conversion rate 换算。

开发人员:如果站点在结账时有自己的区(Kecamatan)字段,可以通过过滤器 vfd_njvn_tariff_zone 提供区域代码。

许可证区块显示错误:请按照区块中的提示操作。例如,如果该密钥已在另一个域名上使用,请在您的 vibefox.net 账户中释放一个名额,然后点击 Check now。如果站点地址已更改,请点击 Check now 为新域名激活密钥。如果无法连接许可证服务器,插件将沿用最后一次已知的状态继续运行。

卸载

停用插件会保留所有数据。要移除插件,请先停用,然后在 Plugins 页面将其删除。本插件的许可证密钥和许可证状态始终会被删除。只有开启了 Remove data on uninstall,设置、区域方式、最近一次 Tariff API 状态和缓存的实时运费才会被删除;否则它们会保留,以便日后重新安装。现有订单会保留其配送明细。

Ninja Van 是其各自所有者的商标。本插件与 Ninja Van 没有关联,也未获得 Ninja Van 的认可。