> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revize.app/llms.txt
> Use this file to discover all available pages before exploring further.

# ルールエンジン

> Revizeのルールエンジンで、注文ごとに編集ポリシーを設定します。タグ、顧客、メタフィールド、金額、配送先などで注文を照合し、編集期限やフルフィルメント保留、モジュール非表示、タグ付けといったアクションを制御できます。Proプラン以上で利用できます。

<Note>
  ストア全体で1つの編集ウィンドウしかないと、どうしても妥協が必要になります。**ルールエンジン**を使えば、注文ごとに異なる編集ポリシーを設定できます。予約商品は数週間開いたままにし、在庫あり商品は数分でロックし、VIPには追加の時間を与え、リスクの高い配送先はロックダウンする、といった運用が可能です。注文単位で、細かく制御できます。
</Note>

<img src="https://mintcdn.com/revize/2ZAgm5LwWDuufjKV/images/features/rules-engine.png?fit=max&auto=format&n=2ZAgm5LwWDuufjKV&q=85&s=b2d1814133fd27e18676ccdfe374775f" alt="ルールエンジンのエディタ：条件と編集期限" style={{ borderRadius: "12px", width: "100%", boxShadow: "0 4px 14px rgba(0,0,0,0.08)" }} title="ルールを組み立てる：注文を照合する条件を設定し、その注文の編集期限を決めます" width="1536" height="1024" data-path="images/features/rules-engine.png" />

## ルールエンジンが役立つ理由

<CardGroup cols={2}>
  <Card title="注文ごとに、細かく制御" icon="sliders" color="#6366F1">
    ストア全体で1つのウィンドウを使う代わりに、注文の種類ごとに最適な編集ポリシーを設定できます。
  </Card>

  <Card title="フルフィルメントを保護" icon="shield-halved" color="#ec4899">
    在庫あり商品の編集を素早くロックしたり、注文が編集可能な間はフルフィルメントを保留したりして、変更途中で発送されるのを防ぎます。
  </Card>

  <Card title="適切な顧客を優遇" icon="star" color="#f59e0b">
    VIPや卸売アカウントに、他のお客様には開放しないまま、より長い編集ウィンドウを提供できます。
  </Card>

  <Card title="混在カタログに対応" icon="layer-group" color="#10b981">
    予約商品と在庫あり商品、サブスクリプションと単発購入、B2Bと小売。それぞれのセグメントに、独自の期限と動作を設定できます。
  </Card>
</CardGroup>

## ルールの仕組み

ルールは3つの要素で構成されます。いつ適用するか、編集をどのくらいの期間開いておくか、他に何を実行するかを定義します。

<Steps>
  <Step title="条件：ルールがいつ適用されるか">
    注文が満たすべき条件を選びます：タグ、顧客、メタフィールド、金額、配送先など。条件はAND／ORロジックで組み合わせられます。
  </Step>

  <Step title="編集期限：編集をどのくらい開いておくか">
    一致した注文の期限を選びます：ストアのデフォルト、固定の期間、スケジュールされたカットオフ、特定の時刻、メタフィールドの日付、またはフルフィルメントされるまで、から選択できます。
  </Step>

  <Step title="アクション：他に何が起こるか">
    任意で、フルフィルメントの保留、特定の編集モジュールの非表示、タグの付与、または一致した注文の編集を完全に無効化できます。
  </Step>
</Steps>

ルールは優先順位順に実行され、最初に一致したものが適用されます。どのルールにも一致しない注文は、[ストア全体の編集ウィンドウ](/ja/setup/edit-window)にフォールバックするため、移行作業なしで段階的にルールを導入できます。

## 条件

ルールをどの注文に適用するかを決めるために、条件を1つ以上追加します。条件が注文に対してtrueと評価されたとき、ルールは一致します。

| 条件            | 何を照合するか                     | 演算子                                 | 値の例                                           |
| ------------- | --------------------------- | ----------------------------------- | --------------------------------------------- |
| **注文タグ**      | 注文に付いたタグ                    | is、is not、contains、does not contain | `pre-order`、`in-stock`                        |
| **顧客タグ**      | 注文の顧客に付いたタグ                 | is、is not、contains、does not contain | `vip`、`wholesale`                             |
| **メタフィールド**   | namespaceとkeyで指定する注文メタフィールド | exists、equals                       | namespace `custom`、key `process_date`、値 `red` |
| **注文金額**      | 注文合計                        | is greater than、is less than        | `150`（ストア通貨での数値）                              |
| **配送先の国**     | 配送先の国                       | is                                  | `us`、`ca`、`gb` などのISOコード                      |
| **配送方法**      | チェックアウトで選択された配送方法           | is、is not、contains、does not contain | `Standard`、`Express`                          |
| **B2B注文**     | B2B企業が発注した注文                | is true                             | 値なし                                           |
| **サブスクリプション** | 定期購入の注文（Skio、Recharge等）     | is true                             | 値なし                                           |
| **店舗受け取り**    | ローカルピックアップの注文               | is true                             | 値なし                                           |
| **販売チャネル**    | 注文の販売チャネル                   | is                                  | `web`、`pos`、`draft_order`                     |
| **曜日**        | 特定の曜日に発注された注文               | is                                  | `Mon`、`Tue`、`Fri`                             |
| **時間帯**       | 特定の時間帯に発注された注文（ストアのタイムゾーン）  | between                             | `18:00` から `06:00`（24時間表記、日をまたぐ場合も可）          |

