weight別
Advanced rulesを使用して、shipping service levelsのweight制限を設定できます。rate sheet経由でcustom serviceを設定し、特定のweight制限がある場合に特に有用です。Zonosは接続済みshipping servicesのweight制限は把握していますが、rate sheet経由で設定したcustom servicesのweight制限は把握していません。custom carrierにweight制限を確認し、advanced ruleで適用してください。
例: 4.4 lbs未満の注文でshipping optionを表示しない
rate sheet経由でDHL Packet Internationalをshipping optionとして追加したとします。このshipping serviceは4.4 lbs未満の注文では利用できません。注文weightが4.4 lbs未満の場合にDHL Packet Internationalがshipping optionとして表示されないよう制限する必要があります。そのためには、ruleCreate mutationのvariablesとして以下の入力を指定します。
{住所別
Advanced rulesを使用して、shipping service levelsの住所制限も作成できます。住所制限は以下に使用できます:
- rate sheetsへのservice制限の適用—接続済みshipping servicesは、特定の住所でserviceが利用可能かどうかをcarrierに直接問い合わせますが、rate sheet経由で設定したservicesは、常に配送先countryに関連付けられたshipping rateを返します。serviceが特定のpostal codes(多くは遠隔地)で利用できない場合、そのpostal codeでは当該shipping optionを許可しないルールを作成してください。
- 選択したユーザーへのみfree shippingを表示—インフルエンサーや卸売業者など、特定のshopperにfree shippingを提供したいが、他のshopperには提供したくない場合があります。住所に基づいてshipping optionsを制限することで、free shippingを対象とする個人のみが利用できるようにできます。
例: 特定のpostal codesへの配送を不可にする
カナダのX0A 0A0のような遠隔地のpostal codesには配送しないcustom shipping option「Express」を追加したとします。ruleCreate mutationのvariablesとして以下の入力を指定します。
{ "input": { "name": "Restrict shipping", "description": "Do not allow rate sheet to be a shipping option when the postal code is X0A 0A0", "condition": ":service_level_name: any_contains \"Express\" and :ship_to_postal_code: == 'X0A 0A0' and :ship_to_country: == CA", "action": "enabled = false", "context": "SHIPMENT_RATING_BUFFER" }}例: 選択したshopperにのみfree shippingを提供する
よく購入してくれるインフルエンサーにfree shippingを提供したいが、他のshopperには提供したくないとします。shipping settingsでfree shipping ruleを設定済みで、次のステップはインフルエンサーの住所にのみ制限することです。ruleCreate mutationのvariablesとして以下の入力を指定します。
同じaddress line 1は複数の地域に存在する可能性があるため、postal codeと組み合わせるのが賢明です。ただし、異なるpostal codesの複数住所を許可したい場合はうまく機能しません。複数住所を許可したい場合は、お知らせください。この機能の開発を優先できます。
{ "input": { "name": "Restrict free shipping", "description": "Turn off free shipping when the address is anywhere but 123 Main St in the postal code 12345.", "condition": ":service_level_name: == \"Free shipping\" and :ship_to_line_1: none_matches '123 Main St' and :ship_to_postal_code: none_matches '12345'", "context": "SHIPMENT_RATING_BUFFER" }}item value別
高額商品は国際配送時に追加の考慮が必要になることが多くあります。Advanced rulesを使用して、より速いshipping optionsを強制したり、free shipping optionsを許可したり、EEIの提出を避けるためにcartを制限したりできます。
- Shipping speed—transit中の問題リスクを減らすため、迅速に発送したい場合が多くあります。高額商品と低額商品の両方を販売している場合、注文valueに基づいて異なるshipping optionsを提供したい場合があります。
- Free shipping—または、注文が一定金額を超える場合にのみfree shipping optionを表示したい場合があります。free shipping ruleの設定時にvalue条件を組み込むことは既に可能です。ただし、free shippingが適用される場合に他のすべてのshipping optionsを非表示にしたい場合は、ルールを作成してください。
- EEI提出の回避—手間を避けるためEEI提出を避けたい場合、cartが2500 USDを超えるとshipping optionsを許可しないことを決定する場合があります。カナダではEEIが不要なため、高額注文でもカナダ向けは許可するルールを記述できます。
例: Free Shipping以外のすべてのoptionを削除する
150 USD超の注文向けにfree shipping optionを作成したとします。このserviceが利用可能な場合に他のshipping options(ExpressとPriority)を非表示にしたい場合、ruleCreate mutationのvariablesとして以下の入力を指定します。
{ "input": { "name": "Only show free shipping over 150 USD", "description": "Turn off all other shipping service levels when the order value is more than 150 USD", "condition": ":items_total: > 150 USD and :service_level_name: ne \"Free Shipping\"", "action": "enabled = false", "context": "SHIPMENT_RATING_BUFFER" }}例: 2500 USD超のすべてのshipping optionsをオフにする
ExpressとPriority servicesを提供しているが、2500 USD超の注文ではCheckoutでoptionにしたくないとします。カナダではEEI filingが不要なため、2500 USD超の注文もカナダ向けは許可したい場合、ruleCreate mutationのvariablesとして以下の入力を指定します。
EEIは通常、同じHS codeのitemsのvalueが2500 USDを超える場合に必要です(注文が2500 USDを超える場合に必ずしも必要ではありません。2500 USDの注文に1500 USDずつの2つの異なるitemsがある場合など)。この点を踏まえると、以下のルールはEEIと完全には一致しませんが、必要な場合にshipping optionsを制限します。EEIが不要だった場合(1500 USDずつの2つの異なるitemsなど)にもshipping optionsを制限する場合があります。
{ "input": { "name": "Restrict all shipping over 2500 USD", "description": "Turn off all shipping service levels when the order value is more than 2500 USD, except to Canada", "condition": ":amount: > 2500 USD and :service_level: any_contains \"Express,Priority\" and :ship_to_country: ne CA", "action": "enabled = false", "context": "SHIPMENT_RATING_BUFFER" }}例: SKUのExpress shipping利用を制限する
SKU 123456のitemをshipping service level Expressで発送したくないとします。ruleCreate mutationのvariablesとして以下の入力を指定します。
{ "input": { "name": "Restrict shipping for items", "description": "Turn off shipping service level when certain item is in the cart", "condition": ":items.sku: any_matches '123456' and :service_level: any_contains \"Express\"", "action": "enabled = false", "context": "SHIPMENT_RATING_BUFFER" }}カスタマイズ
本ドキュメントの例は、特定のシナリオに合わせて変更できます。actionsとconditionsを調整する際は、ルールを実装する前に正しく記述されていることを確認してください。validate mutationを使用して、正しい構文が使用されていることを確認します。actionとconditionをexpressionとして個別に入力し、正しいruleContextが使用されていることを確認してください。
mutation validate { validateExpression( input: { expression: ":items_total: > 150 USD and :service_level_name: ne \"Free Shipping\"" ruleContext: "SHIPMENT_RATING_BUFFER" } )}
配送料金ルール
Checkoutでshipping optionsが表示される条件を制御します。
GraphQL
Advanced rulesでは、weight、配送先、item value、SKUなどの要因を考慮してshipping choicesを細かく調整できます。適切な状況でのみshipping servicesを表示し、不要な場合は非表示にするルールを作成してください。