---
title: "Commerce Engineの方針"
slug: "commerce-engine-policies"
abstract: "Commerce Engineのポリシーの概要と例、そしてそれらの設定方法。"
---
# Commerce Engineの方針

ポリシーを使ってCommerce Engineの設定を定義します。ポリシーとは、Commerce Engine内の特定の機能の挙動を制御する設定の集合体です。

各Commerceプラグインは、プラグインが提供する機能の挙動を定義する一連のポリシーを提供します。例えば、SearchプラグインはSearchインデックスに追加するエンティティの種類(SearchScopeポリシー)や、特定のエンティティに対してどのViewフィールドをインデックスするか(インデックス可能ポリシー)を規制するポリシーを提供します。Commerce Coreプラグインは、コマースエンティティのキャッシュ動作を決定するEntityCachingポリシーを提供します。

Commerce Engineポリシーの一覧および各ポリシーで利用可能なパラメータについては、このトピックの最後にある [「Commerce Engineポリシー一覧](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/commerce-engine-policies.html#UUID-41afa4ee-0d51-22f7-f5d2-99c8ac7cda32_section-5d124788c62d9-idm45375031791360 "List of Commerce Engine policies") 」セクションをご覧ください。

以下はエンティティキャッシュポリシーの一例です:

{
 "$type": "Sitecore.Commerce.Core.EntityCachingPolicy, Sitecore.Commerce.Core",
 "EntityFullName": "Sitecore.Commerce.Plugin.Content.ContentPath",
 "AllowCaching": true,
 "Priority": "Normal",
 "Expiration": 86400000,
 "HasNegativeCaching": true,
 "CacheName": "ContentPaths",
 "EntityIdPrefix": "Entity-ContentPath"
}

すべてのポリシーにはデフォルト設定があり、明示的に設定されていない限り、Commerce Engineはそのポリシーのデフォルト設定を使って、定義する機能の挙動を決定します。

ポリシー動作は、ポリシーセットファイル(複数環境でのグローバル構成の場合)に含めるか、個別の環境構成(JSON)ファイルにポリシーを含めることで明示的に設定できます。環境設定ファイルでポリシーを指定すると、そのローカル構成はデフォルトのポリシー動作を上書きします。

![An overview of how policies in plugin are exposed for configuration in policy sets and environment configuration files.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/101/sitecore-experience-commerce/images/XC-Policy-Config-Model.png)

## ポリシーセット

ポリシーセットとは、特定の構成を持つポリシーの集合を含むファイルです。複数の環境で使いたいポリシーをグループ化するためにポリシーセットを使うため、各環境のJSONファイルで同じポリシー構成を繰り返す必要がありません。

Sitecore XCソリューションには、Commerce Engine SDK.\*.zipパッケージのwwwroot\\data\\Environmentsフォルダ内に以下のデフォルトのポリシーセットファイルが含まれています。

-   Core.ControllerMethodRoles.PolicySet-1.0.0.json
-   Plugin.AccessByRoles.PolicySet-1.0.0.json
-   Plugin.Caching.PolicySet-1.0.0.json
-   Plugin.Catalog.PolicySet-1.0.0.json
-   Plugin.CatalogIndexing.PolicySet-1.0.0.json
-   Plugin.Content.PolicySet-1.0.0.json
-   Plugin.LocalizeEntities.PolicySet-1.0.0.json
-   Plugin.Minions.PolicySet-1.0.0.json
-   Plugin.Payments.Braintree.PolicySet-1.0.0.json
-   Plugin.Plugin.PolicySet-1.0.0.json
-   Plugin.Relationships.PolicySet-1.0.0.json
-   Plugin.Search.PolicySet-1.0.0.json
-   Plugin.Search.Solr.PolicySet-1.0.0.json (Solr検索プロバイダーの場合)
-   Plugin.SQL.PolicySet-1.0.0.json
-   Plugin.SQL.Sharding.PolicySet-1.0.0.json
-   Plugin.Validation.PolicySet-1.0.0.json
-   Plugin.Versioning.PolicySet-1.0.0.json
-   Plugin.ViewTemplateComposer.PolicySet-1.0.0.json
-   Plugin.Workflow.PolicySet-1.0.0.json

Commerce環境が特定のポリシーセットで定義された動作を継承するようにするためには、そのポリシーセットへの参照を環境のJSONファイルに含めなければなりません。

例えば、グローバルキャッシュポリシーセットで指定されたキャッシュ動作を特定の環境に適用するには、そのポリシーセットのエントリを環境JSONファイルのPoliciesコレクション(例: Plugin.Habitat.CommerceShops.1.0.0.json)に追加します。

{
 "$type": "Sitecore.Commerce.Core.PolicySetPolicy, Sitecore.Commerce.Core",
 "PolicySetId": "Entity-PolicySet-CachingPolicySet"
 },

> !注ポリシーセットファイルでポリシー設定を変更すると、そのポリシーセットファイルを参照する環境の挙動が変わります。

## ローカルポリシー構成

単一の環境に対してポリシー設定を定義するには、その環境の構成(JSON)ファイルにポリシーを追加します。

例えば、Cartsプラグインにはカートの動作を制御するポリシーが含まれています。CalculateCartポリシーの一つは、Commerce Engineがカート合計を再計算するかどうか(およびいつ)を決定します。プロモーション、ライン価格、輸送コスト、その他のカート操作もカート合計に影響を与えます。特にShops環境での最適化されたパフォーマンスのために、AlwaysCalculateパラメータはデフォルトで*false*に設定されています。

しかし、オーサリング環境では、ビジネスユーザーが新しいプロモーションをテストし、割引がカート全体にリアルタイムで正しく適用されるか確認できるように、AlwaysCalculateパラメータを有効にしたいかもしれません。

オーサリング環境のみでパラメータを有効にするには、Calculate Cartポリシーのインスタンスを環境JSONファイルのPoliciesコレクションに追加し(例: Plugin.Habitat.CommerceAuthoring.json)、AlwaysCalculateパラメータを *次のように*trueに設定します。

{
 "$type": "Sitecore.Commerce.Plugin.Carts.CalculateCartPolicy, Sitecore.Commerce.Plugin.Carts",
 "AlwaysCalculate": true
 },

Calculate Cartポリシーは環境のJSONファイルに明示的に含まれているため、Commerce Engineはその設定を使って、その特定の環境に対してCalculate Cartポリシーのデフォルト動作を上書きします。

> !注環境のJSONファイルに変更を加えた場合は、[Commerce Engineをブートストラップ](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/bootstrap-the-commerce-engine.html "Bootstrap the Commerce Engine") して変更をグローバルデータベースに伝播させる必要があります。

## Commerce Engineのポリシー一覧

異なるCommerce Engineサービスのポリシーは、それらのマイクロサービスを提供するプラグインで定義されています。以下の表は、マイクロサービスごとに利用可能なすべてのポリシーをまとめたものです。ポリシー欄のリンクをクリックすると、それらの特定のポリシーに関するより詳細なトピックに移動します。

Commerce プラグイン

方針

Sitecore。コマース。Core

[基本方針](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/core-policies.html)

Sitecore。Commerce.Plugin.Views。

[方針について](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/views-policies.html)

Sitecore。Commerce.プラグイン.注文

[オーダーポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/orders-policies.html)  
  
[遅延可用性ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/orders-delayedavailability-policies.html)

Sitecore。Commerce.プラグイン.リターン

[返品ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/returns-policies.html)

Sitecore。Commerce.Plugin.カート

[カートポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/cart-policies.html)

Sitecore。Commerce.プラグイン.顧客

[顧客ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/customer-policies.html)

Sitecore。Commerce.プラグイン.プライシング

[価格設定方針](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/pricing-policies.html)

Sitecore。Commerce.プラグイン.プロモーション

[プロモーション方針](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/promotions-policies.html)

Sitecore。Commerce.プラグイン.クーポン

[クーポン政策](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/coupons-policies.html)

Sitecore。Commerce.プラグイン.エンタイトルメント

[権利方針](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/entitlements-policies.html)

Sitecore。Commerce.Plugin.カタログ

[カタログおよび関係ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/catalog-and-relationship-policies.html)

Sitecore。Commerce.プラグイン.提供状況

[可用性ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/availability-policies.html)

Sitecore。Commerce.プラグイン.インベントリ  
  
Sitecore。Commerce.プラグイン。予約注文可能  
  
Sitecore。Commerce.プラグイン。バックオーダー可能

[在庫ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/inventory-policies.html)

Sitecore。Commerce.プラグイン.Payments。

[支払い方針](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/payment-policies.html)

Sitecore。Commerce.プラグイン.フルフィルメント

[履行ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/fulfillment-policies.html)

Sitecore。Commerce。プラグイン。Search

[Searchポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/search-policies.html)