重量による制限
高度なルールを使用して、配送サービスレベルの重量制限を設定します。これは、rate シートを介してカスタムサービスを設定し、特定の重量制限がある場合に特に有用です。Zonos は接続された配送サービスの重量制限を知っていますが、rate シートを介して設定したカスタムサービスの重量制限は知りません。カスタムキャリアに重量制限を確認し、高度なルールを通じて適用してください。
例: 4.4ポンド未満の注文には配送オプションを表示しない
DHLパケットインターナショナルをrate シートを介して配送オプションとして追加したと想像してください。この配送サービスは、4.4ポンド未満の注文には利用できません。注文が4.4ポンド未満の場合、DHLパケットインターナショナルを配送オプションとして表示しないようにrestrict する必要があります。そのためには、ruleCreate
mutationに変数として次の入力を入力します。
Variables
{
"input": {
"name": "Restrict shipping under 4.4 lbs",
"description": "Turn off shipping service level when the order weighs less than 4.4 lbs",
"condition": ":weight: < 4.4 pound and :service_level_name: any_contains \"DHL Packet International\"",
"action": "enabled = false",
"context": "SHIPMENT_RATING_BUFFER"
}
}
住所による制限
高度なルールを使用すると、配送サービスレベルに対する住所制限を作成することもできます。住所制限を使用して、以下のことができます。
- rate シートにサービス制限を適用する—接続された配送サービスは、特定の住所に対してサービスが利用可能かどうかをキャリアに直接問い合わせますが、rate シートを介して設定されたサービスは、常に目的地の国に関連付けられた配送rateを返します。特定の郵便番号(しばしば遠隔地)に対してサービスが利用できない場合、その郵便番号に対してその配送オプションを許可しないルールを作成します。
- 選択したユーザーにのみ無料配送を表示する—特定の買い物客、例えばインフルエンサーや卸売業者に無料配送を提供したいと思ったことはありませんか?住所に基づいて配送オプションを制限することで、無料配送がターゲットにしたい個人にのみ独占的に利用可能であることを保証できます。
例:特定の郵便番号に対して配送を利用不可にする
「エクスプレス」というカスタム配送オプションを追加したとします。このオプションは、カナダの遠隔郵便番号(例:X0A 0A0)には配送しません。次の入力をruleCreate
mutationの変数として入力します。
変数
{
"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"
}
}
例: 特定の顧客にのみ無料配送を提供する
あなたには、頻繁に購入してくれるインフルエンサーがいて、彼らに無料配送を提供したいと考えていますが、他の顧客には無料配送を提供したくありません。あなたは配送設定で無料配送ルールを設定しており、次のステップはそれをインフルエンサーの住所にのみrestrictすることです。以下の入力をruleCreate
mutationの変数として入力してください。
同じ住所の1行目が複数の地域に存在する可能性があるため、郵便番号と組み合わせることが賢明です。ただし、異なる郵便番号で複数の住所を許可したい場合はお知らせください。その機能の構築を優先的に行います。
変数
{
"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"
}
}
商品の価値による
高価な商品は、国際的に発送する際に追加の考慮が必要な場合があります。高度なルールを使用して、迅速な発送オプションを強制し、無料発送オプションを許可しEEIを提出しないようにカートをrestrictします。
- 発送速度—通常、輸送中の問題のリスクを減らすために、迅速に発送されることを確保したいと思います。高価な商品と低価な商品を両方販売している場合、注文の価値に基づいて異なる発送オプションを提供したいかもしれません。
- 無料発送—あるいは、注文が特定の金額を超えた場合にのみ無料発送オプションを表示したいかもしれません。無料発送ルールを設定する際に、すでに無料発送のための価値条件を組み込むことができます。ただし、無料発送が適用される場合に他のすべての発送オプションを非表示にしたい場合は、そのためのルールを作成してください。
- EEIの提出を避ける—手間を避けるためにEEIの提出を避けたい場合、カートが2500 USDを超えるときに発送オプションを許可しないことを決定するかもしれません。カナダではEEIが必要ないため、高価な注文をカナダに許可するルールを書くことができます。
例:無料発送以外のすべてのオプションを削除
150 USDを超える注文に対して無料発送オプションを作成したとしましょう。このサービスが利用可能なときに、他の発送オプション(エクスプレスおよびプライオリティ)を非表示にしたいと思います。次の入力をruleCreate
mutationの変数として入力してください。
変数
{
"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を超えるすべての配送オプションを無効にする
あなたがエクスプレスおよびプライオリティサービスを提供していると仮定しますが、2500 USDを超える注文に対しては、checkoutでそれらをオプションとして提供したくありません。ただし、カナダへの2500 USDを超える注文は許可したいと考えています。カナダではEEIの提出が必要ないためです。次の入力をruleCreate
mutationの変数として入力してください。
EEIは、同じHSコードを持つ商品の価値が2500 USDを超える場合に一般的に必要です(必ずしも注文が2500 USDを超える場合ではありません。たとえば、2500 USDの注文があり、各1500 USDの異なる2つのアイテムがある場合など)。このことを考慮すると、以下のルールはEEIと完全には一致しませんが、必要な場合にrestrict配送オプションを制限します。また、EEIが必要なかった場合(たとえば、各1500 USDの異なる2つのアイテムの場合)にもrestrict配送オプションを制限する可能性があります。
変数
{
"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別
注意: SKUによる国の制限はカタログで管理する必要があります。高度なルールは、カタログが不十分な場合(配送サービスレベルに特有の条件など)にのみ使用するべきです。
特定のアイテムに特定の配送オプションのみを使用させたい場合、そのSKUがカートにあるときに他のすべての配送オプションを無効にする高度なルールを作成します。
例: Restrict SKUがエクスプレス配送を使用しないようにする
SKU 123456のアイテムをエクスプレス配送サービスレベルで発送したくないとします。次の入力を変数としてruleCreate
ミューテーションに入力します。
変数
{
"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
ミューテーションを使用します。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で配送オプションが利用可能になるタイミングを制御します。
GraphQL
高度なルールは、重量、配送先、商品の価値、SKUなどの要素を考慮して、配送の選択肢を細かく調整するためのツールを提供します。適切な状況下で配送サービスを利用可能にし、不要な場合には非表示にするルールを作成します。