<Info>
  \*\*条件をグループ化しましょう。\*\*条件は **AND**（すべて一致）または **OR**（いずれかに一致）で組み合わせられます。より複雑なルールには条件グループを追加し、グループ同士の組み合わせ方も設定できるため、「（VIP顧客）OR（注文額が500超 AND 配送先がドイツ）」のような条件も表現できます。
</Info>

<Note>
  \*\*値は、意味のある範囲で自由入力です。\*\*タグ、配送方法、メタフィールドの値は入力したとおりに設定されます（タグと国はチップ形式）。国と販売チャネルの値は大文字小文字を区別せずに照合されます。商品やSKUの条件はありません。特定の商品を対象にしたい場合は、その注文にタグを付け（例えばShopify Flowで）、注文タグを条件として照合してください。
</Note>

## 編集期限

期限は、一致した注文がどのくらいの期間編集可能なままかを制御します。

| モード                | 内容                                                               | バッファ |
| ------------------ | ---------------------------------------------------------------- | ---- |
| **ストアのデフォルト**      | ストア全体の編集ウィンドウを使用します。ルールごとの上書きはありません。                             | なし   |
| **期間経過後**          | 注文が発注されてから一定時間、編集可能です。プリセット：15分、30分、1時間、24時間、48時間、またはカスタム値。      | なし   |
| **スケジュールされたカットオフ** | 1つ以上の曜日と時刻のカットオフ（例：毎週金曜17時）。                                     | あり   |
| **特定の時刻**          | 毎日、または選択した曜日での固定の時刻カットオフ。                                        | あり   |
| **メタフィールドの日付から**   | 注文メタフィールドから期限を読み取ります。Shopify Flowで注文ごとに発送日が設定される予約商品ショップで使用されます。 | あり   |
| **フルフィルメントされるまで**  | Shopifyが注文をフルフィルメント済みにするまで編集を開いたままにします。                          | なし   |

<Info>
  \*\*バッファ。\*\*スケジュールされたカットオフ、特定の時刻、メタフィールドの日付からの各期限モードは、バッファに対応しています。バッファとは、名目上の期限より前の一定期間、すでに編集を締め切っておく設定です。金曜17時カットオフに2時間のバッファを設定すると、編集は15時に締め切られます。つまり、15時01分から16時59分の間に発注された注文は、期限が短縮されるのではなく、その時点ですでに編集が締め切られた状態になります。バッファの値と、分・時間・日の単位を設定します。
</Info>

<Note>
  **メタフィールドに保持すべき値（メタフィールドの日付から）。**namespace（例：`custom`）とkey（例：`process_date`）を入力します。メタフィールド自体は日付またはdatetimeを保持している必要があります：Shopifyの**date**または**date and time**メタフィールド、ISO 8601形式のdatetime（`2026-07-15T17:00:00Z`）、単純な日付（`2026-07-15`）、Unixタイムスタンプのいずれも利用できます。タイムゾーンのない日付は、ストアのタイムゾーンで解釈されます。
</Note>

## アクション

アクションは、ルールに一致した注文に対して実行される、任意の副次的な処理です。それぞれ単純なオン／オフの切り替えです。

<img src="https://mintcdn.com/revize/2ZAgm5LwWDuufjKV/images/setup/rules-engine-actions.png?fit=max&auto=format&n=2ZAgm5LwWDuufjKV&q=85&s=4d3cce8f672c393cd029e6391c2941d5" alt="ルールエンジンのアクション：注文へのタグ付け、フルフィルメント保留、モジュール非表示、編集無効化" style={{ borderRadius: "12px", width: "100%", boxShadow: "0 4px 14px rgba(0,0,0,0.08)" }} title="一致した注文へのアクション：タグ付け、フルフィルメント保留、モジュール非表示、または編集の無効化" width="1536" height="1024" data-path="images/setup/rules-engine-actions.png" />

