注文サービス メソッド

サービス プロバイダーは、Connect パイプラインとの対話を簡単に行うためのラッパー オブジェクトです。Connect パイプラインを呼び出す以外にロジックを何も実装しません。ビジネス ロジックはすべて、パイプライン プロセッサーで実装されます。

注文サービス プロバイダーには、注文データを操作するための次のメソッドが含まれています。

名前:

SubmitVisitorOrder

説明:

ショッピング カートに基づいて注文を作成します。SubmitVisitorOrder パイプラインを呼び出します。

使用方法:

訪問者が注文を作成するためにショッピング カートを送信しているときに Sitecore から呼び出されます。

シグネチャー:

                  SubmitVisitorOrderResult SubmitVisitorOrder(SubmitVisitorOrderRequest request)
                

入力:

Cart – カート。ショッピング カートのインスタンスです。

出力:

Order – カート。

成功すると、注文が返されます。注文はカートから継承されるため、ここでは問題ありませんが、注文としてキャストされる必要があります。

失敗した場合は、カート オブジェクトのインスタンスが返されます。変更される場合があり、その他のデータやエラー コメントが引数として追加されます。

SystemMessages - 外部システムからのメッセージのコレクション。

使用例:

var cartService = new CartServiceProvider();
// get the cart
var cart = cartService.CreateOrResumeCart(new CreateOrResumeCartRequest("MyShop", "Me")).Cart;
// add parties, payment and shipping info
cart.Parties = new List<Party> 
{ 
    new Party() { ExternalId = "1", PartyId = "{F73904C0-2A45-4A2F-A99B-F934ABDCFC99}", FirstName = "Joe", LastName = "Smith", Address1 = "123 Street", City = "Ottawa", State = "Ontario", Country = "Canada" },
    new Party() { ExternalId = "2", PartyId = "{294B7DD1-7397-4322-996C-E87E592EF621}", FirstName = "Jane", LastName = "Smith", Address1 = "234 Street", City = "Toronto", State = "Ontario", Country = "Canada" } 
};
cart.BuyerCustomerParty = new CartParty() { ExternalId = "1", PartyID = "{F73904C0-2A45-4A2F-A99B-F934ABDCFC99}" };
cart.AccountingCustomerParty = new CartParty() { ExternalId = "2", PartyID = "{294B7DD1-7397-4322-996C-E87E592EF621}" };
cart.Payment = new List<PaymentInfo>
{
    new PaymentInfo() { ExternalId = "1" },
    new PaymentInfo() { ExternalId = "2" },
};
cart.Shipping = new List<ShippingInfo>
{
    new ShippingInfo() { ExternalId = "1" },
    new ShippingInfo() { ExternalId = "2" },
};
cartService.SaveCart(new SaveCartRequest(cart));
var orderService = new OrderServiceProvider();
var request = new SubmitVisitorOrderRequest(cart);
var result = orderService.SubmitVisitorOrder(request);
var order = result.Order;
var orderId = order.OrderID;

このメソッドは、ECS でサポートされている国のリストを返します。

名前:

GetAvailableCountries

説明:

ECS でサポートされているすべての国のリストを提供します。

使用方法:

Sitecore から呼び出されます

シグネチャー:

GetAvailableCountriesResult GetAvailableCountries( GetAvailableCountriesRequest request)

入力:

出力:

SystemMessages - 外部システムからの国のコレクション。

使用例:

var orderService = new OrderServiceProvider();
var request = new GetAvailableCountriesRequest();
var result = orderService.GetAvailableCountries(request);

ECS でサポートされている国の地域のリストを返します。

名前:

GetAvailableRegions

説明:

ECS でサポートされている国のすべての地域のリストを提供します。

使用方法:

Sitecore から呼び出されます

シグネチャー:

GetAvailableRegionsResult GetAvailableRegions( GetAvailableRegionsRequest request)

入力:

CountryCode –

地域を返す国。

出力:

SystemMessages - 外部システムからの国のコレクション。

使用例:

var orderService = new OrderServiceProvider();
var request = new GetAvailableRegionsRequest(“Canada”);
var result = orderService.GetAvailableRegions(request);

名前:

GetVisitorOrder

説明:

訪問者が作成した ID で注文を取得します。GetVisitorOrder パイプラインを呼び出します。

使用方法:

指定された注文の詳細が必要な場合に Sitecore から呼び出されます。

シグネチャー:

GetVisitorOrderResult GetVisitorOrder(GetVisitorOrderRequest request)

入力:

ShopName –

ショップの名前。

OrderId

注文の ID。

CustomerID – 必須

顧客/訪問者/コンタクトの ID。

顧客 ID が提供されない場合、訪問者が誰でもすべての顧客の注文にアクセスできるという潜在的なセキュリティ リスクがあります。

出力:

Order – 注文オブジェクトのインスタンスが返されます。注文オブジェクトは、外部のコマース システムによって作成されます。

SystemMessages - 外部システムからのメッセージのコレクション。

使用例:

var orderService = new OrderServiceProvider();
// need a valid order id for the first param
var visitorOrderRequest = new GetVisitorOrderRequest("Order_7777", "Me", "MyShop");
var result = orderService.GetVisitorOrder(visitorOrderRequest);

名前:

GetVisitorOrders

説明:

指定された訪問者による注文の概要データを取得します。GetVisitorOrders パイプラインを呼び出します。

使用方法:

訪問者の注文履歴が必要な場合に Sitecore から呼び出されます。

シグネチャー:

GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request)

入力:

ShopName -

ショップの名前。

CustomerId – 購入した顧客パーティの ID。

出力:

IReadOnlyCollection&lt;OrderBase&gt; – 注文オブジェクトのインスタンスが返されます。注文オブジェクトは、外部のコマース システムによって作成されます。

SystemMessages - 外部システムからのメッセージのコレクション。

使用例:

var orderService = new OrderServiceProvider();
var visitorOrdersRequest = new GetVisitorOrdersRequest("Me", "MyShop");
var result = orderService.GetVisitorOrders(visitorOrdersRequest);

名前:

OrderStatusChanged

説明:

注文のステータスが変更されたことを Sitecore に通知するために使用されます。

使用方法:

注文のステータスの変更について Sitecore に通知するために Sitecore から呼び出されます。

シグネチャー:

OrderStatusChangedResult OrderStatusChanged(OrderStatusChangedRequest request)

入力:

OrderId -

ステータスが変更された注文の ID。

CustomerId -

注文に関連付けられた顧客の ID。

OrderStatus

注文の新しいステータス。

出力:

使用例:

var orderService = new OrderServiceProvider();
var visitorOrdersRequest = new GetVisitorOrdersRequest("Me", "MyShop");
var result = orderService.GetVisitorOrders(visitorOrdersRequest);

名前:

Reorder

説明:

以前に発注された注文から 1 つ以上のアイテムを顧客の現在のカートに追加します。reorder パイプラインを呼び出します。

使用方法:

顧客が以前に注文した品目から 1 つ以上のアイテムを再注文する場合に呼び出されます。

シグネチャー:

CartResultReorder(ReorderRequest request)

入力:

ShopName –

ショップの名前。

OrderId – 必須

注文の ID。

CustomerID – 必須

顧客/訪問者/コンタクトの ID。

顧客 ID が提供されない場合、訪問者が誰でもすべての顧客の注文にアクセスできるという潜在的なセキュリティ リスクがあります。

ReorderLineExternalIds – 任意

再注文される注文明細行の外部 ID。指定しない場合、注文のすべてのアイテムが再注文されます。

ForceNewLines – 任意

true の場合、カートのアイテムは顧客のカートに新しいカート品目として追加されます。false の場合、可能であれば品目は既存のカート品目にマージされます。

注記

このパラメータは、外部コマース システムがこの機能をサポートしている場合にのみサポートされます。

出力:

Cart 顧客の新しいカートの内容のインスタンス。

AddedCartLineExternalIds – 顧客のカートに追加された品目の ID を含むリスト。

SystemMessages - 外部システムからのメッセージのコレクション。

使用例:

var orderService = new OrderServiceProvider();
// need a valid order id for the second param
var reorderRequest = new ReorderRequest("Me", "Order_7777");
var result = orderService.Reorder(reorderRequest);

このメソッドの目的は、Web 店舗にキャンセルのオプションが存在し、かつビジネス ロジックがそれを (たとえば、注文がすでに作成または出荷されているなどの理由で) 妨げていない場合に、訪問者が既存の注文をキャンセルすることです。

このメソッドは通常、注文履歴ビューから注文の詳細を顧客に表示し、顧客が注文のキャンセルを選択したときにトリガーされます。

名前:

VisitorCancelOrder

説明:

訪問者による注文をキャンセルするために使用されます。注文がキャンセルされるかどうかの判断は、外部コマースシステムのビジネス ロジックで行います。通常、店舗のオーナーが注文への対応または処理を開始した後で、注文をキャンセルすることはできません。

注文をキャンセルできない場合は、それを反映した SystemMessage が返される必要があります。

使用方法:

Sitecore から呼び出されます。

シグネチャー:

VisitorCancelOrderResult VisitorCancelOrder(VisitorCancelOrderRequest request)

入力:

ShopName – 必須

ショップの名前。

OrderId – 必須

注文の ID。

CustomerID – 必須

顧客/訪問者の ID。

顧客 ID が提供されない場合、訪問者が誰でもすべての顧客の注文にアクセスできるという潜在的なセキュリティ リスクがあります。

OrderLineExternalIds – 任意

キャンセルする注文明細の外部 ID のリスト。指定しない場合、注文のすべての行がキャンセルされます。

注記

Connect は、デフォルトではこのパラメーターをサポートしていません。このプロパティの処理は、外部コマース システムのコネクタで行われる必要があります。

出力:

SystemMessages - 外部システムからのメッセージのコレクション。

CancelledOrder – キャンセルされた注文を含みます。

注記

この結果プロパティの設定は、外部コマース システムのコネクタで行われる必要があります。

CancellationStatus – 注文キャンセル操作のステータス (つまり、許可、拒否など) を示す拡張可能な列挙値。

注記

この結果プロパティの設定は、外部コマース システムのコネクタで行われる必要があります。

使用例:

var orderService = new OrderServiceProvider();
// need a valid order id for the first param
var visitorCancelOrder = new VisitorCancelOrderRequest("Order_7777", "Me", "MyShop");
var result = orderService.VisitorCancelOrder(visitorCancelOrder);