---
title: "カスタマーサービス方法"
slug: "customer-service-methods"
abstract: ""
---
# カスタマーサービス方法

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

各メソッドに対応するRequestオブジェクトとResultオブジェクトが返されます。例えば、CreateUserはCreateUserRequestオブジェクトを受け取り、CreateUserResultオブジェクトを返します。

カスタマーサービスプロバイダーには、顧客およびユーザーデータとやり取りするための以下の方法が含まれています。

## CreateUserメソッド

**名前:**

CreateUser

**説明:**

ユーザーが帰国時に再認証できるユーザーアカウントを作成します。  
  
デフォルトでは、訪問者が有効なリクエストであることを確認し、 ActivateUserAccount が呼ばれるまでアカウントは無効化されます。  
  
CreateUserパイプラインに電話する。

**使用方法:**

訪問者がアカウント登録をしているときにSitecoreから電話をかけてきます。チェックアウト時か、単純サインアップを通じてか、

**署名:**

CreateUserResult CreateUser(CreateUserRequest request)

**入力:**

**ユーザー名 – string。必須**  
  
新しいユーザーのユーザー名です。

**メール – 文字列。必須**  
  
新しいユーザーのメールアドレスです。

**パスワード – 文字列。必須**  
  
新しいユーザーのパスワードです。

**ショップ – 必須**  
  
CommerceUserオブジェクトのインスタンスが解析されます。必須フィールド: **ユーザー名**、 **メール**、 **ショップ**。

**出力:**

**ユーザー –** ユーザーオブジェクトのインスタンスが返されます。ユーザーオブジェクトは外部商取引システムによって外部ID値を提供することで更新されます。

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

使用例:

var customerService = new CustomerServiceProvider();
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var result = customerService.CreateUser(request);
## UpdateUserメソッド

**名前:**

アップデートユーザー

**説明:**

既存のユーザーアカウントを更新します。 UpdateUser パイプラインを呼び出します。

**使用方法:**

訪問者がアカウントに保存されている情報を更新したいときにSitecoreから呼び出します。

**署名:**

UpdateUserResult UpdateUser(UpdateUserRequest request)

**入力:**

\*\*CommerceUser –\*\* 修正されたCommerceUserオブジェクトのインスタンスが渡されます。

**出力:**

**ユーザー –** ユーザーオブジェクトのインスタンスが返されます。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
user.FirstName = "John";
// update the user
var updateRequest = new UpdateUserRequest(user);
var result = customerService.UpdateUser(updateRequest);
## DeleteUserメソッド

**名前:**

DeleteUser

**説明:**

ユーザーアカウントを削除します。  
  
DeleteUserパイプラインに電話する。

**使用方法:**

ショップのオーナーがアカウントを削除したいときにSitecoreから電話をかけてくる。  
  
アカウントが削除されるか、単に無効化されるかはビジネス上の解決策です。

**署名:**

DeleteUserResult DeleteUser(DeleteUserRequest request)

**入力:**

\*\*CommerceUser –\*\* CommerceUser オブジェクトのインスタンスが解析されます

**出力:**

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// delete the user
var deleteRequest = new DeleteUserRequest(user);
var result = customerService.DeleteUser(deleteRequest);
## DisableUserメソッド

**名前:**

DisableUser

**説明:**

ユーザーアカウントを無効化する。 DisableUser パイプラインを呼び出す。

**使用方法:**

ユーザーアカウントが無効になるべき時にSitecoreから呼び出しました。

**署名:**

DisableUserResult DisableUser(DisableUserRequest request)

**入力:**

**CommerceUser – 必須**  
  
ユーザーオブジェクトのインスタンスが解析されます。

**コメント – 任意**  
  
ユーザーアカウントが無効化された理由を説明するオプションの文字列です。説明としてページイベントに記載されます。

**出力:**

\*\*CommerceUser –\*\*無効化されたCommerceUserエンティティ。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// disable the user
var disableRequest = new DisableUserRequest(user);
var disableResult = customerService.DisableUser(disableRequest);
// enable the user
var enableRequest = new EnableUserRequest(user);
var enableResult = customerService.EnableUser(enableRequest);
## EnableUserメソッド

