DOCS

计算落地成本 - GraphQL

计算落地成本

使用 GraphQL 计算税费和费用。

GraphQL

Zonos 计算国际货物的总落地成本,包括关税、税费和任何由海关、报关行或承运人收取的额外费用。在大多数情况下,我们通过自己支付最终账单并向你收取我们计算的确切金额来保证这些计算。在某些情况下,你可以使用我们的落地成本而无需保证,这意味着你要承担我们的计算与实际费用之间任何差异的责任。

准备请求 

计算落地成本 API 需要多个输入,我们已将其组织成工作流。完成后,你将能够发出单一请求以根据送货目的地、购物车中的物品和运输详情返回落地成本。

每个工作流都有自己的必需输入。GraphQL 允许你传递超过必需的数据,但只有某些字段是返回落地成本所必需的。这些字段在我们的 API 参考 中清楚地标记,可以查看所有可能的字段。

请注意,如果你想让你的计算受到保证,某些字段是有条件地必需的。

下方,我们已列出计算保证型落地成本所需的所有字段。在发出请求之前,请确保包含此信息。

partyCreateWorkflowInput

partyCreateWorkflowInput 识别相关各方及其位置。在我们的 GraphQL API 参考 中查看完整的模式。必需的字段是:

  • location
    • administrativeAreaCode:州或省的代码,两个字母。仅对 CA 和 BR 需要。
    • countryCode:国家的两个字母 ISO 代码
    • line1:地址的第一行。
    • postalCode:地址的邮政编码或邮编。
  • person
    • email:人员的电子邮件地址。
    • firstName:人员的名。
    • lastName:人员的姓。
    • phone:人员的电话号码。
  • type
    • DESTINATION:送货目的地的 locationperson 信息。
    • ORIGIN:送货原点的 location 信息。与送货原点关联的 person 不是必需的。
itemCreateWorkflowInput

itemCreateWorkflowInput 列出购物车中的物品。有许多可选字段(在我们的 API 参考 中查看所有可能性),但下面的字段是必需的。

  • amount:单个产品的值乘以数量前。请注意,这与邮件定义中的邮件物品定义不同。如果物品的 quantity 是 1,这就是物品的总成本。如果物品的 quantity 大于 1,API 将把物品 amount 乘以物品的 quantity 来获取行项目的总计。不要将物品的所有单位的总价格放在 amount 中。
  • currencyCode:物品金额的货币代码。
  • quantity:物品的数量。API 将把物品 amount 乘以物品的 quantity 来获取行项目的总计。
  • countryOfOrigin:物品的制造地。
  • 以下之一(以及你的 物品密钥偏好 设置的那个。你的物品密钥连接存储在 Catalog 中的信息与购物车中的物品,并在标签创建期间使用。)
    • productId:物品的产品 ID。
    • sku:物品的 SKU。

measurementsWEIGHTLENGTHWIDTHHEIGHT)仅在你想在获取运输评级时 装箱 物品时需要。

cartonsCreateWorkflowInput

cartonsCreateWorkflowInput 仅需要输入本身。在我们的 GraphQL API 参考 中查看完整的模式以查看可以传递的所有值。如果 Zonos 正在计算运费,传递纸箱的尺寸和重量很重要。

shipmentRatingCreateWorkflowInput

当你已经知道运输服务和成本时使用此工作流;如果你想让 Zonos 计算你已启用的服务的这些成本,请交换此工作流并使用 shipmentRatingCalculateWorkflow 代替。

shipmentRatingCreateWorkflowInput 传达运费。在我们的 GraphQL API 参考 中查看完整的模式。必需的字段是:

  • amount:运费。
  • currencyCode:运费的货币代码。
  • serviceLevelCode:指示在运输评级中使用的运输服务级别的代码。
landedCostWorkFlowInput

landedCostWorkFlowInput 规定了落地成本计算的偏好。在我们的 GraphQL API 参考 中查看完整的模式。必需的字段是:

  • calculationMethod:表示你计划如何运输的偏好:DDP(预付关税和税费)或 DAP(关税和税费在交付时支付,或者如果适用汇款计划,则通过税务 ID 汇款)。
    • 如果你使用我们的落地成本保证,此值应始终为 DDP_PREFERRED,这将在可能时提供 DDP 报价,如果不允许 DDP,则提供 DAP 报价。使用 DAP 代替可能会导致落地成本不再受到保证,因为这通常会导致关税和税费在交付时支付。
  • endUse:表示商品是否被销售给另一家企业(FOR_RESALE)或供最终用户消费者使用(NOT_FOR_RESALE)。
  • tariffRate:表示 Zonos 应使用的方法来计算此报价的关税率,以防可能适用的关税率范围。*使用我们的落地成本保证时,这应始终为 ZONOS_PREFERRED

**添加计算的运费:**如果你想让 Zonos 为你计算运费,请用 shipmentRatingCalculateWorkflow 替换 shipmentRatingCreateWorkflow。如果你想让 Zonos 将你的物品分类 到纸箱中然后查找运费,请添加 cartonizeWorkflow(用于 体积重)。

GraphQL 提供了灵活性让你自定义请求以符合你的偏好。有几个选项可以选择如何在请求中包含 HS 代码 和运费。

HS 代码 

HS 代码影响关税率,因此是必需的。你可以为每个物品传递 HS 代码或让 Classify 生成它们。

为每个物品传递 HS 代码

Zonos 强烈建议使用产品特定的 HS 代码,因为这会导致更准确的落地成本报价。如果你知道你的 HS 代码,在 itemCreateWorkflow 期间为每个 item 传递 hsCode

