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

# 同時実行

> 同じタイプの複数のルールがどのように連携して動作するか、そしてチェックアウトプロセスにどのような影響を与えるかを学びます。

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/juTE6EZUL2Q?si=-TsKgOEEPNFae78A" title="BeSure 同時実行" style={{ border: 0 }} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## 概要

同じタイプのルールを複数作成することができます。同時実行 とは、同じタイプの複数のアクティブなルールが存在し、それらがチェックアウトページで同時にトリガーされたときに何が起こるかを表します。\
この記事では、これらのルールが一緒に適用された場合に何が起こるか、そしてその組み合わせ効果がチェックアウトプロセスにどのように影響するかを理解するのに役立ちます。

## 説明

同じタイプのルールを複数追加すると、それらはすべて独立してほぼ同時に実行されます。チェックアウト結果は、トリガーされたすべてのルールが生成する**操作**の組み合わせの効果です。**ショッピファイ**によれば、これらのルールの実行順序は決定的ではなく、任意の順序で実行される可能性があります。

<Note>
  各ルールは、同じタイプのルールによって生成された他のアクションと組み合わせることができるアクションのみを生成できます。\
  例えば、配送方法を非表示にするルールは作成できますが、配送方法を表示するルールは作成できません。\
  すべての配送方法非表示ルールは一緒に組み合わされ、非表示にするべき配送方法を決定します。
</Note>

動作のステップは次の通りです：

<Steps>
  <Step title="すべてのルールが実行開始">
    すべてのルールはほぼ同時に実行を開始し、自身の条件をチェックしてアクションを生成するかどうかを判断します。
  </Step>

  <Step title="ルールのアクションが生成される">
    ルールの条件が満たされた場合、そのアクションが生成されます。

    > 例えば、名前に「世界中」を含む配送方法を非表示にするルールを作成し、さらに名前に「国際配送」を含む配送方法を非表示にする別のルールを作成したとします。両方のルールが**操作**を生成し、一方は「世界中」を非表示にし、もう一方は「国際配送」を非表示にします。
  </Step>

  <Step title="アクションが組み合わされる">
    複数のルールが**操作**を生成した場合、それらの**操作**は組み合わされ、**チェックアウト**に送信されます。

    > 例えば、ルール1が「世界中」を含む配送方法を非表示にし、ルール2が「国際配送」を含む配送方法を非表示にする場合 → 「世界中」と「国際配送」を両方非表示にする組み合わせ操作が生成され、チェックアウトに送信されます。
  </Step>
</Steps>

## 使用例

顧客の郵便番号に基づいて**特定の配送方法を非表示**にしたい場合を考えます。\
例えば、以下のルールを作成するとします：

**ルール1** → 郵便番号が **2005** または **100** で始まる場合、`DHL Express Worldwide` 配送方法を非表示。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-1-example.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=4ad186c2533deed712df3ed00d0f3ac0" alt="Rule 1 Example" width="1087" height="682" data-path="images/advanced/concurrency/rule-1-example.webp" />
</Frame>

**ルール2** → 郵便番号が **2005** または **500** で始まる場合、`International Shipping` 配送方法を非表示。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-2-example.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=be32a38994b782dcce94fcca2901a5b7" alt="Rule 2 Example" width="1092" height="677" data-path="images/advanced/concurrency/rule-2-example.webp" />
</Frame>

### ケース1：1つのルールのみ適用される場合

* 顧客が **10045** の郵便番号を入力した場合、**ルール1** が適用されます。ルール2の条件は満たされないため、アクションは生成されません。

  → チェックアウトでは `DHL Express Worldwide` 配送方法が非表示になりますが、`International Shipping` などの他の方法は利用可能なままです。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-1-example-checkout.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=3ffa70f647895db2ab9a2e3ff3ba1210" alt="Rule 1 Example Checkout" width="654" height="386" data-path="images/advanced/concurrency/rule-1-example-checkout.webp" />
</Frame>

* 顧客が **50010** の郵便番号を入力した場合、**ルール2** が適用されます。\
  → チェックアウトでは `International Shipping` 配送方法が非表示になりますが、`DHL Express Worldwide` など他の方法は利用可能です。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-2-example-checkout.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=8255d9f2c7f5e14ac8f4a8a807ad595b" alt="Rule 2 Example Checkout" width="652" height="389" data-path="images/advanced/concurrency/rule-2-example-checkout.webp" />