**名前:**

EnableUser

**説明:**

ユーザーアカウントを有効にします。 EnableUser パイプラインを呼び出します。  
  
ユーザーアカウントは様々な理由で無効化され、店舗のオーナーや訪問者によってトリガーされます。  
  
ユーザーアカウントが無効化された場合、再度有効化できる必要があり、これがこの方法の目的です。  
  
この方法は ActivateUserAccount の方法と似ているように思えます。どちらもアカウントを有効にするからです。違いは使用シナリオと関連する可能なアクションにあります。  
  
EnableUserメソッドは汎用的な手法ですが、UserAccountActivationメソッドは新しいアカウントが作成される特定のシナリオで使用され、検証と有効化が必要です。両者は異なるページイベントを引き起こします。

**使用方法:**

ユーザーアカウントを有効にするべき時にSitecoreから呼び出した。

**署名:**

EnableUserResult EnableUser(EnableUserRequest request)

**入力:**

**CommerceUser – 必須**  
  
ユーザーオブジェクトのインスタンスが解析されます。

**コメント – 任意**  
  
ユーザーアカウントが有効化された理由を説明するオプションの文字列です。説明としてページイベントに記載されます。

**出力:**

\*\*CommerceUser –\*\*有効化されたCommerceUserエンティティ。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// disable the user
var disableRequest = new DisableUserRequest(user);
var disableResult = customerService.DisableUser(disableRequest);
// enable the user
var enableRequest = new EnableUserRequest(user);
var enableResult = customerService.EnableUser(enableRequest);
## GetUserメソッド

**名前:**

GetUser

**説明:**

シングルユーザーアカウントを返します。 GetUser パイプラインを呼び出します。

**使用方法:**

アカウントを1つ以上検索しているときにSitecoreから電話がかかってきました。

**署名:**

GetUserResult GetUser(GetUserRequest request)

**入力:**

\*\*ショップネーム –\*\*必須。

\*\*ユーザー名 –\*\*必須。  
  
取得するユーザーのID。

**出力:**

\*\*ユーザー –\*\* ユーザーの単一インスタンス。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
var getRequest = new GetUserRequest("JohnSmith");
var result = customerService.GetUser(getRequest);
## GetUsersメソッド

**名前:**

GetUsers

**説明:**

ユーザーアカウントのクエリと返却。 GetUsers パイプラインを呼び出します。  
  
*異なる入力パラメータを提供でき、それらは論理的および**組み合わせられます。*

**使用方法:**

アカウントを1つ以上検索しているときにSitecoreから電話がかかってきました。

**署名:**

GetUsersResult GetUsers(GetUsersRequest request)

**入力:**

\*\*ExternalID –\*\*任意。  
  
単一であったり、IDのリストであったりします。提供された場合は優先されます。

\*\*SitecoreIDs –\*\*任意。  
  
単一でも、IDのリストでも構いません。

\*\*ユーザー名 –\*\*任意。

\*\*メール –\*\*任意。

\*\*ExternalCustomerIDs –\*\*オプション。  
  
単一であったり、IDのリストであったりします。特定の顧客に関連付けられたユーザーを探す際に使われます。

\*\*無効化 -\*\*任意。

\*\*ショップネーム –\*\*任意。

**出力:**

**一覧**

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

使用例:

var customerService = new CustomerServiceProvider();
// create some users
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var result = customerService.CreateUser(request);
request = new CreateUserRequest("JaneSmith", "passWord", "jane@jane.net", "webstore");
result = customerService.CreateUser(request);
request = new CreateUserRequest("Rob", "abcdefghij", "r@r.com", "webstore");
result = customerService.CreateUser(request);

var getRequest = new GetUsersRequest(new UserSearchCriteria { ShopName = "webstore" });
var getResult = customerService.GetUsers(getRequest);
Sitecore.Diagnostics.Assert.AreEqual(3, getResult.CommerceUsers.Count, "should have a count of 3");

