VibeFox Bob Go for PrestaShop — 帮助
系统要求
PrestaShop:8.0 至 9.x。
PHP:8.0 或更高版本。模块拒绝在较旧的 PHP 版本上安装。
Bob Go 账户(仅实时运费需要):Bob Go 不使用 API 密钥。您需要一个 Bob Go 账户(bobgo.co.za),在您的 Bob Go 账户中(Sales channels)将店铺安装为 WooCommerce 销售渠道,并为该渠道启用「Rates at checkout」。服务、价格和规则在 Bob Go 上设置。如果您只使用固定运费,则不需要 Bob Go 账户。
VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。
安装
1. 进入后台,前往 Modules > Module Manager,点击 Upload a module。选择模块的 ZIP 文件。
2. 上传完成后,点击 Configure;或者稍后在模块列表中找到 VibeFox Bob Go,然后点击 Configure。
3. 在 Configure 页面顶部的许可证区块中,将您的 VibeFox 许可证密钥输入 License key 字段,然后点击 Activate(参见许可证密钥)。
4. 在您的 Bob Go 账户中,将店铺安装为销售渠道。为该渠道启用「Rates at checkout」,并设置服务和价格。
5. 在 Configure 页面检查店铺域名、发货地址(从哪里发货),如果店铺货币不是 ZAR,则检查 ZAR 汇率(参见配置)。如果店铺中的南非地址没有省份,请点击 Add South African provinces。点击 Save。
安装时,模块会创建 Bob Go 承运商,配送时间文本为 Courier delivery (South Africa)。承运商默认处于启用状态,已分配给所有区域和所有客户组,并默认使用 Bob Go 实时运费。您可以在 Shipping > Carriers 中更改区域、客户组、配送时间、图标和尺寸限制。请勿在那里设置价格:价格始终来自模块。
配置
所有设置都位于模块页面:Modules > Module Manager > VibeFox Bob Go > Configure。它们适用于承运商的所有区域。每个部分都有自己的 Save 按钮,点击后会保存整个页面。每次保存也会清除缓存的 Bob Go 运费。数字可使用小数点或逗号作为小数分隔符。如果某个值有误,页面会显示错误且不会保存任何内容:不是数字的值("…" must be a number.)、负数金额或重量("…" must be a number of 0 or more.)、小于等于 0 的 ZAR conversion rate、大于 Maximum weight 的 Minimum weight,或超过 64 个字符的 Method title。
在表单上方,如果实时运费无法工作,页面会显示警告:Live rates are not requested: your store currency is … — set the "ZAR conversion rate".;南非地址没有省份时(见下文 南非省份);或店铺的重量或尺寸单位无法识别,并被当作 kg 或 cm 处理时。请在 International > Localization(Local units)中设置单位。
常规
Enable Bob Go:启用或禁用承运商。这与 Shipping > Carriers 中的承运商状态是同一个开关。
Method title:显示给客户的承运商名称。Bob Go 服务(例如 "The Courier Guy - Economy")会在结账时以 Bob Go 中的名称显示在其下。默认:Bob Go。必填,最多 64 个字符。
Shipping cost:价格的计算方式。
实时运费缺失的原因会写入日志。该原因从不显示给客户。
Bob Go 账户
本部分说明您在 Bob Go 上需要做什么,并显示 Bob Go 对您店铺域名的最近一次响应:connected、the WooCommerce channel is not installed on Bob Go (HTTP 404)、"Rates at checkout" is not enabled for this channel (HTTP 401),或 request failed(附错误代码),或 no connection。
Store domain:Bob Go 通过域名识别您的店铺。留空则使用您的店铺域名(会以占位符形式显示)。只有当您的 Bob Go 渠道安装在其他地址时才需要输入其他域名,例如店铺位于子文件夹中的 example.co.za/shop。协议部分和末尾的斜杠会被删除。
ZAR conversion rate:Bob Go 以南非兰特(ZAR)报价。如果店铺默认货币不是 ZAR,请输入 1 ZAR 等于多少您的货币,例如 0.05。运费会按此汇率换算,商品价格会以 ZAR 发送给 Bob Go。如果不想在您的货币下使用 Bob Go 实时运费,请留空(固定运费仍可使用)。汇率必须大于 0。如果您的店铺货币是 ZAR,请留空。
Delivery dates:在结账时,在每项服务旁显示 Bob Go 估算的送达日期范围。该估算总会与订单一同保存,并在订单页面显示。
发货地址(发货地)
每次运费请求都会将发货地址发送给 Bob Go。如果 Shop Parameters > Contact > Stores 中的店铺地址位于同一国家,则会用它填充空白字段。
Origin country:您发货所在的国家。默认:南非。Bob Go 仅在南非境内配送。
Origin province:南非的一个省份,或 Store province (if in South Africa)。
Origin city / suburb:您发货所在的城市或区,例如约翰内斯堡。
Origin postal code:您发货所在的邮政编码,例如 2001。
Origin street address:您发货所在的街道地址。
南非省份:PrestaShop 没有南非的省份,因此该国客户地址没有省份,而 Bob Go 需要省份。点击 Add South African provinces,即可将 9 个省份(代码 EC、FS、GP、KZN、LP、MP、NC、NW、WC)添加为南非的州,并在南非地址中显示州字段。按代码或名称已存在的省份不会被重复添加。在您点击按钮之前,不会有任何变化。省份设置完成后,该字段会显示 South African addresses have a province 及其数量。
固定运费(当 Shipping cost 为 Fixed prices (below) 时使用,并在 Bob Go 未返回运费时作为备用)
Price per country:每个国家一行:2 位国家代码、等号以及店铺默认货币的价格(不含税),例如 ZA=99.99。其他所有国家使用 *,例如下一行写 *=199.99。格式不符的行在保存时会被删除,页面会在警告中列出这些行。
Flat price:上面没有对应行的国家所使用的价格。留空则对这些国家隐藏承运商。
Fixed price applies:Per order 按一次收取价格。Per item (price × quantity) 则按购物车中的商品数量相乘。Bob Go 实时运费始终针对整个包裹。
条件
Minimum weight:购物车重量低于此值时隐藏承运商,单位为 kg。0 表示无限制(默认)。
Maximum weight:购物车重量高于此值时隐藏承运商,单位为 kg。0 表示无限制(默认)。两个限制都设置时,最小值不能高于最大值。
Minimum order amount:仅当购物车小计(需要配送的商品,折扣后,税前)不低于此金额时才显示承运商。留空则始终显示。
Free shipping:达到下方的订单金额时启用免运费。
Free shipping from:免运费的购物车小计(折扣后,税前)。仅在启用 Free shipping 时使用。此时不会向 Bob Go 请求运费。
Tax:承运商的税务规则,或 No tax(默认)。Bob Go 运费通常已包含增值税。在这种情况下请保持 No tax,以免重复收税。
无配送区域时的可用性
Ignore shipping zones:启用后,承运商会关联到所有区域(包括之后创建的区域),并针对下方的国家提供。禁用后,仅在 Shipping > Carriers 中为承运商设置的区域内提供;承运商之前拥有的区域会被恢复。
Countries:此模式下的目的国家。留空则允许您配送的所有国家。仅在启用 Ignore shipping zones 时使用。
高级
Debug log:将运费计算和 Bob Go 请求记录到模块文件夹中的 logs/vfd_bobg_debug.log.php。该文件无法通过网页打开。客户地址不会被记录。即使关闭此选项,Bob Go 错误也会被记录。使用完毕后请关闭日志。
Log:显示日志的大小和最新条目。点击 Clear log 可清空日志。
Remove data on uninstall:启用后,卸载模块会删除 Bob Go 设置、承运商、缓存的运费和日志。随订单保存的 Bob Go 服务会被保留。禁用时,所有内容都会保留,以便重新安装。
结账时的工作方式
在配送步骤,PrestaShop 会向模块请求 Bob Go 价格。只计算实物商品:虚拟商品不增加重量,也不计入订单金额。模块首先检查目的国家(使用 Ignore shipping zones)、购物车重量以及 Minimum order amount。如果适用免运费,承运商将显示为免费,且不会向 Bob Go 发送请求。
在实时模式下,模块会向 Bob Go 发送您的店铺域名、发货地址和收货地址(包括省份)以及购物车商品,商品价格以 ZAR 计算。只有在客户输入城市或邮政编码之后,才会请求实时运费。当店铺货币不是 ZAR 时,ZAR 运费会按 ZAR conversion rate 换算。价格按您的默认货币计算,然后以客户的购物车货币显示。
在 Bob Go 承运商下,客户会看到 Choose a delivery service: 以及每项 Bob Go 服务的一个选项,其中包括服务名称、价格,以及(若启用了 Delivery dates)预计送达日期。默认选中第一项服务。客户选择其他服务时,选择会立即保存,承运商价格和购物车总额也会随之更新。承运商的费用即为所选服务的费用。如果某项服务不再支持该地址,客户会看到 This service is not available for your address any more. Please choose another one. 如果保存失败,提示信息为 The service could not be saved. Please try again. 服务列表适用于 Classic 和 Hummingbird 主题。
每个完整请求的运费缓存 1 小时,因此同一购物车不会重复发起请求。失败的请求缓存 5 分钟,超时时间为 12 秒,这样 Bob Go 故障不会拖慢每次结账更新。失败的请求绝不会导致结账中断:承运商会被隐藏,或在备用模式下使用固定价格。原因会写入日志。
如果您在承运商已有订单之后,在 Shipping > Carriers 中编辑了承运商,PrestaShop 会将其保存为新的承运商版本。模块会自动跟随新版本。
模块仅显示运费。它不会创建发货单、运单或面单,不跟踪包裹,不会将订单同步到 Bob Go,也不发送通知。发货处理请使用 Bob Go 控制台。模块不提供自提点或智能柜选择。Bob Go 仅在南非境内配送。
订单
下单时,所选的 Bob Go 服务、其代码和配送时间估算会与订单一同保存。之后对购物车或 Bob Go 价格的更改不会改变它们。
在后台,订单页面会显示 Bob Go 区块,包括 Bob Go service(名称和代码)以及 Estimated delivery。客户可在其账户的订单详情页面看到 Bob Go service 和 Estimated delivery。采用固定价格或免运费的订单没有 Bob Go 服务。
许可证密钥
本模块使用来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块 License — VibeFox Bob Go 位于 Modules > Module Manager > VibeFox Bob Go > Configure 页面的最上方,位于设置之上。将密钥输入 License key 并点击 Activate。之后,该区块会以隐藏方式显示密钥、状态(例如许可证有效期截止日期和您的域名),并提供以下按钮:Check now(重新检查状态)、Change key(输入其他密钥)和 Remove key(从本店铺移除密钥)。其下方是 Product: presta-shipping-bob-go 一行,以及打开您 vibefox.net 账户的链接 Manage licenses and domains in your account。只有拥有本模块 Configure 权限的员工才能更改密钥。该区块的文字会跟随后台语言显示(包含英文和俄文)。
如果密钥未被接受,该区块会说明原因,例如 Key not found、This key belongs to another product、Domain limit reached,或带日期的 License expired on。在店铺地址更改后,或在您的账户中释放了一个域名名额后,请点击 Check now。如果无法连接许可证服务器,模块将继续使用最后已知的状态运行。
一个密钥只能用于一个域名:主店铺的域名,多店铺设置中也是如此。从店铺中移除密钥不会释放其域名名额。请在您的 vibefox.net 账户中释放该名额。
没有有效的密钥时,Bob Go 承运商不会在结账时显示给客户,也不会计算任何运费。PrestaShop 前台无法得知您已登录后台,因此承运商对您也是隐藏的:您可以在购买密钥之前设置模块,但无法在结账时测试。Modules > Module Manager 中的 Alerts 选项卡会显示提醒。现有订单不受影响。
许可证过期后,模块仍会继续运行,但更新和支持需要续费。在您使用后台时,系统会自动再次检查状态:输入密钥后的前 14 天每天一次,之后每周一次。无需设置 cron 任务。卸载或重置模块时,始终会删除许可证密钥和许可证状态。
故障排除
结账时没有显示 Bob Go:检查许可证是否有效,以及 Enable Bob Go 是否已启用。在 Shipping > Carriers 中,检查承运商是否覆盖客户所在国家的区域和客户的客户组,或者启用 Ignore shipping zones 并检查 Countries。检查重量限制和 Minimum order amount。在固定价格模式下,检查该国家、* 或 Flat price 是否设置了价格。商品也可以在商品页面中被限制为仅使用某些承运商。
没有显示 Bob Go 实时运费:打开模块页面。Bob Go 账户部分会显示 Bob Go 的最近一次响应。"The WooCommerce channel is not installed on Bob Go"(HTTP 404)表示店铺域名不是 Bob Go 上的销售渠道:请检查 Store domain。"Rates at checkout is not enabled"(HTTP 401)表示该渠道未启用此功能。还请确认客户已输入城市或邮政编码,并且对于非 ZAR 店铺,已设置 ZAR conversion rate。开启 Debug log,重新加载结账页面,然后查看 Log 字段。使用 Bob Go live rates, fixed prices if Bob Go returns no rates 时,在您修复问题期间,客户仍会获得固定价格。
我的店铺不使用兰特:Bob Go 以 ZAR 报价。请输入 1 ZAR 等于多少您店铺货币。没有此设置时,模块不会向 Bob Go 请求运费。固定运费仍可使用。
页面警告南非地址没有省份:在 发货地址(发货地) 部分点击 Add South African provinces。现有客户地址只有在被编辑时才会获得省份。
运费被重复收税:Bob Go 运费通常包含增值税。将 Tax 设置为 No tax。
更改后运费看起来过时:在模块页面点击 Save。这会清除缓存的 Bob Go 运费。您在 Bob Go 账户中的更改会在 1 小时缓存过期后或保存设置时生效。
页面提示找不到 Bob Go 承运商:承运商已在 Shipping > Carriers 中删除。请在 Modules > Module Manager 中重置模块以重新创建它。
卸载
前往 Modules > Module Manager,打开 VibeFox Bob Go 旁边的菜单,然后选择 Uninstall。许可证密钥、许可证状态和缓存的运费始终会被删除。如果 Remove data on uninstall 已启用,则承运商会被删除(订单保留历史记录),并删除设置、日志以及未结购物车中的服务选择。如果已禁用,则只会停用承运商,所有设置都会保留。重新安装模块或点击 Reset,会使已保存的承运商恢复其之前的状态:已启用的承运商会重新启用,已停用的承运商保持停用。随订单保存的 Bob Go 服务始终会被保留。
Bob Go 是其各自所有者的商标。本模块与 Bob Go 无关联,也未获得 Bob Go 的认可。
