DOCS

计算landed cost - GraphQL

计算landed cost

使用GraphQL计算关税、税费和费用。

GraphQL

Zonos计算国际运输的总landed cost,包括关税、税费以及海关、代理或承运人收取的任何额外费用。在大多数情况下,我们通过自己支付最终账单并向您收取我们计算的确切金额来保证这些计算。在某些情况下,您可以在没有保证的情况下使用我们的landed cost,这意味着您对我们计算与实际费用之间的任何差异承担责任。

准备请求 

计算landed cost API需要多个输入,我们已将其组织成工作流程。完成后,您将能够发出单个请求,以根据运输目的地、购物车中的商品和运输详细信息返回landed cost。

每个工作流程都有其所需的输入。GraphQL允许您传递比必要更多的数据,但只有某些字段是返回landed cost所必需的。这些在我们API参考中清楚标记,以查看所有可能的字段。

请注意,如果您希望计算得到保证,则某些字段是有条件的。

以下是计算保证landed cost所需的所有字段。确保在发出请求之前包含此信息。

保证计算所需的输入

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: 商品的价格。
  • currencyCode: 商品金额的货币代码。
  • quantity: 商品的数量。
  • 以下之一(无论哪个设置为您商品键首选项。您的商品键将存储在目录中的信息与购物车中的商品连接,并在标签创建时使用。)
    • productId: 商品的产品ID。
    • sku: 商品的SKU。

如果您希望在获取运输评级时对商品进纸箱化,则measurementsWEIGHTLENGTHWIDTHHEIGHT)是必需的。

cartonsCreateWorkflowInput

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

shipmentRatingCreateWorkflowInput

此工作流程用于当您已经知道运输服务和费用时;如果您希望Zonos为您计算已启用服务的费用,请替换此工作流程并使用shipmentRatingCalculateWorkflow

shipmentRatingCreateWorkflowInput传达运输费用。查看我们GraphQL API 参考中的完整架构。所需字段包括:

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

landedCostWorkflowInput决定landed cost计算的偏好。查看我们GraphQL API 参考中的完整架构。所需字段包括:

  • calculationMethod: 指示您计划如何运输的偏好:DDP(预付关税和税费)或DAP(在交付时支付关税和税费,或者如果适用汇款计划,则通过税号汇款)。
    • 如果您使用我们的landed cost保证,则此值应始终为DDP_PREFERRED,这将在可能的情况下提供DDP报价,而在不允许DDP的情况下提供DAP报价。使用DAP可能会导致到岸成本不再得到保证,因为这通常会导致在交付时支付关税和税费。
  • endUse: 指示商品是出售给其他企业(FOR_RESALE)还是供消费者最终使用(NOT_FOR_RESALE)。
  • tariffRate: 指示Zonos应使用的方法来计算此报价的关税税率,以防有一系列关税税率可以应用。*使用我们的landed cost保证时,这应始终为ZONOS_PREFERRED

添加计算的运输费用: 如果您希望Zonos为您计算运输费用,请将shipmentRatingCreateWorkflow替换为shipmentRatingCalculateWorkflow。如果您希望Zonos在找到运输费用之前对您的商品进分类,请添加cartonizeWorkflow(用尺寸重量)。

HS 代码和运输选项

GraphQL 为您提供了根据您的偏好自定义请求的灵活性。您可以选择几种方式在请求中包含 HS 代码 和运输成本。

HS 代码

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

为每个项目传递 HS 代码

Zonos 强烈建议使用特定于产品的 HS 代码,因为这会导致更准确的 landed cost 报价。如果您知道您的 HS 代码,请在 itemCreateWorkflow 中为每个 item 传递 hsCode

如果您传递了 HS 代码,Zonos 将在获取 landed cost 报价时实时验证它。如果您提供的 HS 代码无效(意味着它不存在),Zonos 将 重新-classify 您的项目,并使用新的有效 HS 代码替代您提供的代码。

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

使用 Classify 生成 HS 代码

如果您没有向 Zonos 传递 hsCode,我们将首先检查 Zonos Catalog 以查看您是否为您的项目存储了 HS 代码。如果没有,我们将调用 Classify 生成分类,以支持您的 landed cost 计算,基于以下 itemCreateWorkflow 产品详细字段:descriptioncategorymaterial。如果您的产品详细字段不够详细,无法基于 Classify's 置信评分 生成分类,将使用分配给您商店的 默认 HS 代码

运输成本

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

计算运输费用

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

故障排除: 如果您期望响应中有 serviceLevel 但未显示,请确保 serviceLevel 已启用并且受您选择的 method 支持。

如果您希望 Zonos 在找到运输成本之前 对您的项目进行分类,请添加 cartonizeWorkflow(没有输入)。

传递运输成本

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

通过 API 请求 landed cost 

一旦您拥有所需的输入数据,请使用您选择的客户端库或工具将 GraphQL 变更发送到 API 端点。以下是您可以构建变更的一些示例。

当您让 Zonos 计算运输成本作为 Landed Cost 请求的一部分时,请使用此请求。如果目的国评估运输的关税和税费,我们将计算这些费用。

变更

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

  itemCreateWorkflow(input: $items) {
    id
    amount
  }

  cartonizeWorkflow {
    id
    type
    items {
      item {
        id
      }
    }
  }

  shipmentRatingCalculateWorkflow {
    id
    amount
  }

  landedCostCalculateWorkflow(input: $landedCostConfig) {
    id
    duties {
      amount
      currency
    }
    taxes {
      amount
      currency
    }
    fees {
      amount
      currency
    }
  }
}