getRequest = new GetUsersRequest(new UserSearchCriteria { UserName = "JohnSmith" });
getResult = customerService.GetUsers(getRequest);
Sitecore.Diagnostics.Assert.AreEqual(1, getResult.CommerceUsers.Count, "should have a count of 1");
## CreateCustomerメソッド

**名前:**

CreateCustomer

**説明:**

顧客を作り出す。 CreateCustomer パイプラインを呼び出す。

**使用方法:**

通常、訪問者がチェックアウト手続きをしているときに電話をかけられます。

**署名:**

CreateCustomerResult CreateCustomer(CreateCustomerRequest request)

**入力:**

**CommerceCustomer – 必須**  
  
CommerceCustomer オブジェクトのインスタンスが解析されます。  
  
必須のフィールド値は、 *Name* と *Shops***です。**

**出力:**

**CommerceCustomer –** Customer オブジェクトのインスタンスが返されます。Customer オブジェクトは外部コマースシステムによって外部 ID を提供することで更新されます。

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

使用例:

var customerService = new CustomerServiceProvider();
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 IsDisabled = true,
 ExternalId = "Jeff",
 Users = new { "Jeff" }
 }));
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 }));
## UpdateCustomerメソッド

**名前:**

アップデートカスタマー

**説明:**

既存の顧客アカウントを更新します。 UpdateCustomer パイプラインを呼び出します。

**使用方法:**

訪問者やショップオーナーが顧客アカウントに保存されている情報を更新したい場合、Sitecoreから電話をかけてきます。

**署名:**

UpdateCustomerResult UpdateCustomer(UpdateCustomerRequest request)

**入力:**

\*\*CommerceCustomer –\*\*修正されたCommerceCustomer オブジェクトのインスタンスが解析されます。

**出力:**

**CommerceCustomer –** 顧客オブジェクトのインスタンスが返されます。

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

使用例:

var customerService = new CustomerServiceProvider();
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 IsDisabled = true,
 ExternalId = "Jeff",
 Users = new { "Jeff" }
 }));
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 })).CommerceCustomer;
customer.IsDisabled = true;
customer.Name = "Bobby";
var request = new UpdateCustomerRequest(customer);
var result = customerService.UpdateCustomer(request);
## DisableCustomerメソッド

**名前:**

DisableCustomer

**説明:**

顧客アカウントを無効化する。 DisableCustomer パイプラインに連絡する。

**使用方法:**

顧客アカウントが無効になっているはずの時にSitecoreから電話をかけました。

**署名:**

DisableCustomerResult DisableCustomer(DisableCustomerRequest request)

**入力:**

**CommerceCustomer – 必須**  
  
顧客オブジェクトのインスタンスが解析されます。

**コメント – 任意**  
  
ユーザーアカウントが無効化された理由を説明するオプションの文字列です。説明としてページイベントに記載されます。

**出力:**

\*\*CommerceCustomer –\*\*障害のある顧客。

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

使用例:

var customerService = new CustomerServiceProvider();
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 })).CommerceCustomer;
var disableRequest = new DisableCustomerRequest(customer);
var disableResult = customerService.DisableCustomer(disableRequest);
var enableRequest = new EnableCustomerRequest(customer);
var enableResult = customerService.EnableCustomer(enableRequest);
## EnableCustomerメソッド

**名前:**

EnableCustomer

**説明:**

顧客アカウントを有効にします。 EnableCustomer パイプラインを呼び出します。

**使用方法:**

顧客アカウントが有効になっているはずの時にSitecoreから電話をかけました。

**署名:**

EnableCustomerResult EnableCustomer(EnableCustomerRequest request)

**入力:**

**CommerceCustomer – 必須**  
  
顧客オブジェクトのインスタンスが解析されます。

**コメント – 任意**  
  
ユーザーアカウントが有効化された理由を説明するオプションの文字列です。説明としてページイベントに記載されます。

