Orders APIの操作 (C#)

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Ordersサービスは、RESTfulなOData準拠のAPIを提供し、これを使用して他のビジネス・システムと統合し、注文関連データを交換できます。このトピックでは、Orders APIを使用してC# プログラミング言語を使用してCommerce統合を構築する方法の例を示します。

メモ

このトピックに含まれるC# コード例は、Sitecore Commerce Engineソフトウェア開発キット (Sitecore.Commerce.Engine.SDK) にパッケージ化されているSitecore.Commerce.Sample.Consoleサンプルに基づいています。

この に示すように、Commerce Engineの操作とコマンドをコンテナ呼び出しに含める必要があります (C# を使用)。

Sitecore Experience Commerce (XC) システムで操作を実行するには、呼び出し元のシステムはまずSitecore Identityサーバーから 有効なベアラー認証トークンを取得する 必要があります。

手記

Orders Views APIとActions APIを使用して、注文のフルフィルメントや注文の支払いなど、他の操作をプログラムで実行できます。

注文の作成 (C#)

Orders APIを使用して、ショッピングカートに必要なすべてのアイテム、フルフィルメント、および支払い情報がある場合に注文を作成できます。

注文を作成するには、CreateOrderクエリを使用します。クエリでは、ショッピング カートID (cartId) と買い物客の電子メール アドレスを指定する必要があります。

Container container = AuthoringContainer();
DataServiceActionQuerySingle<CommerceCommand> actionQuery = container.CreateOrder("cartId", "[email protected]");
CommerceCommand command = Proxy.DoCommand(actionQuery);
string orderId = command.Models.OfType<CreatedOrder>().FirstOrDefault().OrderId;

注文のキャンセル (C#)

Orders APIを使用して、注文ステータスがpendingまたはon holdのときに注文をキャンセルできます。

注文をキャンセルするには:

Container container = AuthoringContainer();
DataServiceActionQuerySingle<CommerceCommand> actionQuery = container.CancelOrder(orderId);
CommerceCommand command = Proxy.DoCommand(actionQuery);

注文をカスタム状態に設定する (C#)

注文をカスタムステータスに設定できます。

大事な

デフォルトでは、Commerce注文フローは注文ステータスに基づいています。注文のステータスによって、エンドツーエンドのプロセスフローで注文に対して次に実行するアクションが決まります。 カスタム注文ステータスの導入は、コマース注文が通常システムを通過する方法に影響を与えることに注意してください。

C# を使用して注文を顧客ステータスに設定するには:

DataServiceActionQuerySingle<CommerceCommand> actionQuery = container.SetOrderStatus(orderId, "CustomStatus");
CommerceCommand command = Proxy.DoCommand(actionQuery);

注文から営業活動を取得する (C#)

Sitecore XCは、注文の支払い情報が更新されるたびに販売活動を生成します。

C# を使用して注文の販売活動を取得するには:

DataServiceQuery<SalesActivity> actionQuery = container.GetOrderSalesActivities(orderId);
IEnumerable<SaleActivity> salesActivities = Proxy.Execute(actionQuery);
この記事を改善するための提案がある場合は、 お知らせください!