<AccordionGroup>
  <Accordion title="注文にタグを付ける" icon="tag">
    ルールが最初に一致したときではなく、編集期限が締め切られた時点で、注文に1つ以上のタグを付与します。後続の自動化に便利です。例えば、編集が締め切られると同時にタグを付けることで、Shopify Flowや3PLがその注文に対して処理を実行できます。
  </Accordion>

  <Accordion title="フルフィルメントを保留する" icon="hand">
    注文が編集可能な間、Shopifyのフルフィルメント保留をかけ、変更途中で発送されないようにします。保留は編集期限を過ぎると解除されます。
  </Accordion>

  <Accordion title="モジュールを非表示にする" icon="eye-slash">
    一致した注文について、顧客ポータルから特定の編集アクションを非表示にします。選択できる項目：商品の追加、商品の置き換え、バリエーションまたは数量の変更、配送先住所の編集、連絡先情報の編集、配送方法のアップグレード、税務インボイスのダウンロード、割引の適用、注文のキャンセル、カスタマーサポートへの連絡、希望配達日の追加、カスタムノートの追加。
  </Accordion>

  <Accordion title="編集を無効化する" icon="lock">
    一致した注文について、編集そのものを完全にオフにします。期限にかかわらず、ポータルの編集セクションは表示されません。
  </Accordion>
</AccordionGroup>

<Note>
  ルールを整合性のあるものに保つため、いくつかの自然な制約があります。**編集を無効化する**と**フルフィルメントを保留する**は同時にオンにできません（編集を無効化した注文には、保留する対象がないためです）。また、**フルフィルメントされるまで**の期限を選ぶと、フルフィルメントの保留と注文へのタグ付けはオフになります。これらは時間ベースのカットオフに対して動作するアクションだからです。
</Note>

## 優先順位とフォールバック

* \*\*最初に一致したものが優先されます。\*\*ルールは上から下へ、優先順位の順に実行されます。注文に対して条件が最初に一致したルールが適用され、それ以降のルールはスキップされます。
* \*\*ドラッグして並び替え。\*\*リストページでルールをドラッグすると、優先順位を変更できます。最も広範なルールより、より具体的なルールを上位に配置してください。
* \*\*ストアのデフォルトへのフォールバック。\*\*どのルールにも一致しない注文は、[ストア全体の編集ウィンドウ](/ja/setup/edit-window)を使用します。デフォルトに手を加えることなく、ルールを段階的に追加できます。

## ルールの評価方法

* \*\*注文が発注された時点で評価されます。\*\*Revizeは注文（タグ、顧客、メタフィールド、金額、配送先など）のスナップショットを取得し、一致するルールを選択します。
* \*\*Flowを考慮した動作。\*\*Shopify Flowは、チェックアウト直後にタグやメタフィールドを書き込むことがよくあります。Revizeはそうした遅れてくるデータを最大1分間待ってから再評価するため、そのような注文も正しいルールに一致します。
* **チェックアウト後も動的であり続ける2つの要素：**
  * \*\*メタフィールドの日付に基づく期限は、日付の変更に追従します。\*\*ルールがメタフィールドから期限を読み取っていて、その日付が変更された場合（例えば予約商品の発送日が後ろ倒しになった場合）、期限もそれに合わせて移動します。
  * \*\*タグベースのルールは、タグが変更されると再照合されます。\*\*ルールが注文タグまたは顧客タグで照合していて、それらのタグが後から（Shopify Flow、アプリ、またはチームによって）追加または削除された場合、Revizeは再評価を行い、別のルールを適用して期限を更新することがあります。
* \*\*顧客による編集は再評価のトリガーになりません。\*\*顧客が自分の注文（住所、商品、数量、金額）を編集しても、適用されるルールや期限が変わることはありません。再評価を駆動するのは、上記のルール入力（タグと、ルールが参照するメタフィールド）のみです。

## ルールの例

現在マーチャントが運用している5つの設定例です。

| シナリオ               | 条件                 | 編集期限                 | アクション  |
| ------------------ | ------------------ | -------------------- | ------ |
| **予約商品ショップ**       | 注文タグ `pre-order`   | フルフィルメントされるまで        | なし     |
| **VIPの差別化**        | 顧客タグ `vip`         | 期間経過後、48時間           | なし     |
| **B2Bの営業終了カットオフ**  | B2B注文              | スケジュールされたカットオフ、平日17時 | なし     |
| **高リスク配送先のロックダウン** | 配送先が `ru` または `by` | ストアのデフォルト            | 編集を無効化 |
| **速達対応の在庫ありSKU**   | 注文タグ `in-stock`    | 期間経過後、30分            | なし     |

## ルールを作成する

