ミューテーション入力の準備
GraphQL APIを介してlanded costを計算するには、複数のステップが含まれます。これらのステップをワークフローに整理しました。最終的には、出荷先、カート内のアイテム、および出荷に基づいてlanded costを取得するために必要なすべての情報が得られます。
各ワークフローには特定の入力データが必要です。GraphQLでは、必要以上の情報を含めることができます。すべての可能なフィールドについては、私たちの完全APIリファレンスを参照してください。必須フィールドは、APIリファレンスでそのようにマークされていますが、このマークは機能に必要なフィールドにのみ適用されます。保証を使用する場合は、いくつかの追加フィールドが必要です。
以下に、保証された landed costを計算するために必要なすべてのフィールドをリストしました。この情報を準備しておいてください。
保証された計算のための必須入力
partyCreateWorkflowInput
partyCreateWorkflowInput
は、関与する当事者とその所在地を特定します。完全なスキーマは、私たちのGraphQL API リファレンスで確認できます。必須フィールドは以下の通りです:
location
administrativeAreaCode
: 州または州のコード(2文字)。CAおよびBRの場合のみ必須。countryCode
: 国の2文字ISOコード。line1
: 住所の最初の行。postalCode
: 住所の郵便番号またはZIPコード。
person
email
: 人のメールアドレス。firstName
: 人の名。lastName
: 人の姓。phone
: 人の電話番号。
type
DESTINATION
: 出荷先のlocation
およびperson
情報。ORIGIN
: 出荷元のlocation
情報。出荷元に関連するperson
は必須ではありません。
itemCreateWorkflowInput
itemCreateWorkflowInput
は、カート内のアイテムをリストします。多くのオプションフィールドがあります(すべての可能性は私たちAPIリファレンスで確認できます)が、以下のフィールドは必須です。
amount
: アイテムの価格。currencyCode
: アイテム金額の通貨コード。quantity
: アイテムの数量。- 次のいずれか(あなたアイテムキーの優先度として設定されているもの)。アイテムキーは、カタログに保存された情報をカート内のアイテムに接続し、ラベル作成時に使用されます。
productId
: アイテムの製品ID。sku
: アイテムのSKU。
measurements
(WEIGHT
、LENGTH
、WIDTH
、HEIGHT
)は、出荷評価を取得する際にアイテムカートン化したい場合にのみ必須です。
shipmentRatingCreateWorkflowInput
このワークフローは、すでに出荷サービスとコストがわかっている場合に使用されます。Zonosにこれらのコストを計算させたい場合は、このワークフローを入れ替えてshipmentRatingCalculateWorkflow
を使用してください。
shipmentRatingCreateWorkflowInput
は、出荷コストを伝えます。完全なスキーマは、私たちのGraphQL API リファレンスで確認できます。必須フィールドは以下の通りです:
amount
: 出荷コスト。currencyCode
: 出荷コストの通貨コード。serviceLevelCode
: 出荷評価に使用される出荷サービスレベルを示すコード。
landedCostWorkflowInput
landedCostWorkflowInput
は、landed cost計算のための優先設定を指示します。完全なスキーマは、私たちのGraphQL API リファレンスで確認できます。必須フィールドは以下の通りです:
calculationMethod
: 出荷方法の計画に対するあなたの優先設定を示します:DDP(前払いの関税および税金)またはDAP(関税および税金が配達時に支払われるか、リメittanceスキームが適用される場合は税IDを介して支払われます)。- 私たちのlanded cost保証を使用する場合、この値は常に
DDP_PREFERRED
であるべきです。これは、可能な場合はDDP見積もりを提供し、DDPが許可されていない場合はDAP見積もりを提供します。代わりにDAP
を使用すると、通常、配達時に関税および税金が支払われるため、着地コストが保証されなくなる可能性があります。
- 私たちのlanded cost保証を使用する場合、この値は常に
endUse
: 商品が他のビジネスに販売されるか(FOR_RESALE
)、消費者との最終使用のためか(NOT_FOR_RESALE
)を示します。tariffRate
: この見積もりのためにZonosが関税率を計算するために使用すべき方法を示します。適用可能な関税率の範囲がある場合。*私たちのlanded cost保証を使用する場合、これは常にZONOS_PREFERREDであるべきです。
計算された出荷を追加: Zonosに出荷コストを計算させたい場合は、
shipmentRatingCreateWorkflow
をshipmentRatingCalculateWorkflow
に置き換えます。出荷コストを見つける前にZonosにアイテムカートン化させたい場合は、cartonizeWorkflow
を追加します寸法重量に使用されます)。
landed costを計算する際のオプション
GraphQLは、リクエストを好みに合わせてカスタマイズする柔軟性を提供しますHSコードや送料をリクエストに含める方法はいくつかあります。
HSコード
HSコードは関税率に影響を与えるため、必須です。各アイテムのHSコードを渡すこともできますし、Classifyに生成させることもできます。
Zonosは、製品固有のHSコードを使用することを強く推奨します。これにより、より正確なlanded costの見積もりが得られます。HSコードがわかっている場合は、itemCreateWorkflow
の各item
に対してhsCode
を渡してください。
HSコードを渡すと、Zonosはlanded costの見積もりを取得する際に、リアルタイムでそれを検証します。提供されたHSコードが無効な場合(存在しないことを意味します)、Zonosはアイテムをリアルタイム再-classifyし、提供されたものの代わりに新しい有効なHSコードを使用します。
製品のHSコードを生成するのに助けが必要な場合はZonos Classifyについて学び分類をリクエストする方法を確認してください。
ZonosにhsCode
を渡さない場合、まZonos Catalogをチェックして、アイテムに保存されているHSコードがあるかどうかを確認します。ない場合はClassifyを呼び出して、以下のitemCreateWorkflow
製品詳細フィールドに基づいてlanded cost計算を行うための分類を生成します:description
、category
、およびmaterial
。製品詳細フィールドがClassify's信頼度スコアに基づいて分類を生成するのに十分に詳細でない場合、ストアに割り当てられデフォルトHSコードが使用されます。
デフォルトでは、hsCode
を提供せずにClassifyを呼び出すと、Classifyによって生成されたhsCode
はレスポンスに返されず、あなたのlanded costを生成するために内部的にのみ使用されます。ただし、Classifyのサブスクリプションがある場合、Classify'sのHSコードはlanded costのレスポンスに返されます。
送料
送料サービスレベルとそのコストは、関税、税金、手数料に影響を与えるため、必須です。Zonosは送料を計算することもできますし、これを私たちに渡すこともできます。
Zonosに送料を計算させるには、shipmentRatingCalculateWorkflow
を使用します。計算された送料のレスポンスに返される出荷オプションはDashboardで出荷プロファイルに割り当てたserviceLevels
に関連します。
トラブルシューティング: レスポンスに
serviceLevel
が表示されない場合は、serviceLevel
が有効であり、選択したmethod
によってサポートされていることを確認してください。
送料を見つける前にZonosアイテムを整理させるためにcartonizeWorkflow
(入力なし)を追加してください寸法重量に使用されます)。
出荷のserviceLevel
とamount
がわかっている場合は、リクエストのshipmentRatingCreateWorkflow
部分にそれらを渡すことができます。これらの値を使用して、関連するキャリア料金を計算し、レスポンスに返します。
ミューテーションを送信する
必要な入力データが揃ったら、選択したクライアントライブラリまたはツールを使用してAPIエンドポイントにGraphQLミューテーションを送信します。ミューテーションの構造を示すいくつかの例を以下に示します。
ミューテーション
mutation {
partyCreateWorkflow(
input: [
{
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" }
}
}
]
) {
type
id
organization
}
itemCreateWorkflow(
input: [
{
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 }
]
}
]
) {
id
amount
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(
input: { endUse: FOR_RESALE, method: DAP, tariffRate: ZONOS_PREFERRED }
) {
id
duties {
amount
currency
}
taxes {
amount
currency
}
fees {
amount
currency
}
}
}
応答
{
"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を計算する
GraphQLを使用して関税、税金、手数料を計算します。GraphQL
Zonosは、出荷のための総landed costを計算します。これには、関税、税金、および税関、ブローカー、または運送業者が請求する可能性のある追加手数料が含まれます。私たちは、計算した金額を正確に請求しながら、関税、税金、手数料の請求書を自ら支払うことで、これらの計算を保証することがよくあります。稀なケースでは、私たちの計算を保証なしで使用することができ、その場合、あなたは私たちの計算と関税および税金の請求書との間の差額を負担します。