---
title: "ウィッシュリストサービスプロバイダー"
slug: "wish-lists-service-provider"
abstract: ""
---
# ウィッシュリストサービスプロバイダー

サービスプロバイダーは、Connectパイプラインとのやり取りを容易にするために設計されたラッパーオブジェクトです。プロバイダーはConnectパイプラインを呼び出す以外のロジックを実装しません。すべてのビジネスロジックはパイプラインプロセッサ内で実装されています。

プロバイダー内の各メソッドには対応するRequestオブジェクトとResultオブジェクトが使われています。例えば、GetCartsはGetCartsRequestオブジェクトを受け取り、GetCartsResultオブジェクトを返します。場合によっては、同じデータを返す際にレスポンスオブジェクトを再利用することもあります。

デフォルトリクエストおよび結果引数のカスタマイズ版は、オーバーロードされたジェネリックベースのメソッドを呼び出すことで使用できます。

ウィッシュリストサービスプロバイダーには、カートリッジデータとやり取りするための以下の手法が含まれています。

## CreateWishListメソッド

CreateWishListメソッドは外部コマースシステムでウィッシュリストを作成クエリし、新たに作成されたウィッシュリストオブジェクトを返すために使われます。

**名前:**

CreateWishList

**説明:**

指定された条件に合致するウィッシュリストを作成します。 CreateWishList パイプラインを呼び出します。

**使用方法:**

新しいウィッシュリストを作成するときに呼び出し。  
  
例としては以下のものがあります:  
  

-   特定の名前で特定の店舗でユーザーのためにウィッシュリストを作成すること。

**署名:**

CreateWishListResult CreateWishList(\[NotNull\]CreateWishListRequest request)

**入力:**

**UserId**\*\*–\*\*カートを作成するユーザーのID。

**WishListName**\*\*–\*\*ウィッシュリストに割り当てるフレンドリーな名前。

\*\*ショップネーム –\*\*ウィッシュリストが作成されているショップの名前。

**出力:**

**ウィッシュリスト** **– 新たに作成されたウィッシュリスト。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var request = new CreateWishListRequest("Bob", "Bobs wish list", "webShop");
var result = wishListService.CreateWishList(request);
## DeleteWishListメソッド

DeleteWishListメソッドは外部コマースシステム内のウィッシュリストをクエリ削除し、削除されたウィッシュリストオブジェクトを返すために使用されます。

**名前:**

DeleteWishList

**説明:**

指定された条件に合致するウィッシュリストを削除します。 DeleteWishList パイプラインを呼び出します。

**使用方法:**

ウィッシュリストを削除する必要があるときに電話をかけてくれます。  
  
例としては以下のものがあります:  
  

-   特定のウィッシュリストを削除してください。

**署名:**

DeleteWishListResult DeleteWishList(\[NotNull\]DeleteWishListRequestリクエスト)

**入力:**

**ウィッシュリスト**\*\*-\*\*eコマースシステムから削除するウィッシュリスト。

**出力:**

**ウィッシュリスト** **– 削除されたウィッシュリスト。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
var deleteRequest = new DeleteWishListRequest(wishList);
var result = wishListService.DeleteWishList(deleteRequest);
## EmailWishListsメソッド

EmailWishListsメソッドは、ユーザーがメールでウィッシュリストを送信しようとした際にページイベントを発生させるために使われます。

**名前:**

メールウィッシュリスト

**説明:**

指定された条件に基づいていくつかのウィッシュリストをメールで送信します。 emailWishLists パイプラインを呼び出します。

**使用方法:**

ウィッシュリストに電話してメールを送りました。

**署名:**

EmailWishListsResult EmailWishLists(\[NotNull\] EmailWishListsRequest request)

**入力:**

\*\*IEnumerable -\*\*メールで送るウィッシュリスト。

**出力:**

**IEnumerable<\*\*\*\*ウィッシュリスト\*\*\*\*>** –メールで送られたウィッシュリスト。

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product1",
 Price = new Entities.Prices.Price((decimal)22.99, "USD")
 },
 Quantity = 1
};
var wishList = new WishList
{
 CustomerId = "Bob",
 Name = "Bob's wish list",
 ShopName = "webShop",
 Lines = new List<WishListLine>() {line}.AsReadOnly()
};
var wishLists = new Collection<WishList> { wishList };
var request = new EmailWishListsRequest(wishLists);
var result = wishListService.EmailWishLists(request);
## GetWishListメソッド