<Steps>
  <Step title="ルールエンジンを開く">
    Revizeアプリで、**Order Editing → Rules** に移動します。Proプラン以上では、ルール一覧が表示されます。初回はルールがない状態で、**Create rule** ボタンが表示されます。
  </Step>

  <Step title="ルール名を付けてステータスを設定">
    わかりやすい名前を付け（例：「VIP Customers」）、適用する準備ができたらステータスを **Active** に設定します。
  </Step>

  <Step title="条件を追加">
    **Add condition** をクリックして、どの注文に一致させるかを選びます。複雑なロジックには、条件を追加するか **Add condition group** を使い、AND／ORを設定します。
  </Step>

  <Step title="編集期限を選択">
    期限モードを選びます。**期間経過後**の場合は、プリセットを選ぶかカスタム値を設定します。スケジュール、特定の時刻、メタフィールドの日付モードの場合は、カットオフと任意のバッファを設定します。
  </Step>

  <Step title="アクションを設定">
    必要に応じて、注文へのタグ付け、フルフィルメントの保留、モジュールの非表示、編集の無効化をオンにします。
  </Step>

  <Step title="保存して優先順位を設定">
    ルールを保存します。一覧画面に戻り、最も具体的なルールが最も広範なルールより上に来るよう、ドラッグして優先順位を設定します。
  </Step>
</Steps>

<Tip>
  ルールは、具体的なものから一般的なものの順に並べましょう。「高リスク配送先のロックダウン」のような狭いルールは、「すべての注文を24時間編集可能にする」のような広いルールより上に配置し、具体的なポリシーが優先されるようにします。
</Tip>

***

## よくある質問

<AccordionGroup>
  <Accordion title="どのプランにルールエンジンが含まれますか？" icon="circle-question">
    ルールエンジンは**Proプラン以上**で利用できます。それ以外のプランでは、すべての注文にストア全体の編集ウィンドウが使用されます。
  </Accordion>

  <Accordion title="どのルールにも一致しない注文はどうなりますか？" icon="shuffle">
    [ストア全体の編集ウィンドウ](/ja/setup/edit-window)にフォールバックします。ルールは、一致した注文についてのみデフォルトを上書きするため、移行作業なしで段階的に導入できます。
  </Accordion>

  <Accordion title="注文が複数のルールに一致する場合、どちらが優先されますか？" icon="list-ol">
    最初に一致したものが優先されます。ルールは優先順位順（上から下）に評価され、条件が最初に一致したルールのみが適用されます。ルールをドラッグすると優先順位を変更できます。
  </Accordion>

  <Accordion title="顧客が注文を編集すると、ルールは再適用されますか？" icon="lock">
    いいえ。顧客が自分の注文（住所、商品、数量、金額）を編集しても、適用されるルールや期限は変わりません。Revizeが再評価を行うのは、ルールが依存する入力（注文タグ、顧客タグ、またはルールが参照するメタフィールド）が変化したときです。そのため、メタフィールドの日付に基づく期限は、その日付が変更されると移動し、タグベースのルールは注文のタグが変わると再照合されます。
  </Accordion>

  <Accordion title="ルールを作成する前に発注された注文にも適用されますか？" icon="clock-rotate-left">
    いいえ。ルールは、ルールが有効化された後に発注された新しい注文に適用されます。既存の注文は、すでに設定されていた期限のままです。
  </Accordion>

  <Accordion title="特定の商品やSKUを条件にできますか？" icon="box">
    直接的にはできません。商品やSKUの条件はありません。代わりに注文タグを条件にしてください（例えば、Shopify Flowでチェックアウト時に在庫あり商品にタグを付け、その `in-stock` という注文タグを条件にします）。
  </Accordion>

  <Accordion title="Shopify Flowによる遅延タグは反映されますか？" icon="bolt">
    はい。Revizeはチェックアウト後、Shopify Flowがタグやメタフィールドを書き込むまで最大1分間待ってから評価するため、そのデータに依存するルールも正しく一致します。
  </Accordion>
</AccordionGroup>

<Note>
  ルールエンジンは、ストア全体で1つだったウィンドウを、完全なポリシーエンジンへと変えます。あなたにとって重要な条件で注文を照合し、それぞれに適切な編集期限を設定し、保留、モジュール非表示、タグ付けを重ねて設定できます。すべての注文の挙動を、思いどおりに決められます。
</Note>

## 関連するRevizeの機能

* [編集ウィンドウ設定](/ja/setup/edit-window)：ルールが上書きするストア全体のデフォルトであり、一致しない注文のフォールバック先でもあります
* [注文編集の制限](/ja/setup/order-edit-restrictions)：顧客が編集できる内容に対するさらなる制限
* [顧客ポータル](/ja/features/customer-portal)：ルールが管理する編集を、顧客が実際に行う場所