**出力:**

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

使用例:

var customerService = new CustomerServiceProvider();
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 })).CommerceCustomer;
var disableRequest = new DisableCustomerRequest(customer);
var disableResult = customerService.DisableCustomer(disableRequest);
var enableRequest = new EnableCustomerRequest(customer);
var enableResult = customerService.EnableCustomer(enableRequest);
## DeleteCustomerメソッド

**名前:**

DeleteCustomer

**説明:**

顧客アカウントを削除します。  
  
DeleteUserパイプラインに電話する。

**使用方法:**

アカウントを削除すべき時に電話をかける。  
  
アカウントが削除されるか、単に無効化されるかはビジネス上の解決策です。

**署名:**

DeleteCustomerResult DeleteCustomer(DeleteCustomerRequest request)

**入力:**

\*\*CommerceCustomer –\*\*CommerceCustomer オブジェクトのインスタンスが解析されます。

**出力:**

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

使用例:

var customerService = new CustomerServiceProvider();
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 })).CommerceCustomer;
var deleteRequest = new DeleteCustomerRequest(customer);
var deleteResult = customerService.DeleteCustomer(deleteRequest);
## GetCustomerメソッド

**名前:**

GetCustomer

**説明:**

単一の顧客インスタンスを返します。 GetCustomer パイプラインを呼び出します。

**使用方法:**

アカウントを探しているときにSitecoreから電話がかかってきました。

**署名:**

GetCustomerResult GetCustomer(GetCustomerRequest request)

**入力:**

\*\*ショップネーム –\*\*必須。

\*\*ExternalID –\*\*必須。  
  
その店舗の顧客のユニークなIDです。

**出力:**

\*\*CommerceCustomer – \*\*存在する場合はCommerceCustomerのインスタンス。

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

使用例:

var customerService = new CustomerServiceProvider();
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "1234567890",
 Users = new { "Bob" }
 }));
var getRequest = new GetCustomerRequest("1234567890");
var result = customerService.GetCustomer(getRequest);
## GetCustomersメソッド

**名前:**

顧客獲得

**説明:**

顧客エンティティへのクエリと返却。 GetCustomers パイプラインを呼び出します。  
  
*異なる入力パラメータを提供でき、それらは論理的および**組み合わせられます。*

**使用方法:**

アカウントを探しているときにSitecoreから電話がかかってきました。

**署名:**

GetCustomersResult GetCustomers(GetCustomersRequest request)

**入力:**

\*\*ExternalID –\*\*任意。  
  
単一であったり、IDのリストであったりします。提供された場合は優先されます。

\*\*SitecoreIDs –\*\*任意。  
  
単一でも、IDのリストでも構いません。

\*\*名前 –\*\*任意

\*\*ExternalUserID –\*\*任意。  
  
単一であったり、IDのリストであったりします。特定のユーザーに関連付けられた顧客を探す際に使われます。

\*\*無効化 –\*\*任意。

\*\*ショップネーム –\*\*任意。

**出力:**

**一覧**

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

使用例:

var customerService = new CustomerServiceProvider();
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 IsDisabled = true,
 ExternalId = "Jeff",
 Users = new { "Jeff" }
 }));
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 IsDisabled = false,
 ExternalId = "Jeff",
 Users = new { "Bob" }
 }));
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Michael",
 Shops = new { "autohaus" },
 IsDisabled = false,
 ExternalId = "Michael",
 Users = new { "Michael" }
 }));
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Kerry",
 Shops = new { "webstore" },
 IsDisabled = true,
 ExternalId = "Michael",
 Users = new { "Michael" }
 }));
var result = customerService.GetCustomers(new GetCustomersRequest(new CustomerSearchCriteria { IsDisabled = true }));
Sitecore.Diagnostics.Assert.AreEqual(2, result.CommerceCustomers.Count, "Should have 2 disabled");
result = customerService.GetCustomers(new GetCustomersRequest(new CustomerSearchCriteria { ExternalIDs = new { "Jeff" }, Name = "Bob" }));
Sitecore.Diagnostics.Assert.AreEqual(2, result.CommerceCustomers.Count, "Should have 1 match");
## AddCustomersメソッド