变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
  "parties": [
    {
      "location": {
        "administrativeArea": "Utah",
        "administrativeAreaCode": "UT",
        "countryCode": "US",
        "line1": "345 N 2450 E",
        "line2": "#151",
        "locality": "St George",
        "postalCode": "84790"
      },
      "type": "ORIGIN"
    },
    {
      "location": {
        "administrativeArea": "BC",
        "administrativeAreaCode": "BC",
        "countryCode": "CA",
        "line1": "27 Sussex Dr.",
        "locality": "Victoria",
        "postalCode": "V8T 2V9"
      },
      "person": {
        "email": "test@gmail.com",
        "firstName": "firstName",
        "lastName": "lastName",
        "phone": "5022303021",
        "companyName": "goProTest",
        "metadata": { "key": "key", "value": "value" }
      },
      "type": "DESTINATION"
    },
    {
      "type": "PAYOR",
      "location": {
        "administrativeArea": "ON",
        "administrativeAreaCode": "ON",
        "countryCode": "CA",
        "latitude": 1.2,
        "line1": "asdf",
        "line2": "asdf",
        "locality": "locality",
        "longitude": 3423.2,
        "postalCode": "M4C 1A1"
      },
      "person": {
        "email": "test@gmail.com",
        "firstName": "firstName",
        "lastName": "lastName",
        "phone": "5022303021",
        "companyName": "goProTest",
        "metadata": { "key": "key", "value": "value" }
      }
    }
  ],
  "items": [
    {
      "amount": 69,
      "currencyCode": "USD",
      "countryOfOrigin": "US",
      "quantity": 1,
      "productId": "productId",
      "hsCode": "1006.30",
      "description": "description",
      "measurements": [
        { "type": "WIDTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
        { "type": "WEIGHT", "value": 2, "unitOfMeasure": "POUND" }
      ]
    },
    {
      "amount": 62,
      "currencyCode": "CAD",
      "countryOfOrigin": "US",
      "hsCode": "1006.30",
      "quantity": 1,
      "productId": "productId2",
      "description": "description2",
      "measurements": [
        { "type": "WIDTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
        { "type": "WEIGHT", "value": 2, "unitOfMeasure": "POUND" }
      ]
    }
  ],
  "landedCostConfig": {
    "endUse": "FOR_RESALE",
    "method": "DAP",
    "tariffRate": "ZONOS_PREFERRED"
  }
}

响应

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
{
  "data": {
    "partyCreateWorkflow": [
      {
        "type": "ORIGIN",
        "id": "party_749959ae-b9ff-4de4-b4ac-59cc990c53ba",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "DESTINATION",
        "id": "party_cd7ff245-76b6-464f-a7bf-151ebe1f8833",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "PAYOR",
        "id": "party_00e63a9e-9735-44d9-b129-3b3e76c5df25",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      }
    ],
    "itemCreateWorkflow": [
      {
        "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e",
        "amount": 69
      },
      {
        "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115",
        "amount": 62
      }
    ],
    "cartonizeWorkflow": [
      {
        "id": "carton_b34b29c1-ce27-464b-b91b-df8e4a696312",
        "type": "PACKAGE",
        "items": [
          {
            "item": {
              "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e"
            }
          },
          {
            "item": {
              "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115"
            }
          }
        ]
      }
    ],
    "shipmentRatingCalculateWorkflow": [
      {
        "id": "shipment_rating_96787309-9510-43cc-b4fa-c341ff80f4cc",
        "amount": 173.2
      },
      {
        "id": "shipment_rating_b0ccb109-7794-4c7c-b5cc-e2cfbbc5c8ac",
        "amount": 190.1
      }
    ],
    "landedCostCalculateWorkflow": [
      {
        "id": "landed_cost_74d3ce11-bff2-4326-9e6f-368e03ac88b4",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      },
      {
        "id": "landed_cost_7bbfd354-028c-457f-8c8e-c81bb8fa09a0",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      }
    ]
  }
}

在仪表板中请求landed cost 

您还可以直接Zonos仪表板中计算到岸成本,而无需使用API。这对于测试计算、培训您的团队或快速获取客户询问的报价非常有帮助。

仪表板使用上述相同的API端点,因此结果将与您从直接API调用中获得的结果相匹配。这使得它成为验证您的API集成或探索不同输入如何影响计算的绝佳方式。

使用仪表板计算器

通过仪表板中的landed cost计算器,您可以获取带有计算运费的报价,创建已知运费的报价,或批量处理多个报价。

当您知道运输服务级别和运输成本时,请使用此流程。

  1. 转到 仪表板订单报价
  2. 点击 新报价
  3. 可选 — 修改您的发货地址位置
  4. 从下拉菜单中选择 目的国
  5. 输入运费金额
    • 服务级别是可选的;添加它可以让我们计算适用的承运人费用
  6. 添加运输的商品详细信息
    • 当您输入描述时,我们会自动classify产品并生成HS代码
    • 如果需要,您可以覆盖生成的HS代码
    • 对于多个商品,点击 保存并添加另一个。否则,点击 保存
  7. 可选 — 点击 更多选项 以更改:
    • 销售类型为 转售
    • 交付方式为 交付费用未付
  8. 点击 获取报价
    • 要进行更改,请点击 编辑表单 并修改任何详细信息
    • 再次点击 获取报价 以更新

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

编辑现有报价: 点击右上角的 再次报价 以修改现有报价,而不是从头开始。

使用仪表板的好处

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

仪表板报价包括通过API提供的相同详细分解,使其成为您自动化集成的绝佳补充。

这个页面有帮助吗?