リクエストの準備
landed cost APIを計算するには、いくつかの入力が必要であり、これをワークフローに整理しました。完了すると、出荷先、カート内のアイテム、および出荷の詳細に基づいてlanded costを返す単一のリクエストを行うことができます。
各ワークフローには、それぞれ必要な入力があります。GraphQLでは、必要以上のデータを渡すことができますが、landed costを返すために必要なフィールドは限られています。これらは、すべての可能なフィールドを確認するために、私たちAPIリファレンスに明確にマークされています。
計算を保証したい場合は、いくつかのフィールドが条件付きで必要であることに注意してください。
以下に、保証されたlanded costを計算するために必要なすべてのフィールドを示します。この情報がリクエストを行う前に含まれていることを確認してください。
保証された計算のための必要な入力
partyCreateWorkflowInputpartyCreateWorkflowInputは、関与する当事者とその所在地を特定します。完全なスキーマは、私たちのGraphQL APIリファレンスで確認できます。必要なフィールドは次のとおりです。
locationadministrativeAreaCode: 州または州のコード(2文字)。CAおよびBRの場合のみ必要です。countryCode: 国の2文字ISOコード。line1: 住所の最初の行。postalCode: 住所の郵便番号またはZIPコード。
personemail: 人のメールアドレス。firstName: 人の名。lastName: 人の姓。phone: 人の電話番号。
typeDESTINATION: 出荷先のlocationおよびperson情報。ORIGIN: 出荷元のlocation情報。出荷元に関連するpersonは必要ありません。
itemCreateWorkflowInputitemCreateWorkflowInputは、カート内のアイテムをリストします。多くのオプションフィールドがあります(すべての可能性は私たちAPIリファレンスで確認できます)が、以下のフィールドは必須です。
amount: 出荷される商品の単位あたりの価値。数量によって掛け算される前の値です。アイテムのquantityが1の場合、これはアイテムの総コストです。アイテムのquantityが>1の場合、APIはアイテムのamountをアイテムのquantityで掛け算して、行アイテムの合計を取得します。アイテムのすべての単位の総価格をamountに入れないでください。currencyCode: アイテム金額の通貨コード。quantity: アイテムの数量。APIはアイテムのamountをアイテムのquantityで掛け算して、行アイテムの合計を取得します。countryOfOrigin: アイテムが製造された国。- 次のいずれか(あなたアイテムキーの優先度として設定されているもの)。アイテムキーは、カタログに保存された情報をカート内のアイテムに接続し、ラベル作成時に使用されます。
productId: アイテムの製品ID。sku: アイテムのSKU。
measurements(WEIGHT、LENGTH、WIDTH、HEIGHT)は、出荷評価を取得する際にアイテムカートン化したい場合にのみ必要です。
cartonsCreateWorkflowInputcartonsCreateWorkflowInputは、入力自体のみが必要です。完全なスキーマは、私たちのGraphQL APIリファレンスで確認して、渡すことができるすべての値を確認してください。Zonosが送料を計算する場合、カートンの寸法と重量を渡すことが重要です。
shipmentRatingCreateWorkflowInputこのワークフローは、すでに配送サービスとコストがわかっている場合に使用されます。Zonosに有効にしたサービスのコストを計算させたい場合は、このワークフローを交換し、代わりにshipmentRatingCalculateWorkflowを使用してください。
shipmentRatingCreateWorkflowInputは、送料を伝えます。完全なスキーマは、私たちのGraphQL APIリファレンスで確認できます。必要なフィールドは次のとおりです。
amount: 送料。currencyCode: 送料の通貨コード。serviceLevelCode: 出荷評価に使用される配送サービスレベルを示すコード。
landedCostWorkFlowInputlandedCostWorkFlowInputは、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を追加すると、送料を見つける前にアイテムをカートンに分けることができます寸法重量に使用されます)。
HSコードと配送オプション
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カタログに商品用のHSコードが保存されているか確認します。保存されていない場合はClassifyを呼び出し、以下のitemCreateWorkflow商品詳細フィールド(description、category、material)に基づいて分類を生成し、landed cost計算に活用します。商品詳細フィールドがClassify's信頼度スコアに基づく分類生成に十分でない場合は、ストアに割り当てられデフォルトHSコードが使用されます。
配送料金
配送サービスレベルとその料金は、関税・税金・手数料に影響するため、必須項目です。Zonosで配送料金を計算することも、お客様側で指定することも可能です。
Zonosに配送料金を計算させる場合は、shipmentRatingCalculateWorkflowを使用してください。計算された配送レスポンスで返される配送オプションはDashboardの配送プロファイルに割り当てたserviceLevelsと連動します。
トラブルシューティング: レスポンスに
serviceLevelが表示されない場合は、serviceLevelが有効であり、選択したmethodでサポートされていることをご確認ください。
Zonos商品をカートンに仕分けさせる場合は、(入力不要の)cartonizeWorkflowを追加してください。これ容積重量の計算にも使用されます。
配送のserviceLevelとamountが分かっている場合は、リクエストのshipmentRatingCreateWorkflow部分でそれらを指定できます。指定された値をもとに、関連する運送会社手数料を計算し、レスポンスで返します。
landed costをAPI経由でリクエストする
必要な入力データが揃ったら、選択したクライアントライブラリやツールを使ってGraphQLミューテーションをAPIエンドポイントに送信します。以下はミューテーションの構成例です。
このリクエストは、ZonosにLanded Costリクエストの一部として配送料金を計算させる場合に使用します。配送先国で課される場合は、配送料金に対する関税や税金も計算されます。
Mutation
mutation CalculateLandedCost(
$parties: [PartyCreateWorkflowInput!]!
$items: [ItemCreateWorkflowInput!]!
$landedCostConfig: LandedCostWorkFlowInput!
) {
partyCreateWorkflow(input: $parties) {
type
id
organization
}
itemCreateWorkflow(input: $items) {
id
amount
productId
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(input: $landedCostConfig) {
id
duties {
amount
currency
note
}
taxes {
amount
currency
note
}
fees {
amount
currency
note
}
}
}
変数
{
"parties": [
{
"location": {
"administrativeArea": "Utah",
"administrativeAreaCode": "UT",
"countryCode": "US",
"line1": "345 N 2450 E",
"line2": "#151",
"locality": "St George",
"postalCode": "84790"
},
"type": "ORIGIN"
},
{
"location": {
"administrativeArea": "New South Wales",
"administrativeAreaCode": "NSW",
"countryCode": "AU",
"line1": "123 George Street",
"line2": "Apartment 5B",
"locality": "Sydney",
"postalCode": "2000"
},
"person": {
"email": "aussie.customer@gmail.com",
"firstName": "James",
"lastName": "Thompson",
"phone": "+61412345678",
"companyName": "Sydney Trading Co",
"metadata": { "key": "customer_type", "value": "premium" }
},
"type": "DESTINATION"
},
{
"type": "PAYOR",
"location": {
"administrativeArea": "Victoria",
"administrativeAreaCode": "VIC",
"countryCode": "AU",
"latitude": -37.8136,
"line1": "456 Collins Street",
"line2": "Suite 12",
"locality": "Melbourne",
"longitude": 144.9631,
"postalCode": "3000"
},
"person": {
"email": "billing@reallysilkstore.com.au",
"firstName": "Sarah",
"lastName": "Mitchell",
"phone": "+61398765432",
"companyName": "Really Silk Store",
"metadata": { "key": "billing_contact", "value": "primary" }
}
}
],
"items": [
{
"amount": 120,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId1",
"hsCode": null,
"description": "leather wallet",
"measurements": [
{ "type": "WIDTH", "value": 1, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1, "unitOfMeasure": "POUND" }
]
},
{
"amount": 55,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId2",
"hsCode": "6206.30",
"description": "t-shirt",
"measurements": [
{ "type": "WIDTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 5, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1.5, "unitOfMeasure": "POUND" }
]
}
],
"landedCostConfig": {
"calculationMethod": "DDP_PREFERRED",
"endUse": "NOT_FOR_RESALE",
"tariffRate": "ZONOS_PREFERRED"
}
}
応答
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_01044774-758f-4021-b8dd-e17d97609647",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "DESTINATION",
"id": "party_0m6wgfjmhbnf2",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "PAYOR",
"id": "party_0m6wgfjn5bnfh",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
}
],
"itemCreateWorkflow": [
{
"id": "item_0m6wgfjpfw9fz",
"amount": 120,
"productId": "productId1"
},
{
"id": "item_0m6wgfjpfw9g0",
"amount": 55,
"productId": "productId2"
}
],
"cartonizeWorkflow": [
{
"id": "carton_0m6wgfme53aqb",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_0m6wgfjpfw9g0"
}
},
{
"item": {
"id": "item_0m6wgfjpfw9fz"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_0m6wgfmghvhh1",
"amount": 24.8864
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_7730b476-1307-4d14-8f76-3b37bd162054",
"duties": [],
"taxes": [
{
"amount": 5.5,
"currency": "USD",
"note": null
},
{
"amount": 0.7822,
"currency": "USD",
"note": null
},
{
"amount": 12,
"currency": "USD",
"note": null
},
{
"amount": 1.7065,
"currency": "USD",
"note": null
}
],
"fees": [
{
"amount": 0,
"currency": "USD",
"note": null
},
{
"amount": 0.8,
"currency": "USD",
"note": null
},
{
"amount": 0,
"currency": "USD",
"note": null
}
]
}
]
},
"errors": []
}
次のステップ: 注文を作成する
landed cost を計算し、APIレスポンスから landedCostId を受け取ったら、Zonos システムで取引を完了するために注文を作成する必要があります。 orderCreate ミューテーションを使用し、見積もりからの landedCostId を渡してください。 注文の作成 について詳しく学びましょう。
ダッシュボードでのlanded costのリクエスト
APIを使用せずにZonos ダッシュボード で直接 landed cost を計算することもできます。これは、計算のテスト、チームのトレーニング、または顧客の問い合わせに対する迅速な見積もりを取得するのに役立ちます。
ダッシュボードは、上記で説明したのと同じAPIエンドポイントを使用しているため、結果は直接API呼び出しから得られるものと一致します。これにより、API統合を検証したり、異なる入力が計算にどのように影響するかを探るのに最適な方法となります。
ダッシュボード計算機の使用
ダッシュボードのlanded cost計算機を使用すると、計算された送料で見積もりを取得したり、既知の送料で見積もりを作成したり、複数の見積もりを一括処理したりできます。
配送サービスレベルとコストがわかっている場合は、このフローを使用してください。
- ダッシュボード → 注文 → 見積もり に移動します。
- 新しい見積もりをクリックします。
- オプション — 発送元住所の場所を変更します。
- ドロップダウンから 宛先国 を選択します。
- 送料を入力します。
- サービスレベルはオプションです。追加すると、適用可能な運送業者の手数料を計算できます。
- 発送のアイテム詳細を追加します。
- 説明を入力すると、当社は自動的にclassifyし、HSコードを生成します。
- 必要に応じて生成されたHSコードを上書きできます。
- 複数のアイテムの場合は、保存して別のアイテムを追加をクリックします。そうでない場合は、保存をクリックします。
- オプション — 詳細オプションをクリックして変更します:
- 販売タイプを 再販用 に変更
- 配送モードを 配送料未払い に変更
- 見積もりを取得をクリックします。
- 変更を加えるには、フォームを編集をクリックして詳細を修正します。
- 再度 見積もりを取得をクリックして更新します。
右側にlanded costの見積もりが表示され、商品、送料、輸入コストが含まれます。見積もりを展開して、アイテム、送料、関税、税金、手数料の詳細な内訳を確認できます。すべての見積もりは、将来の参照のために見積もりページに保存されます。
既存の見積もりを編集: 右上の 再見積もり をクリックして、最初から始めるのではなく、既存の見積もりを修正します。
ダッシュボードを使用する利点
- コーディング不要 — ユーザーフレンドリーなインターフェースを通じて見積もりを生成
- チームトレーニング — 非技術的なチームメンバーがlanded costのコンポーネントを理解するのを支援
- API検証 — API統合が期待される結果を生成することを確認
- 顧客サポート — 顧客の問い合わせに対する迅速な見積もり生成
- 一括処理 — 複数の計算を効率的に処理(近日公開予定)
ダッシュボードの見積もりには、APIを通じて利用可能なのと同じ詳細な内訳が含まれており、自動化された統合の優れた補完となります。
landed costを計算する
GraphQLを使用して関税、税金、手数料を計算します。GraphQL
Zonosは、国際出荷のための総landed costを計算します。これには、関税、税金、および税関、ブローカー、運送業者によって請求される追加手数料が含まれます。ほとんどの場合、私たちは最終請求書を自ら支払い、計算した金額を正確に請求することで、これらの計算を保証します。場合によっては、保証なしでlanded costを使用することができ、これは私たちの計算と実際の請求額の間の差異に対する責任を負うことを意味します。