**名前:**

AddCustomers(顧客追加)

**説明:**

顧客をユーザーに追加します。 AddCustomers パイプラインを呼び出します。

**使用方法:**

訪問者をユーザーに関連付けるために呼び出しました。

**署名:**

AddCustomersResult AddCustomers(AddCustomersRequest request)

**入力:**

\*\*List CustomerIds – \*\*ユーザーに追加する顧客ID。

**出力:**

**IReadOnlyCollection CustomerID** – ユーザーに関連付けられた顧客IDのリスト。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 }));
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// add the customer to the user
var addRequest = new AddCustomersRequest(user, new List<string> { "1234567890" });
var addResult = customerService.AddCustomers(addRequest);
## AddUsersメソッド

**名前:**

アドユーザー

**説明:**

顧客にユーザーを追加します。 AddUsers パイプラインを呼び出します。

**使用方法:**

ユーザーと訪問者を関連付けるために呼び出されました。

**署名:**

AddUsersResult AddUsers(AddUsersRequest request)

**入力:**

\*\* ユーザーIDのリスト –\*\*顧客に追加するユーザーID。

**出力:**

**IReadOnlyCollection UserID** – 顧客に関連付けられたユーザーIDのリスト。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
// add the user to the customer
var addRequest = new AddUsersRequest(customer, new List<string> { user.ExternalId });
var addResult = customerService.AddUsers(addRequest);
## RemoveCustomersメソッド

**名前:**

**顧客を排除する**

**説明:**

ユーザーから顧客を削除します。 RemoveCustomers パイプラインを呼びかけます。

**使用方法:**

ユーザーに関連付けられた訪問者を削除するために呼び出しされました。

**署名:**

RemoveCustomersResult RemoveCustomers(RemoveCustomersRequest request)

**入力:**

\*\*List CustomerIds – \*\*ユーザーから削除すべき顧客IDです。

**出力:**

**IReadOnlyCollection CustomerID** – ユーザーに関連付けられた顧客IDのリスト。

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

使用例:

var customerService = new CustomerServiceProvider();
// create 2 customers
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "webstore" },
 ExternalId = "1234567890"
 }));
customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Bob",
 Shops = new { "webstore" },
 ExternalId = "9876543210"
 }));
// create a user
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
// add the customers to the user
var addRequest = new AddCustomersRequest(user, new List<string> { "1234567890", "9876543210" });
var addResult = customerService.AddCustomers(addRequest);
// remove a customer
var removeRequest = new RemoveCustomersRequest(user, new List<string> { "1234567890" });
var removeResult = customerService.RemoveCustomers(removeRequest);
## RemoveUsersメソッド

**名前:**

削除ユーザー

**説明:**

顧客からユーザーを削除します。 RemoveUsers パイプラインを呼びます。

**使用方法:**

訪問者に関連付けられたユーザーを削除するために呼び出されました。

**署名:**

Remove UsersResult RemoveUsers( RemoveUsersRequest request)

**入力:**

\*\* ユーザーIDのリスト – \*\*顧客から削除すべきユーザーID。

**出力:**

**IReadOnlyCollection UserID** – 顧客に関連付けられたユーザーIDのリスト。

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

使用例:

var customerService = new CustomerServiceProvider();
// create 2 users
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
var user = customerService.CreateUser(request).CommerceUser;
request = new CreateUserRequest("JaneSmith", "passWord", "jane@jane.net", "webstore");
var user2 = customerService.CreateUser(request).CommerceUser;
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
// add the users to the customer
var addRequest = new AddUsersRequest(customer, new List<string> { user.ExternalId, user2.ExternalId });
var addResult = customerService.AddUsers(addRequest);
// remove a user
var removeRequest = new RemoveUsersRequest(customer, new List<string> { user.ExternalId });
var removeResult = customerService.RemoveUsers(removeRequest);
## AddCustomerPartiesメソッド

