---
title: "外部商取引システム(ECS)との連携"
slug: "working-with-an-external-commerce-system--ecs-"
abstract: ""
---
# 外部商取引システム(ECS)との連携

カート統合は4つの異なる方法で行えます。

-   カートは注文を提出した際にのみ外部コマースシステム(ECS)に渡されます。
    
    ERPシステムに対して統合を行う場合、ショッピングカート機能は通常提供されず、Commerce Connectなど他の場所で処理する必要があります。
    
    この場合、カート関連パイプラインにはCommerce Connectが提供するデフォルトのプロセッサのみが含まれます。これは非常に簡単に設定できます。統合作成には作業が不要で、注文サービス層にパイプラインを追加するだけで、注文作成の入力としてショッピングカートを受け取るだけです。
    
-   カートは変更ごとに(OnSave)後にのみ、ECSに保存されます。
    
    このオプションはデフォルトオプションであり、外部コマースシステムへの呼び出し回数を最小限に抑え、パフォーマンスを向上させます。しかし、Sitecoreでカートに加えられた更新、例えば商品がカートに追加された際のカートラインの変更など、外部コマースシステムが対応するのはより難しくなります。例えば:
    
    -   セールやバンドル商品の追加、または特定の商品の組み合わせで割引が必要な場合もあります。
    -   セールのために追加が必要な無料商品があってもいいかもしれません。
-   すべてのカートアクションはECSに転送されます(AddLine、UpdateCartなど)。このオプションは前述の高度なシナリオで最も柔軟性を提供しますが、外部コマースシステムへの呼び出しが増え、パフォーマンスが低下します。
    
-   カートデータはECSにのみ永続化されます。この場合、LoadCartFromEAState (LoadCart)、SaveCartToEAState (SaveCart)、FindCartInEAState& RunResumeCart(CreateOrResumeCart)、DeleteCartFromEaState (deleteCart)、BuildQuery + ExecuteQuery (GetCarts)の括弧内のパイプラインから、特定のプロセッサConnect Commerceを削除する必要があります。
    

## 構成

カートリッジサブシステムのすべての設定はSitecore.Commerce.Carts.configファイルで確認できます。ここでは、カートリッジシステムで使用されるエンティティ、パイプライン、リポジトリの詳細をすべて見つけることができます。

## エンティティ

Commerce Connectのデフォルトのカートエンティティは、すべてのコマースシステムで使用される基本的なカート情報の一部のみを前提としています。これらのエンティティを拡張する必要があると予想されます。

デフォルトのエンティティのいずれかを拡張するには、適切な型から継承する新しいクラスを作成し、<commerce Entities> Sitecore.Commerce.Carts.configファイル内の適切なエンティティをパッチします。

> !注詳細については、[Commerce Connect Developer Reference](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/commerce-connect-developer-reference-472883.html "Commerce Connect developer reference")をご覧ください。