GetWishListメソッドは、外部商取引システムに対してウィッシュリストデータを照会し、単一のウィッシュリストを返します。

**名前:**

GetWishList

**説明:**

指定された条件に合致するウィッシュリストを取得します。 GetWishList パイプラインを呼び出します。

**使用方法:**

ウィッシュリストが必要なときは電話します。  
  
例としては以下のものがあります:  
  

-   ウィッシュリストのIDとショップ名に基づいてユーザーのウィッシュリストを取得すること。

**署名:**

GetWishList結果GetWishList(\[NotNull\]GetWishListRequestリクエスト)

**入力:**

\*\*UserID –\*\*ウィッシュリストの所有者のID。

**WishListId**\*\*–\*\*検索中のウィッシュリストのID。

**ショップネーム –** ウィッシュリストを掲載している店舗名。

**出力:**

**ウィッシュリスト** **– 検索条件に基づいて見つけられるウィッシュリスト。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
var request = new GetWishListRequest("Bob", wishList.ExternalId, "webShop");
var result = wishListService.GetWishList(request);
Assert.AreEqual(wishList.Name, result.WishList.Name, "Names should be the same");
## GetWishListsメソッド

GetWishListsメソッドは外部商取引システムに対してウィッシュリストデータを照会し、コレクションのウィッシュリストを返します。

**名前:**

GetWishLists

**説明:**

指定された条件に合致するウィッシュリストを取得します。 GetWishLists パイプラインを呼び出します。

**使用方法:**

すべてのウィッシュリストが必要な時に呼び出し。

**署名:**

GetWishLists結果GetWishLists(\[NotNull\]GetWishListsRequest request)

**入力:**

\*\*UserID –\*\*検索対象のユーザーのID。

**ショップネーム –** ウィッシュリストを扱うストア。

**出力:**

**ReadOnlyCollection–** 見つけたすべてのウィッシュリストのWishListHeaderオブジェクト。

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var request = new GetWishListsRequest("Bob", "webShop");
var result = wishListService.GetWishLists(request);
## UpdateWishListメソッド

UpdateWishListメソッドは外部コマースシステム内のウィッシュリストデータを更新し、更新されたウィッシュリストオブジェクトを返すために使用されます。

**名前:**

更新ウィッシュリスト

**説明:**

指定されたウィッシュリストを更新します。 UpdateWishList パイプラインを呼び出します。

**使用方法:**

ウィッシュリストの更新が必要なときは電話で連絡します。

**署名:**

GetCarts結果GetCarts(GetCartsRequest request)

**入力:**

**ウィッシュリスト**\*\*–\*\*ウィッシュリストの更新。

**出力:**

**ウィッシュリスト** **– 更新されたウィッシュリスト。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
wishList.IsFavorite = true;
var request = new UpdateWishListRequest(wishList);
var result = wishListService.UpdateWishList(request);
## AddLinesToWishListメソッド

AddLinesToWishListメソッドは、外部商取引システム内のウィッシュリストに項目を追加し、更新されたウィッシュリストと追加された項目を返すために使われます。

**名前:**

AddLinesToWishList

**説明:**

指定された項目をウィッシュリストに追加します。 AddLinesToWishList パイプラインを呼び出します。

**使用方法:**

ウィッシュリストに追加する必要がある項目があるときに呼び出します。

**署名:**

AddLinesToWishList結果 AddLinesToWishList(\[NotNull\]AddLinesToWishListRequestリクエスト)

**入力:**

**ウィッシュリスト**\*\*-\*\*行項目を追加するウィッシュリスト。

\**IEnumerable*\*\*\*–\*\* ウィッシュリストに加える項目。

**出力:**

**ウィッシュリスト** **– 更新されたウィッシュリストオブジェクト。**  
  
**ReadOnlyCollection** - ウィッシュリストに追加された行項目。

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
var line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product1",
 Price = new Entities.Prices.Price((decimal)22.99, "USD")
 },
 Quantity = 1
};
var lines = new List<WishListLine> {line}.AsReadOnly();
var request = new AddLinesToWishListRequest(wishList, lines);
var result = wishListService.AddLinesToWishList(request);
## UpdateWishListLinesメソッド

UpdateWishListLinesメソッドは、外部商取引システム内のウィッシュリストの項目を更新し、更新されたウィッシュリストや追加された項目を返すために使用されます。

**名前:**

更新ウィッシュリストライン

**説明:**