**名前:**

AddCustomerParties

**説明:**

この方法は、指定された顧客に対して1つ以上の顧客パーティを追加する責任を負います。

**使用方法:**

Sitecoreから顧客アカウントへの当事者追加時に呼び出され、通常はチェックアウトやアカウント編集時に呼ばれます。

**署名:**

AddCustomerPartiesResult AddCustomerParties (AddCustomerPartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*CustomerParties –**List**.\*\*必須。  
  
顧客と関連付ける顧客の当事者のリスト。

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
// create the add request
var request = new AddCustomerPartiesRequest(customer,
 new List<CustomerParty>
 {
 new CustomerParty {ExternalId = "1234567890", PartyID = "1", Name = "HomeAddess", PartyType = 2}
 });
var result = customerService.AddCustomerParties(request);
## RemoveCustomerPartiesメソッド

**名前:**

顧客パーティーの削除

**説明:**

この方法は、指定された顧客から1つ以上の顧客パーティを除去する責任があります。

**使用方法:**

Sitecoreから顧客アカウントの当事者を削除する際に呼び出し、通常はアカウントを編集する際に呼ばれます。

**署名:**

RemoveCustomerPartiesResult RemoveCustomerParties (RemoveCustomerPartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*政党 –**リスト** .\*\*必須。  
  
顧客との関連付けを解除するための顧客パリティのリスト。

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<CustomerParty>
{
 new CustomerParty {ExternalId = "1234567890", PartyID = "1", Name = "HomeAddess", PartyType = 2}
};
// create the add request
var request = new AddCustomerPartiesRequest(customer, parties);
var result = customerService.AddCustomerParties(request);
// remove the parties
var removeRequest = new RemoveCustomerPartiesRequest(customer, parties);
var removeResult = customerService.RemoveCustomerParties(removeRequest);
## UpdateCustomerPartiesメソッド

**名前:**

更新カスタマーパーティー

**説明:**

この方法は、特定の顧客について1つ以上の顧客側に更新する役割を担います。

**使用方法:**

Sitecoreから顧客アカウントの更新時に呼び出し、通常は編集時に呼ばれます。

**署名:**

UpdateCustomerPartiesResult UpdateCustomerParties (UpdateCustomerPartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*政党 –**リスト** .\*\*必須。  
  
顧客の最新情報を報告するための顧客パーティーのリスト。

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<CustomerParty>
{
 new CustomerParty {ExternalId = "1234567890", PartyID = "1", Name = "HomeAddess", PartyType = 2}
};
// create the add request
var request = new AddCustomerPartiesRequest(customer, parties);
var result = customerService.AddCustomerParties(request);
parties.Add(new CustomerParty { ExternalId = "9876543210", PartyID = "2", Name = "BillingAddess", PartyType = 1 });
// update the parties
var updateRequest = new UpdateCustomerPartiesRequest(customer, parties);
var updateResult = customerService.UpdateCustomerParties(updateRequest);
## AddPartiesメソッド

**名前:**

アドパーティ

**説明:**

この方法は、指定された顧客に対して1つ以上の顧客パーティを追加する責任を負います。

**使用方法:**

Sitecoreから顧客アカウントへの当事者追加時に呼び出され、通常はチェックアウトやアカウント編集時に呼ばれます。

**署名:**

AddPartiesResult AddParties(AddPartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*政党 –**リスト** .\*\*必須。  
  
追加すべき顧客関係者のリスト。

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<Party>
{
 new Party {ExternalId = "1234567890", Address1 = "123 My Street", City = "My City", Country = "My Country", PartyId = "1"}
};
// add the party
var addRequest = new AddPartiesRequest(customer, parties);
var addResult = customerService.AddParties(addRequest);
## GetPartiesメソッド

**名前:**

GetParties

**説明:**

この方法はすべての当事者を手に入れる責任があります。

**使用方法:**

Sitecoreから顧客アカウントへの当事者追加時に呼び出され、通常はチェックアウトやアカウント編集時に呼ばれます。

**署名:**

AddPartiesResult AddParties(AddPartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

**出力:**

\*\*政党 –\*\*リスト  
  
政党一覧

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<Party>
{
 new Party {ExternalId = "1234567890", Address1 = "123 My Street", City = "My City", Country = "My Country", PartyId = "1"}
};
// add the party
var addRequest = new AddPartiesRequest(customer, parties);
var addResult = customerService.AddParties(addRequest);
// get the party
var getRequest = new GetPartiesRequest(customer);
var getResult = customerService.GetParties(getRequest);
## RemovePartiesメソッド

**名前:**

リムーバーパーティ

**説明:**

この方法は、指定された顧客から1つ以上の顧客パーティを除去する責任があります。

**使用方法:**

Sitecoreから顧客アカウントの当事者を削除する際に呼び出し、通常はアカウントを編集する際に呼ばれます。

**署名:**

RemovePartiesResult RemoveParties(RemovePartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*政党 –**リスト** .\*\*必須。  
  
削除すべき顧客パーティのリスト。

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<Party>
{
 new Party {ExternalId = "1234567890", Address1 = "123 My Street", City = "My City", Country = "My Country", PartyId = "1"}
};
// add the party
var addRequest = new AddPartiesRequest(customer, parties);
var addResult = customerService.AddParties(addRequest);
// remove the party
var removeRequest = new RemovePartiesRequest(customer, parties);
var getResult = customerService.RemoveParties(removeRequest);
## UpdatePartiesメソッド

**名前:**

アップデートパーティー

**説明:**

この方法は、特定の顧客について1つ以上の顧客側に更新する役割を担います。

**使用方法:**

Sitecoreから顧客アカウントの更新時に呼び出し、通常は編集時に呼ばれます。

**署名:**

UpdatePartiesResult UpdateParties(UpdatePartiesRequest request)

**入力:**

\*\*Customer – CommerceCustomer。\*\*必須。  
  
顧客の一例です。

\*\*政党 –**リスト** .\*\*必須。  
  
更新すべき政党一覧

**出力:**

\*\*お客さん -\*\*お客さん。必須。

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var customer = customerService.CreateCustomer(new CreateCustomerRequest(
 new CommerceCustomer
 {
 Name = "Jeff",
 Shops = new { "autohaus" },
 ExternalId = "1234567890"
 })).CommerceCustomer;
var parties = new List<Party>
{
 new Party {ExternalId = "1234567890", Address1 = "123 My Street", City = "My City", Country = "My Country", PartyId = "1"}
};
// add the party
var addRequest = new AddPartiesRequest(customer, parties);
var addResult = customerService.AddParties(addRequest);
parties.Add(new Party { ExternalId = "9876543210", Address1 = "123 My Road", City = "My Town", Country = "Your Country", PartyId = "2" });
// update the parties
var updateRequest = new UpdatePartiesRequest(customer, parties);
var getResult = customerService.UpdateParties(updateRequest);
## UpdatePasswordメソッド

**名前:**

UpdatePassword(更新パスワード)

**説明:**

ユーザーパスワードを変更してください。 UpdatePassword パイプラインを呼び出します。

**使用方法:**

パスワードを変更する必要があるときにSitecoreから電話をかけてきます。

**署名:**

UpdatePasswordResult UpdatePassword(UpdatePasswordRequest request)

**入力:**

**ユーザーID – 必須**パスワードを変更するユーザーのID。

**OldPassword** – **必須**。  
  
古いパスワード。

**NewPassword – 必須**  
  
新しいパスワード。

**出力:**

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

使用例:

var customerService = new CustomerServiceProvider();
// create a customer
var request = new CreateUserRequest("JohnSmith", "password", "john@abczyx.net", "webstore");
customerService.CreateUser(request);
// update the password
var updateRequest = new UpdatePasswordRequest("JohnSmith", "password", "nEwPaSsWoRd");
var result = customerService.UpdatePassword(updateRequest);