エンドポイント
配送見積もりのリクエスト
POST | https://api.iglobalstores.com/2.0/shipping-quotes
- 輸入関税や税金、アイテムの制限スクリーニング情報を含むショッピングカート内のアイテムに対する配送見積もりの新しいリクエストを作成します。
HTTPSリクエスト
フィールド | ノート |
---|---|
HTTPメソッド | POST |
エンドポイントURL | https://api.iglobalstores.com/2.0/shipping-quotes |
プロトコル | HTTPS |
メッセージフォーマット | JSON |
Accept HTTPヘッダー | Accept: application/json |
セキュリティトークンHTTPヘッダー | serviceToken: your-test-token-valueHTTPSリクエストにserviceTokenという名前のヘッダーを追加し、Test Security API Tokenの値を設定します。(このトークンについてはアカウントマネージャーにお問い合わせください) |
Content-Type HTTPヘッダー | Content-Type: application/jsonサービスにJSONデータを投稿するため、HTTPSリクエストにContent-Typeという名前のヘッダーを追加し、値をapplication/jsonに設定します |
リクエストボディ内のJSON KEY/VALUE PAIRS
メッセージフォーマット: JSON
リクエストの例
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
{
"boxCount": null,
"items": [
{
"cartItemId": 1,
"detailedDescription": "description including options, material content, etc",
"category": "sunglasses",
"productId": "17898-675234",
"sku": "oakley-123",
"unitPrice": 199.0,
"quantity": 1,
"length": 2.5,
"width": 6.5,
"height": 2.5,
"dimensionalUnits": null,
"weight": 4,
"weightUnits": "OZ",
"hsCode": null,
"brandName": "Oakley",
"countryOfOrigin": "CN"
},
{
"cartItemId": 2,
"detailedDescription": "description including options, material content, etc",
"category": "sunglasses",
"productId": "17898-675235",
"sku": "oakley-125",
"unitPrice": 179.0,
"quantity": 1,
"length": 2.5,
"width": 6.5,
"height": 2.5,
"dimensionalUnits": null,
"weight": 4,
"weightUnits": "OZ",
"hsCode": null,
"brandName": "Oakley",
"countryOfOrigin": "CN"
}
],
"shippingAmountOverride": null,
"shipFromAddress": null,
"shipToAddress": {
"name": "John Doe",
"address1": "123 S West Elm St",
"address2": null,
"address3": null,
"city": "Calgary",
"state": "Alberta",
"stateCode": "AB",
"postalCode": "T2P 5G8",
"countryCode": "CA"
}
}
リクエスト JSON 定義
フィールド | ノート |
---|---|
boxCount | このフィールドは、注文を発送するために使用される箱の数を説明します。商人が注文時にこれを知っていることは期待されていませんが、もし知っている場合は、以下の特定の形式で渡すことができます。例の値: 22x15x15(1),8x8x4(2),32x22x14(1)形式: 箱の寸法と数量のカンマ区切りリスト。上記の例では、合計で4つの箱があります。リストの最初の箱は、長さ22インチ、幅15インチ、高さ15インチです。そのサイズの箱は1つだけ使用されます。サイズ8x8x4インチの箱が2つあります。同じ箱の寸法を複数回渡すことも許可されています。例えば、「22x15x15(1),22x15x15(1)」のように、これは22x15x15インチの箱が2つあることを意味します。 |
items 必須 | アイテムマップのリスト |
items[index].brandName | 特定のアイテムのブランド名は、当社のルールエンジンが目的地国に対して制限が適用されるかどうかを最もよく判断するのに役立ちます。アイテムのブランド名が特定の制限とテキスト的に一致するかどうかにかかわらず、当社のルールエンジンはアイテムのSKUやproductId を使用して、アイテムが実際に目的地国に制限されているかどうかをより良く判断します。可能であればブランド名を送信してください。例の値: “Oakley” または “Nike” または null |
items[index].cartItemId 必須 | このフィールドは、アイテムを特定するために必要です。特にアイテムのリスト内での識別に使用されます。単純なインデックス値である場合もあります。このcartItemId を使用して、JSONレスポンス内で制限されているアイテムを特定します。したがって、渡しているこのcartItemId でカート内の同じアイテムを特定できることを確認してください。例の値: 1 または 2 または 3 |
items[index].category | 製品カテゴリ - 特定の製品が属するカテゴリ。カテゴリは、当社のルールエンジンが目的地国に対して制限が適用されるかどうかを最もよく判断するのに役立ちます。アイテムのカテゴリが特定の制限とテキスト的に一致するかどうかにかかわらず、当社のルールエンジンはアイテムのSKUやproductId を使用して、アイテムが実際に目的地国に制限されているかどうかをより良く判断します。形式: パイプ区切りのカテゴリ名のリスト。各カテゴリ名は1語以上の単語で構成される場合があります。アイテムが複数のカテゴリに存在する場合は、両方をパイプ“”文字で区切ってリストしてください。例の値: “サングラス” または “イブニングアクセサリー ハンドバッグ” |
items[index].countryOfOrigin | 原産国は、アイテムが製造された国または元々来た国です。原産国は、当社のルールエンジンが目的地国に対してアイテムに制限が適用されるかどうかを最もよく判断するのに役立ちます。一部の国では、特定の国からの特定の種類の商品の持ち込みを許可していません。例の値: “CN” は中国、または “US” はアメリカ合衆国、または null |
items[index].detailedDescription REQUIRED | このフィールドは単なるテキストですが、購入されるアイテムに関する可能な限り多くの情報を含めるべきです。たとえば、該当する場合はフルネームとアイテムコード、選択された色やその他のオプション、素材の内容、アイテムに関する説明テキストなどです。外国への輸入制限にはさまざまな種類があり、たとえばイタリアへの革靴などがあります。時には、制限されたアイテムを見つける唯一の方法は detailedDescription を通じてです。注意: アイテムの detailedDescription が特定の制限とテキスト的に一致するかどうかにかかわらず、当社のルールエンジンはアイテムのSKUおよび/または productId を使用して、アイテムが実際に目的地国に制限されているかどうかをより良く判断します。最良の結果を得るために、detailedDescription フィールドに可能な限り多くの情報を送信してください。例の値: “Tory Burch, Robinson – ダブルジップトート, 色: New Carnival, 素材内容: レザー, 色豊かなレザーが目を引く魅力を与え、整然としたトートにロゴハードウェアとロールハンドルを備えた完全に洗練された外観を提供します。マグネットスナップクロージャーとデュアルジッパーコンパートメント。内部ジッパー、壁、携帯電話ポケット。保護金属足。レザー。Tory Burchによる; 輸入。” |
items[index].height | これはアイテムの高さです。別のフィールド dimensionalUnits があり、そこでこの測定のインチまたはセンチメートルを指定します。カンマなしで、最大2桁の小数点以下で提供してください。例の値: 25.5このフィールドを渡すと、送料が最も正確になります。 |
items[index].hsCode | これはアイテムを外国に特定するHSコードです。hsCode を渡すことで、特定のアイテムに対して正しい輸入関税 rate を適切に特定するのに役立ちます。利用できない場合は必須ではありません – お持ちでない場合は、こちらで対応します。形式: 10桁または6桁のコード; 区切りの “.” 文字を含むことも含まないこともできます。例の値: “20.4560.0000” または “20.4560” または “204560” (10桁または6桁のコードが受け入れられます) |
items[index].length | これはアイテムの長さです。別のフィールド dimensionalUnits があり、そこでこの測定のインチまたはセンチメートルを指定します。カンマなしで、最大2桁の小数点以下で提供してください。例の値: 25.5このフィールドを渡すと、送料が最も正確になります。 |
items[index].productId | これは特定のアイテムの製品IDです。当社のルールエンジンは、この値をIDとして使用して、学習したアイテム情報をアイテムに結び付けます。例の値: “17898-675235”少なくとも productID またはSKUを渡してください。両方を渡すことが推奨されます。 |
items[index].quantity REQUIRED | これは特定のアイテムで購入される数量です。カンマなしで、正の整数として提供してください。小数点以下はありません。例の値: 1 または 9999 (私たちは、少ないよりも多くのアイテムを販売することを好みます!) |
items[index].sku | これは特定のアイテムのSKUです。当社のルールエンジンは、この値をIDとして使用して、学習したアイテム情報をアイテムに結び付けます。例の値: “oakley-125”少なくとも productId またはSKUを渡してください。両方を渡すことが推奨されます。 |
items[index].unitPrice REQUIRED | これはアイテムの単価をUSD(米ドル)で示したものです。カンマなしで、ドル記号 “$” を付けず、2桁の小数点以下で提供してください。例の値: 2102.99 |
items[index].weight | これはアイテムの重量です。この測定のためにポンド、オンス、グラム、またはキログラムを指定するweightUnits という別のフィールドがあります。カンマなしで、少数点以下2桁以内で提供してください。例の値: 4.2このフィールドを渡すと、送料が最も正確になります。 |
items[index].weightUnits | デフォルトは「LB」でポンドのための重量値の単位です。nullに設定された場合、「LB」(ポンド)が仮定されます。例の値: ポンドの場合は「LB」、オンスの場合は「OZ」、グラムの場合は「G」、キログラムの場合は「KG」、またはnull |
items[index].width | これはアイテムの幅です。この測定のためにインチまたはセンチメートルを指定するdimensionalUnits という別のフィールドがあります。カンマなしで、少数点以下2桁以内で提供してください。例の値: 25.5このフィールドを渡すと、送料が最も正確になります。 |
shipFromAddress | nullとして渡された場合、あなたのマーチャントアカウントに関連付けられたデフォルトのshipFromAddress を使用します。これは、注文が発送される住所、すなわちあなたの倉庫です。これは次の住所フィールドを含むマップです: address1 , address2 , address3 , city , state , stateCode , postalCode , countryCode 。これらのフィールドは国に基づいて必須または非必須です。ローカリゼーションエンドポイントは、各国に対してどの特定の住所フィールドが必須かを返します。注意: stateCode は常に必須ではなく、ローカリゼーションエンドポイントで宣言されていません。利用可能な場合はstateCode を渡すことができます。 |
shippingAmountOverride | これは、APIを呼び出す前に送料を知っている場合にのみ使用されます。これはUSD(米ドル)です。カンマなしで、ドル記号「$」なしで、少数点以下2桁で提供してください。この機能は、Zonosの代表者と設定しない限り機能しません。例の値: 212.99 |
shipToAddress 必須 | これは、注文が発送される住所です。これは次の住所フィールドを含むマップです: name , address1 , address2 , address3 , city , state , stateCode , postalCode , countryCode 。これらのフィールドは国に基づいて必須または非必須です。ローカリゼーションエンドポイントは、各国に対してどの特定の住所フィールドが必須かを返します。注意: name とstateCode は常に必須ではなく、ローカリゼーションエンドポイントで宣言されていません。利用可能な場合はname および/またはstateCode を渡すことができます。 |
HTTPSレスポンス
メッセージ形式: JSON
カナダとオーストラリアのみの例のレスポンス
注意: 実際のレスポンスには、すべてのサポートされている国が含まれます。
例のリクエスト
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
{
"shippingQuotes": [
{
"id": "bcdbdbcd-0145-4d3b-a54e-0de3cdce5a0a",
"carrier": "UPS",
"conversionRate": 1.32,
"currencyCode": "CAD",
"displayName": "Express Air 2-4 Day Delivery",
"duty": 10.2,
"dutyTaxBrokerageFee": 5.0,
"dutyTaxCarrierPrepaymentFee": 5.0,
"dutyTaxEnabled": true,
"dutyTaxForced": false,
"dutyTaxTotal": 29.38,
"dutyTaxUnderDeminimus": false,
"restrictedItems": [
{
"cartItemId": 1,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
},
{
"cartItemId": 2,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
}
],
"shippingTotal": 23.62,
"taxOrVat": 9.18
},
{
"id": "80c57724-ab4e-4997-8477-08b668fef103",
"carrier": "USPS",
"conversionRate": 1.32,
"currencyCode": "CAD",
"displayName": "Post 5-10 Day Delivery",
"duty": 9.2,
"dutyTaxBrokerageFee": 5.0,
"dutyTaxCarrierPrepaymentFee": 5.0,
"dutyTaxEnabled": true,
"dutyTaxForced": false,
"dutyTaxTotal": 27.38,
"dutyTaxUnderDeminimus": false,
"restrictedItems": [
{
"cartItemId": 1,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
},
{
"cartItemId": 2,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
}
],
"shippingTotal": 13.62,
"taxOrVat": 8.18
}
]
}
レスポンスJSON定義
フィールド | ノート |
---|---|
shippingQuotes | これは配送見積もりマップのリストです。 |
shippingQuotes[index].carrier | この配送見積もりが特定のキャリアに関連する場合のキャリア。商人が特定のキャリアに依存しない一般的な配送プロファイルの設定を求めた場合にのみnullに設定されます。配送見積もりはキャリアに特化する必要はありませんが、特化することもあります。配送プロファイルの設定については、アカウントマネージャーにお問い合わせください。例の値: UPS または FEDEX または DHL または USPS または CAPOST または null |
shippingQuotes[index].displayName | ショッパーに表示するのに適した配送オプションの表示名。これらの値は商人によってカスタマイズ可能です。カスタマイズについては、アカウントマネージャーにお問い合わせください。例の値: “エクスプレスエア 2-4日配達” |
shippingQuotes[index].duty | dutyTaxTotal に含まれる輸入関税の金額。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 8.29 |
shippingQuotes[index] .dutyTaxBrokerageFee | 外国の輸入ブローカーが輸入関税と税金を処理するために請求する金額。これは dutyTaxTotal に含まれます。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 5.00 |
shippingQuotes[index] .duyTaxCarrierPrepaymentFee | キャリアが輸入国に対して関税と税金をprepayするために請求する金額。これは dutyTaxTotal に含まれます。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 5.00 |
shippingQuotes[index] .duyTaxEnabled | この配送見積もりがショッパーに対して輸入関税と税金をprepayすることを可能にするかどうか。falseに設定されている場合、dutyTaxTotal は無視されるべきです。例の値: true または false |
shippingQuotes[index] .duyTaxForced | この配送見積もりがショッパーに対して輸入関税と税金をprepayすることを強制するかどうか。trueに設定されている場合、特定の配送オプションに必要であることを説明し、dutyTaxTotal を注文に含めるべきです。falseに設定されている場合、ショッパーが輸入関税と税金をprepayしたいかどうかを選択できるようにすることができます。例の値: true または false |
shippingQuotes[index].dutyTaxTotal | 指定された配送見積もりのための関税と税金の合計コスト。関税と税金はオプションである場合や、利用できない場合、または指定された配送見積もりに対して強制される場合があります。この金額は shippingTotal に含まれません。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 19.55 |
shippingQuotes[index] .dutyTaxUnderDeMinimis | この特定の配送オプションを使用した場合の注文の合計が、税/VATのデミニミス額と関税のデミニミス額の両方を下回っているかどうか。trueに設定されている場合、dutyTaxTotal は0.00に設定され、顧客に対して注文に関する輸入関税や税金が発生しないことを伝えるべきです。さらに、コストが0.00であるため、関税と税金の前払いを強制する必要があります。 |
shippingQuotes[index].id | 特定の配送見積もりの識別子; 36文字のUUID。例の値: bcdbdbcd-0145-4d3b-a54e-0de3cdce5a0a |
shippingQuotes[index].restrictedItems | これは、特定の配送見積もりを使用して制限されているカート内のアイテムに関する詳細を含むマップのリストです。各制限されたアイテムには reasonCode があります。この理由は、配送オプションに特有である場合もあれば、そうでない場合もあります。アイテム制限の理由のいくつかは、国の輸入法、ブランド制限、または商人が作成したルールによるものです。ショッパーが配送オプションを選択するたびに、カート内のアイテムは配送見積もりの restrictedItems リストと照合されるべきです。カート内のアイテムが制限されている場合、ショッパーにメッセージが表示され、制限されたアイテムは注文の合計から削除されるべきです。 |
shippingQuotes[index] .restrictedItems[index].cartItemId | これは、制限されたカートアイテムのリクエストJSONからの cartItemId です。この cartItemId をショッパーのカート内の特定のアイテムに結びつけることができるはずです。例の値: 1 または 2 または 3 |
shippingQuotes[index] .restrictedItems[index].message | これは、アイテムが制限されている理由についてショッパーに表示される可能性のあるメッセージです。これらのメッセージは商人によってカスタマイズ可能です。詳細については、あなたの Zonos 担当者にお問い合わせください。例の値: “私たちはあなたの国にOakley製品を販売することができません。” |
shippingQuotes[index] .restrictedItems[index].reasonCode | これは、アイテムが制限されている理由コードです。制限は常に国特有であり、私たちの理由コードはそれを明確に示します。例の値: BRAND_COUNTRY または IMPORT_COUNTRY または EXPORT_COUNTRY または CARRIER_COUNTRY または MERCHANT_COUNTRY BRAND_COUNTRY は、特定の国のセットにブランドを販売できないことを指定したことを意味します。IMPORT_COUNTRY は、輸入国がアイテムの輸入を許可しないことを意味します。EXPORT_COUNTRY は、輸出国(通常はアメリカ合衆国)がアイテムの輸出を許可しないことを意味します。CARRIER_COUNTRY は、特定の運送業者がアイテムを運ばないことを意味します。MERCHANT_COUNTRY は、アイテムがトリガーしたカスタム制限ルールを設定したことを意味します。 |
shippingQuotes[index] .shippingTotal | 指定された配送見積もりの配送総コストです。配送見積もりには dutyTaxTotal 金額も含まれている場合がありますが、これはこの shippingTotal には含まれていません。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 25.82 |
shippingQuotes[index].taxOrVat | dutyTaxTotal に含まれる税金またはVATの金額です。一部の国ではこれは税金であり、他の国ではVATです。この金額はUSDで、カンマは含まれず、小数点以下2桁を含みます。例の値: 4.35 |
Landed Cost API レガシー
レガシーLanded Cost APIの動作について学びましょう。以下の情報は、私たちのレガシーLanded Cost APIに関するものです。最新バージョンについてはLanded Cost APIをご覧ください。
shipping-quotesエンドポイントは、ショッパーのカートに関する詳細を受け取り、輸入関税や税金の見積もりを含む配送見積もりを返し、アイテムの制限をスクリーニングします。これらの返された配送見積もりは、このAPIエンドポイントの使用前に設定された配送プロファイルに基づいています。
テスト目的のためにデフォルトの配送プロファイルがありますが、実際の配送プロファイルと設定を設定するには、アカウントマネージャーと連携する必要があります。