ウィッシュリストの特定の項目を更新します。 UpdateWishListLines パイプラインを呼び出します。

**使用方法:**

ウィッシュリストの項目を更新する必要があるときに電話をかけます。

**署名:**

UpdateWishListLines結果 UpdateWishListLines(\[NotNull\]UpdateWishListLinesRequest request)

**入力:**

\*\*ウィッシュリスト –\*\*更新が必要な項目を含むウィッシュリスト。

\**IEnumerable*\*\*\*–\*\* 更新すべきウィッシュリスト項目。

**出力:**

\**ウィッシュリスト –\**更新されたウィッシュリスト。  
  
**ReadOnlyCollection**\*–\* 更新されたウィッシュリストのアイテム。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
var line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product1",
 Price = new Entities.Prices.Price((decimal)22.99, "USD")
 },
 Quantity = 1
};
var lines = new List<WishListLine> { line };
var addLinesRequest = new AddLinesToWishListRequest(wishList, lines);
wishList = wishListService.AddLinesToWishList(addLinesRequest).WishList;
line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product2",
 Price = new Entities.Prices.Price((decimal)33.77, "USD")
 },
 Quantity = 2
};
lines = wishList.Lines.ToList();
lines.Add(line);
var request = new UpdateWishListLinesRequest(wishList, lines);
var result = wishListService.UpdateWishListLines(request);
## RemoveWishListLinesメソッド

RemoveWishListLinesメソッドは、ウィッシュリストから特定の項目を削除し、更新されたウィッシュリストを返すために使われます。

**名前:**

DeleteWishListLines(希望リストライン)を削除してください

**説明:**

指定された条件に合致するウィッシュリストの項目を削除します。 RemoveWishListLines パイプラインを呼び出します。

**使用方法:**

ウィッシュリストから削除が必要な項目に呼ばれます。

**署名:**

WishListLinesを削除結果 WishListLines(\[NotNull\]WishListLinesRequestリクエストを除去)

**入力:**

**ウィッシュリスト**\*\*–\*\*アイテムの削除を求めるウィッシュリスト。

\**IEnumerable*\*\*\*–\*\*削除すべき行項目のIDです。

**出力:**

\**ウィッシュリスト –\**項目を削除したウィッシュリスト。  
  
**ReadOnlyCollection**\*–\* ウィッシュリストから削除された項目。**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var createRequest = new CreateWishListRequest("Bob", "Bob's wish list", "webShop");
var wishList = wishListService.CreateWishList(createRequest).WishList;
var line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product1",
 Price = new Entities.Prices.Price((decimal)22.99, "USD")
 },
 Quantity = 1
};
var line2 = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product2",
 Price = new Entities.Prices.Price((decimal)33.77, "USD")
 },
 Quantity = 2
};
var lines = new List<WishListLine> { line, line2 };
var addLinesRequest = new AddLinesToWishListRequest(wishList, lines);
wishList = wishListService.AddLinesToWishList(addLinesRequest).WishList;
var request = new RemoveWishListLinesRequest(wishList, new List<string> { wishList.Lines0.ExternalId });
var result = wishListService.RemoveWishListLines(request);
## PrintWishListメソッド

PrintWishListメソッドは、ユーザーがウィッシュリストを印刷しようとした際にページイベントを発生させるために使われます。

**名前:**

プリントウィッシュリスト

**説明:**

指定された条件に合致するウィッシュリストを取得します。 PrintWishList パイプラインを呼び出します。

**使用方法:**

印刷のためにウィッシュリストのコピーが必要な時に電話します。

**署名:**

PrintWishListResult PrintWishList(\[NotNull\] PrintWishListRequest request)

**入力:**

**ウィッシュリスト**\*\*–\*\*印刷に必要なウィッシュリスト。

**出力:**

**ウィッシュリスト** **– 印刷のウィッシュリスト**

**SystemMessages -** 外部システムからのメッセージの収集。

使用例:

var wishListService = new WishListServiceProvider();
var line = new WishListLine
{
 Product = new Entities.Carts.CartProduct
 {
 ProductId = "Product1",
 Price = new Entities.Prices.Price((decimal)22.99, "USD")
 },
 Quantity = 1
};
var wishList = new WishList
{
 CustomerId = "Bob",
 Name = "Bob's wish list",
 ShopName = "webShop",
 Lines = new List<WishListLine>() { line }.AsReadOnly()
};
var request = new PrintWishListRequest(wishList);
var result = wishListService.PrintWishList(request);