</Frame>

### ケース2：両方のルールが同時に適用される場合

* 顧客が **2005** の郵便番号を入力した場合、両方のルールの条件が満たされるため、**ルール1とルール2の両方** が適用されます。
* つまり、**`DHL Express Worldwide` と `International Shipping`** の両方がチェックアウトで非表示になり、他の方法のみが利用可能になります。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/both-rule-same-zipcode-example-checkout.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=afed914cbc356e2c85a02956e5a3dbea" alt="Both Rule Same Zipcode Example Checkout" width="656" height="332" data-path="images/advanced/concurrency/both-rule-same-zipcode-example-checkout.webp" />
</Frame>

## ルールの競合

複数のルールが同時実行に安全でない場合、互いに競合し、チェックアウトページに問題を引き起こす可能性があります。\
問題を避けるために、ルールが互いに競合していないことを確認する必要があります。

<Warning>
  同じタイプの複数ルールを使用する際は注意が必要です。常にルールが互いに競合していないことを確認してください。
</Warning>

### 例：特定の配送方法のみ表示する場合

ルールが **特定の配送方法のみ表示** に設定されている場合、表示したいリスト以外の配送方法をすべて非表示にしようとします。

複数のルールが **特定の配送方法のみ表示** に設定されている場合、互いに競合し、すべての配送オプションが非表示になる可能性があります。

> **例:** ルール1 → 郵便番号が 2005 または 100 で始まる場合、`DHL Express Worldwide` のみ表示。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-1-zipcode.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=b12e73e2ac804a1e5c6645cedc3d47ee" alt="Rule 1 Zipcode" width="1090" height="686" data-path="images/advanced/concurrency/rule-1-zipcode.webp" />
</Frame>

> ルール2 → 郵便番号が 2005 または 500 で始まる場合、`International Shipping` のみ表示。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-2-zipcode.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=f41cacba2a5bb0fb30ec1ecbdc67361c" alt="Rule 2 Zipcode" width="1087" height="679" data-path="images/advanced/concurrency/rule-2-zipcode.webp" />
</Frame>

同じ郵便番号 **2005** に対して両方のルールが実行されると、ルール1は `DHL Express Worldwide` 以外の配送方法を非表示にしようとし、ルール2は `International Shipping` 以外の配送方法を非表示にしようとします。\
その結果、**配送方法が利用できない** エラーが発生します。両方のルールは互換性がないためです。

<Frame>
  <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/shipping-not-available-error.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=e0bbe08d61ecee1b2a2339db52ccbcc8" alt="Shipping Not Available Error" width="648" height="357" data-path="images/advanced/concurrency/shipping-not-available-error.webp" />
</Frame>

<Check>
  この問題を解決するには、共通の郵便番号を別に処理する第3のルールを作成する必要があります。
</Check>

このようにして、ルール1とルール2は互いに独立して処理されます。ルール3が共通の郵便番号を別途処理し、各ケースで顧客に提供される配送方法を確実に確認できます。

<Tip>
  一般的なヒントとして、**特定の配送方法のみ表示** を使用する場合は、サブ条件として **配送方法利用可能** 条件と組み合わせ、両方で同じ値を使用することをおすすめします。

  > **例:** ルール → 郵便番号が 2005 または 100 で始まる場合、`DHL Express Worldwide` のみ表示 *AND* サブ条件 **配送方法利用可能** に *DHL Express Worldwide* を設定。これにより、他の配送方法を非表示にする前に、チェックアウトで `DHL Express Worldwide` が確実に利用可能であることが保証されます。

  <Frame>
    <img src="https://mintcdn.com/storespark/RDyGA09NSLSSmL-r/images/advanced/concurrency/rule-1-solution.webp?fit=max&auto=format&n=RDyGA09NSLSSmL-r&q=85&s=73933ef8bd64ca5c69cbdcc25e01da8f" alt="Rule 1 Solution" width="967" height="792" data-path="images/advanced/concurrency/rule-1-solution.webp" />
  </Frame>

  このようにして、顧客に **「特定の配送方法のみ表示」** とする際に、実際にチェックアウトページで利用可能な配送方法であることを確認できます。
</Tip>