如果你传递了 HS 代码,Zonos 将在获取落地成本报价时动态验证它。如果你提供的 HS 代码无效(意味着它不存在),Zonos 将 重新分类 你的物品并使用新的、有效的 HS 代码而不是你提供的代码。

如果你需要帮助为你的产品生成 HS 代码,请了解 Zonos Classify 以及如何 请求分类

使用 Classify 生成 HS 代码

如果你不向 Zonos 传递 hsCode,我们将首先检查 Zonos Catalog 以查看你是否为你的物品存储了 HS 代码。如果没有,我们将调用 Classify 以根据以下 itemCreateWorkflow 产品详情字段生成分类以支持你的落地成本计算:descriptioncategorymaterial。如果你的产品详情字段不够详细以基于 Classify 的 置信度评分 生成分类,默认 HS 代码 分配给你的存储将被使用。

运费

运输服务级别及其成本影响关税、税费和费用,因此是必需的。Zonos 可以计算运费或你可以将此传递给我们。

计算运费

要让 Zonos 计算运费,请使用 shipmentRatingCalculateWorkflow。在计算的运费响应中返回的运输选项将与你在 Dashboard 中分配给运输配置文件的 serviceLevels 相关联。

**故障排除:**如果你期望响应中出现 serviceLevel 但它没有显示,请确保 serviceLevel 已启用并且由你选择的 method 支持。

如果你想让 Zonos 将你的物品分类 到纸箱中然后查找运费(用于 体积重),请添加 cartonizeWorkflow(无输入)。

传递运费

如果你知道货物的 serviceLevelamount,你可以在请求的 shipmentRatingCreateWorkflow 部分中传递这些值。我们将使用这些值来计算任何相关的承运人费用并在响应中返回这些。

通过 API 请求落地成本 

一旦你有了所需的输入数据,使用你选择的客户端库或工具将 GraphQL 变动发送到 API 端点。以下是一些如何构造变动的示例。

当你让 Zonos 计算运费作为落地成本请求的一部分时,使用此请求。然后我们将计算关税和税费(如果由目的地国家评估)。

1mutation CalculateLandedCost(
2$parties: [PartyCreateWorkflowInput!]!
3$items: [ItemCreateWorkflowInput!]!
4$landedCostConfig: LandedCostWorkFlowInput!
5) {
6 partyCreateWorkflow(input: $parties) {
7 type
8 id
9 organization
10 }
11 itemCreateWorkflow(input: $items) {
12 id
13 amount
14 productId
15 }
16 cartonizeWorkflow {
17 id
18 type
19 items {
20 item {
21 id
22 }
23 }
24 }
25 shipmentRatingCalculateWorkflow {
26 id
27 amount
28 }
29 landedCostCalculateWorkflow(input: $landedCostConfig) {
30 id
31 duties {
32 amount
33 currency
34 note
35 }
36 taxes {
37 amount
38 currency
39 note
40 }
41 fees {
42 amount
43 currency
44 note
45 }
46 }
47}

下一步:创建订单

在你计算落地成本并从 API 响应中收到 landedCostId 后,你应该创建订单以在 Zonos 系统中完成交易。使用 orderCreate 变动并传入你的报价中的 landedCostId。了解更多关于 创建订单


在 Dashboard 中请求落地成本 

你还可以直接在 Zonos Dashboard 中计算落地成本,而无需使用 API。这对于测试计算、培训你的团队或为客户询问获取快速报价很有帮助。

Dashboard 使用上述相同的 API 端点,因此结果将与你从直接 API 调用中获得的相匹配。这使其成为验证你的 API 集成或探索不同输入如何影响计算的好方法。

使用 Dashboard 计算器

使用 Dashboard 中的落地成本计算器,你可以获取具有计算的运费的报价、创建具有已知运费的报价,或批量处理多个报价。

当你知道你的货物的运输服务级别和成本时,使用此流程。

  1. 转到 DashboardOrdersQuotes
  2. 点击 New quote
  3. 可选 — 修改你的发货地址位置
  4. 从下拉菜单中选择 Destination country
  5. 输入运费金额
    • 服务级别是可选的;添加它允许我们计算适用的承运人费用
  6. 为货物添加物品详情
    • 当你输入描述时,我们自动分类产品并生成 HS 代码
    • 你可以在需要时覆盖生成的 HS 代码
    • 对于多个物品,点击 Save and add another。否则,点击 Save
  7. 可选 — 点击 More options 来改变:
    • 销售类型为 For resale
    • 交付模式为 Delivery duties unpaid
  8. 点击 Get quote
    • 要进行更改,点击 Edit form 并修改任何详情
    • 再次点击 Get quote 来更新

落地成本报价将出现在右侧,包括产品、运费和进口成本。展开报价以查看物品、运费、关税、税费和费用的详细分解。所有报价都保存在报价页面上以供将来参考。

**编辑现有报价:**点击右上角的 Quote again 来修改现有报价而不是从头开始。

Dashboard 的优势

  • 无需编码 — 通过用户友好的界面生成报价
  • 团队培训 — 帮助非技术团队成员理解落地成本组成部分
  • API 验证 — 验证你的 API 集成产生预期的结果
  • 客户支持 — 快速为客户询问生成报价
  • 批量处理 — 有效处理多个计算(即将推出)

Dashboard 报价包括通过 API 可用的相同详细分解,使其成为你自动化集成的绝佳补充。

预约演示

这个页面有帮助吗?