区分商品实重和承运商计费重
提供长宽高、重量单位、体积系数和取整规则,让生成的工具比较实重与体积重。体积大、重量轻的商品尤其适合先做这一步,运营可以理解为什么秤上的重量较低,计费依据却可能更高。
根据店铺真实规则搭建运费计算器。提供包裹尺寸、重量、目的地、收费标准和包邮条件后,这项 Skill 会指导助手生成计算逻辑并测试,让运营先核对体积重、计费重和结账收费,再由开发人员按需要接入承运商实时报价,减少规则理解不一致造成的错收运费。
Shipping Rate Calculator 提供开发指导,不是安装后立即出现的完整计算器应用。它包含运费配置思路、TypeScript 的 EasyPost 示例和评估任务,帮助助手按店铺使用的单位、地区和价格规则生成代码。
适合把经营政策转成可执行计算和边界检查。本页案例计算了包裹重量,并按给定店铺费率测试美国与加拿大订单。店铺向买家收取的运费不等于承运商报价;需要实时服务价格时,还要接入物流账号与接口。
Shipping Rate Calculator 适合正在开发自定义结账页、运费模块或物流接口的店铺,需要开发人员配合使用。它帮助团队把包装尺寸、配送地区和包邮规则写成可测试的代码;如果平台自带的固定运费和包邮设置已经够用,直接配置后台通常更省事。
提供长宽高、重量单位、体积系数和取整规则,让生成的工具比较实重与体积重。体积大、重量轻的商品尤其适合先做这一步,运营可以理解为什么秤上的重量较低,计费依据却可能更高。
检查包邮门槛以下、刚好达到门槛,以及折扣和地区例外的情况。案例将这些条件与包裹重量计算分开验证,让运营能够单独核对经营规则,避免把某地区的包邮条件错误应用到所有订单。
需要当前报价时,再按接入指南连接承运商服务,而不是把商家自定费率当成实时物流价格。实时报价需要凭据和开发;购买面单、同步订单是另外的工作,不会因为已经算出一个运费就自动完成。
开始运行前,先准备下方业务资料及软件环境。
运行前准备包裹尺寸、单位、实重,以及适用承运商的体积系数和取整规则。
运行前准备具备开发能力的 Agent 及独立于正式结账页的测试项目。
运行前准备报价集成还需服务商账号、测试凭据及当前平台权限。
安装完整 Skill 包,再使用上面准备好的店铺资料开始任务。
将指令复制给 Codex 或 Claude Code,让助手从原始仓库下载固定提交,安装完整文件并检查所需依赖。
请在我当前使用的应用中安装 shipping-rate-calculator,直接执行文件安装,不要只解释步骤。
原始仓库:https://github.com/finsilabs/awesome-ecommerce-skills.git
固定提交:fa38550a7fa27626246146dd856a5c4775fb3254
Skill 路径:skills/fulfillment-shipping/shipping-rate-calculator
1. 将这个版本下载到新目录。执行随包脚本前,先阅读 SKILL.md 和安装参考文件,不替换成其他作者的包。
2. Codex 安装到 ~/.agents/skills/shipping-rate-calculator,Claude Code 安装到 ~/.claude/skills/shipping-rate-calculator,只安装到我正在使用的应用。安装完整 Skill 文件夹,保留 scripts、references、assets 和随包声明;将仓库根目录许可证一并保留。先检查所有目标目录;已有安装时,说明差异后再决定是否替换。
3. 比较来源和安装目录的文件清单、文件哈希,检查文档要求的运行时、依赖及外部连接。只配置此 Skill 所需的本地依赖,适用时使用隔离环境;账号登录由我在本地完成,不把凭据贴进聊天。
4. 返回来源提交、实际安装路径、文件检查结果及尚未完成的运行环境配置,说明如何调用 shipping-rate-calculator。文件复制与应用发现分别检查,需要时新建会话。不要执行生产任务,也不要把安装完成说成已确认业务效果。以下是主要功能的用例提示词,可以直接复制使用。
实现计费重量计算,输出经过测试、按适用规则选取较大重量的工具。 尺寸、单位、实重、体积系数及取整规则。
按 shipping-rate-calculator 和 [INPUT] 实现本地计费重量工具。显式指定承运商系数,统一单位,拒绝非正尺寸,并测试实重及体积重分别占优的情况。不要把 139 当作通用值。[INPUT]准备多承运商报价集成,输出包含认证、超时及失败场景的集成方案。 测试地址、包裹资料及所选服务商的当前 API 文档。
将 EasyPost 示例与 [INPUT] 比对,确认 SDK 调整、地址字段、单位及错误处理。给出仅限测试环境的实现方案,不创建正式运单或购买面单。[INPUT]检查结账运费规则,输出门槛、空报价及回退行为的测试用例。 报价测试数据、包邮门槛及支持的目的地。
根据 [INPUT] 测试包邮门槛附近、不支持的目的地及 API 超时。区分预计时效与保证时效,并指出尚未实现的回退逻辑。[INPUT]示例店铺对未满 $75 的美国订单收取 $5.95,加拿大订单收取 $18。测试包裹包括 20 × 16 × 12 英寸、实重 5 磅,以及 50 × 40 × 30 厘米、实重 2,000 克。
案例输入资料:business-inputs.zip
Use the shipping-rate-calculator Skill.
Our packing team needs to understand why large lightweight parcels cost more and our checkout team needs clear shipping rules. Calculate dimensional and billable weight for 20×16×12 inches at 5 lb, 6×6×6 inches at 160 oz, and 50×40×30 cm at 2000 g. Use our planning factors of 139 in³/lb and 5000 cm³/kg and round billable pounds up. Apply the supplied US and Canada store tariffs to the three basket examples, and produce a calculator plus a table the team can check. These are our planning assumptions, not live carrier quotes.
The attached business materials are:
- inputs/baskets.csv
- inputs/merchant.json
- inputs/parcels.csv
Deliver a complete result.md report that the operations team can read, plus any finished files needed for this task. Keep supporting calculations and evidence with the deliverables. Write the report in English; use the requested target language for customer-facing copy. The business datasets are fictional examples unless the brief explicitly names a live public website.下方直接展示本次 Prompt 产生的主要文件,保留实际输出语言。
The large lightweight box has a planning billable weight of 28 lb even though it weighs 5 lb. Package volume drives this example. These calculations apply the supplied planning divisors; they are not carrier quotes.
| Parcel | Actual pounds | Dimensional pounds | Rounded billable pounds |
|---|---|---|---|
| 20 × 16 × 12 in; 5 lb | 5.0000 | 27.6259 | 28 |
| 6 × 6 × 6 in; 160 oz | 10.0000 | 1.5540 | 10 |
| 50 × 40 × 30 cm; 2000 g | 4.4092 | 26.4555 | 27 |
Imperial dimensional pounds = length × width × height ÷ 139. Metric dimensional kilograms = length × width × height ÷ 5000, then convert kilograms to pounds. Billable pounds = ceiling of the larger actual or dimensional weight. The small box weighs 160 oz ÷ 16 = 10 lb, so actual weight controls that example.
| Destination | Discounted merchandise | Shipping | Merchandise + shipping | Service |
|---|---|---|---|---|
| contiguous US | $74.99 | $5.95 | $80.94 | USPS Ground Advantage |
| contiguous US | $75.00 | $0.00 | $75.00 | USPS Ground Advantage |
| Canada | $100.00 | $18.00 | $118.00 | UPS Standard |
The free-shipping threshold applies only to contiguous-US discounted merchandise totals of at least $75. Canada remains $18 even when the merchandise subtotal is $100. Sales tax, if applicable, is a separate checkout calculation. Do not apply the US threshold to Canada.
Keep shipping-calculator.mjs and shipping-config.json together. Import billableWeight(parcel) for packing estimates and shippingCharge(destination, discountedSubtotal) for checkout rules. Amounts are processed as integer cents to avoid threshold rounding mistakes. Unsupported destinations return unavailable rather than a misleading zero price. Invalid or nonpositive measurements are rejected.
The downloadable package includes the calculator, merchant configuration, machine-readable calculations and seven executable checks. Run node --test shipping-calculator.test.mjs to verify all three parcel examples, both US boundary values, Canada eligibility, unsupported destinations and invalid inputs. All seven checks passed during this execution.
Measure the packed outer dimensions before comparing cartons. For the 20 × 16 × 12 inch box, reducing empty space could change the weight basis, but the team should request an actual carrier quote before choosing a service. The store tariff is a customer-facing commercial rule and does not represent the carrier charge or prove fulfillment profitability.
案例中的商家经营资料为模拟数据;涉及网站检查时,报告中的页面观察来自所列公开网址。
把生成文件或估算结果用于店铺前,先核对下方使用限制。
包内是指导和评估案例,不是开箱即用的计算器应用。
承运商体积系数、取整及费率可能不同,应提供适用合同规则。
真实承运商接口和面单不在本次本地测试范围内。
下面解释体积重、包邮门槛、承运商报价和结账异常背后的计算选择,方便运营与开发对齐规则。
轻但占空间的包裹,计费重量可能高于秤上的实重。体积重需要用包装后的长、宽、高和承运商系数计算,再按具体服务的比较及取整规则处理。FedEx 美国说明展示了这种区别,但不能把同一个系数用于所有承运商和单位体系。
本次模拟中,20×16×12 英寸、实重 5 磅的包裹采用 139 系数,最终按 28 磅计费。让 Skill 实现规则时,应提供包装尺寸、单位和目标服务;算出重量后,还需要运价表或承运商报价才能得出价格。
不能从当前本地示例直接取得实时运价。Skill 已帮助生成可运行的计算代码,但测试中的承运商响应来自模拟适配器。获取真实报价需要开发人员接入已鉴权的承运商或物流平台 API,传入实际发货地、收货地和包裹信息,并处理返回的币种与服务类型。
例如 EasyPost 区分可购买价、公布价和零售价,结账应展示哪一项需要明确,不能直接取返回的第一个数字。还要确认承运商账户及测试、生产模式。查询运价与购买面单是两个动作,当前案例没有购买面单或验证真实账户。
按结账系统和已发布政策实际采用的口径实现。本案例明确使用折后商品金额:美国购物车 $74.99 收 $5.95,达到 $75 包邮。税费、运费是否计入,以及哪些地区适用,都要单独定义,不能含糊地塞进一个“订单总额”变量。
Shopify 的免运费折扣文档说明,可叠加折扣后的商品价格用于最低消费判断。自建计算器应测试刚好达到门槛、优惠券使金额跌破门槛、目的地不适用三种情况;统一币种和金额单位,并与实际结账结果对照后再启用。
结账可能按店铺规则向顾客收固定运费,承运商则按实际服务、测量后的包裹及附加费用计账,这两个金额用途不同。判断计算是否出错前,应确保对比的是同一承运商、服务、币种、账户和包裹资料。
保留报价响应与包装尺寸,检查其中列出的附加费、保险或跨境费用字段。Skill 可以帮助建立这套比较逻辑,但当前本地测试覆盖的是规则与模拟异常,没有核对真实物流账单。如果差额来自揽收后重新测量尺寸,应修正包装资料,而不是只改公式凑平金额。
可以帮助开发人员实现选择规则,但“最便宜”之前要先筛选可用服务。先排除不支持目的地、包裹规格或顾客所选配送要求的服务,再比较剩余报价。时效未知时保留未知,不能把空值当作很快送达。
可以要求助手同时返回选中服务、备选方案和排除原因,并明确店铺优先考虑成本、速度,还是顾客额外付费的升级服务。当前案例验证了模拟数据下的计算行为,没有证明真实多承运商接入能持续选出最终账单最低的方案。
应区分目的地不支持、包裹资料不合法、接口没有返回运价,以及临时超时等状态。不能把所有失败都变成运费 0,否则会给顾客一个并未批准的包邮承诺。当前案例专门测试了不支持地区、缺失运价和超时。
上线前先确定备用处理方式,例如对已覆盖地区使用确认过的固定运费、给出清楚提示后重试,或请顾客联系店铺报价。保留能复现问题且不含敏感资料的记录,再检查结账提示和恢复路径。备用价格必须来自经营者已经确认的规则。
暂无评论。