---
title: "ショッピングカートサービス層"
slug: "the-shopping-cart-service-layer"
abstract: "ショッピングカートサービス層の概要、レンダリングルール条件、Commerceマーケティングオートメーションキャンペーン。"
---
# ショッピングカートサービス層

Commerce Connectのコアフレームワークには、いくつかの [抽象的なサービスレイヤー](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/commerce-connect-abstract-service-layers.html "Commerce Connect abstract service layers")が含まれています。ショッピングカートサービスレイヤーは最も重要なサービスレイヤーの一つです。

## ショッピングカートサービス層APIにおける操作

以下の表は、ショッピングカートサービス層に含まれる操作について説明します。

運用の種類

運用

カートリッジ上での作成、読み取り、更新、削除(CRUD)、マージ操作

CreateOrResumeCart\*  
  
DeleteCart\* – カートが注文に変わる場合はコールする必要はありません  
  
UpdateCart\*  
  
SaveCart – 通常は明示的に呼び出す必要はなく、 UpdateCart を呼んだりカート回線を更新したりすることで間接的に行われます  
  
LoadCart  
  
GetCarts – 顧客一人につき複数のカートに対応しています  
  
MergeCart

カートラインにおけるCRUD運行

AddCartLines\*  
  
UpdateCartLines\*  
  
RemoveCartLines\*

関連当事者に対するCRUD作業、例えば住所情報や連絡先情報

AddParties  
  
UpdateParties  
  
RemoveParties

関連する船舶情報に関する操作の追加および削除

AddShippingInfo  
  
RemoveShippingInfo

関連する支払い情報に対する操作の追加および削除

AddPaymentInfo  
  
RemovePaymentInfo

カートのロックとアンロック

LockCart\*  
  
UnlockCart\*

> !注アスタリスク(\*)でマークされたすべての操作は、連絡先のやり取りを慎重に追跡できる一意のページイベントをトリガーし、これらの操作を報告・対応することを可能にします。ほとんどのイベントにはカートIDや追加商品に関する情報が含まれています。
> 
> ページイベントはCommerce Connectをインストールするとインストールされます。

## ユーザーケースのシナリオ

以下は基本的なショッピングカートのユーザーケースを示しています:

![94E651151FCE47DFAE631D0BD4606C96.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/100/sitecore-experience-commerce/images/94E651151FCE47DFAE631D0BD4606C96.png)

ショッピングカートAPIの典型的なストアフロントでの利用例は以下の通りです:

-   連絡先が初めてウェブショップに到着すると、 CreateOrResumeCart メソッドが呼び出されてカートを取り出し、ミニカートでカートの中身と合計を表示します。
-   もし連絡先が以前にプロフィールを登録し、過去の訪問でカートを残していれば、ログイン時に MergeCart メソッドが呼び出されます。
-   コンタクトが商品をショッピングカートに追加し始めると、 AddCartLines 方法と呼ばれます。
-   チェックアウトの過程で:
    -   配送先や請求先住所は AddParties 方式で追加されます。
    -   AddShippingInfo方式で、配送情報の方法やライン・当事者への言及が追加されます。
    -   支払い方法の指定と行の参照情報は AddPaymentInfo 方式で追加されます。
-   支払い情報の処理やクレジットカードの予約中は、カートは LockCart 方式でロックされます。

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

## カートベースのレンダリングルール条件

Commerce Connectには、カート内の商品数、カート合計、商品数に基づいて接触体験をパーソナライズするための3つのレンダリングルール条件が含まれています。カートデータはマーケティングプラットフォームではなく、外部のコマースシステムからリアルタイムで読み込まれます。条件はルール内で複数の異なる方法で組み合わせることができます。例えば:

-   商品を含む場合:もし\[ショッピングカートに商品Aが入っている\]ならば...
-   カート合計:もし\[ショッピングカートの合計が> Y\]であれば...
-   アイテム数量:もし\[ショッピングカートの総商品数 > N\]ならば...
-   上記の組み合わせ:もし\[ショッピングカートに商品AがN個以上、カートの総数がY >\]であれば...

## 放棄されたカートマーケティングオートメーションキャンペーン

Commerce Connect 9.0.2以降には、デフォルトの[Storefront放棄カートマーケティングオートメーションキャンペーン](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/working-with-commerce-marketing-automation-campaigns.html "Working with Commerce marketing automation campaigns") があり、ショッピングカートを追跡したり、カートを放棄した連絡先にメールを送信したりできます。

以下のコードスニペットは、Connect APIが放置されたカートマーケティング自動化プランをどのように扱うかの一例です。

var automationProvider = (IAutomationProvider)Factory.CreateObject("automationProvider", true);
 var shopName = <sitename>
 var template = "Abandoned Cart";
 automationProvider.CreateFromTemplate(shopName, template);
## ニューオーダープレイズマーケティングオートメーションキャンペーン

以下のコードスニペットは、Connect APIが新しい注文付けマーケティング自動化プランをどのように扱うかの一例です。

var automationProvider = (IAutomationProvider)Factory.CreateObject("automationProvider", true);
 var shopName = <sitename>
 var template = "New Order Placed";
 automationProvider.CreateFromTemplate(shopName, template);