価格設定サービス方法

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

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

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

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

GetProductPricesメソッド

形容:

特定の製品の価格を取得します。

使い:

Sitecoreが特定の製品の価格を必要とする場合に呼び出されます。

署名:

GetProductPricesResult GetProductPrices(GetProductPricesRequest request)

パラメーター:

request.ProductId -

必須。

Request.UserId - 

通常、価格は実際のユーザーによって異なります。

 Request.CurrencyCode -

必須。

Request.Location - 

多くの場合、価格は場所によって異なります。場所は、都市または州にすることができます。

Request.Quantity - 

指定しない場合、数量は1と見なされます。

Request.DateTime - 

キャンペーンが一定期間内に商品を割引価格で宣伝する場合に必要です。

Request.ShopName - 

マルチショップのサポート。

Request.PriceTypeIds - 

取得する価格の種類の一覧。指定しない場合は、基準価格/定価のみが返されます。

例としては、リスト価格、ブレーク価格、セール価格などがあります。

実際のPriceTypeIdsは、特定のConnectプロバイダーの実装によって異なります。

収益:

result.Prices -

価格オブジェクトのコレクション。

result.ExternalSystem Messages -

外部システムからのメッセージの収集。これがエラー状態を報告する方法です。

例外:

このメソッドによって例外はスローされません。

使用例:

var pricingServiceProvider = new PricingServiceProvider();
// Create a GetProductPricesRequest object, specify the product's ID and do not 
// specify any price types. Default price type is ListPrice
var request = new GetProductPricesRequest("Audi A8L");
// Call the service provider and receive the result.
var result = pricingServiceProvider.GetProductPrices(request);
// Result prices contains the list price only.
var price = result.Prices.First().Value.Amount;
// You can use the GetProductPrices to get the prices of a specific type. 
// The following sample shows an example of retrieving a price of type Customer 
// opposed to the default List price type:
// Create a GetProductPricesRequest object, specify the product's ID and price type 
// 'Customer'.
request = new GetProductPricesRequest("Audi A8L", "Customer");
// Call service provider and receive the result.
var result2 = pricingServiceProvider.GetProductPrices(request);
// Result prices contains the Customer price only.
var price2 = result.Prices.First().Value.Amount;

GetProductBulkPricesメソッド

形容:

特定の製品の一括価格を取得します。

使い:

Sitecoreが特定の製品のブレーク価格を必要とするときに呼び出されます。

署名:

GetProductBreakPricesResult GetProductBreakPrices(GetProductBreakPricesRequest request)

パラメーター:

request.ProductId -

必須。

Request.UserId - 

通常、価格は実際のユーザーによって異なります。

 Request.CurrencyCode -

必須。

Request.Location - 

多くの場合、価格は場所によって異なります。場所は、都市または州にすることができます。

Request.Quantity - 

指定しない場合、数量は1と見なされます。

Request.DateTime - 

キャンペーンが一定期間内に商品を割引価格で宣伝する場合に必要です。

Request.ShopName - 

マルチショップのサポート。

収益:

result.Prices -

価格オブジェクトのコレクション。

result.ExternalSystem Messages -

外部システムからのメッセージの収集。これがエラー状態を報告する方法です。

例外:

このメソッドによって例外はスローされません。

使用例:

var pricingServiceProvider = new PricingServiceProvider();
// Create a GetProductPricesRequest object, specify the product's ID and price type 
// 'Customer'. The price type argument is optional and defaults to List.
var request = new GetProductBulkPricesRequest( 
    new List<string>()
    {
        "Audi A8L", 
        "Renault Grand Scenic", 
        "Skoda Octavia RS"
    }, 
    "Customer");
// Call service provider and receive the result.
var result = pricingServiceProvider.GetProductBulkPrices(request);
// Result contains a dictionary of <key, value> pairs, where the key is the 
// product ID and the value represent the corresponding Price.
var price = result.Prices["Audi A8L"].Amount;

GetCartTotalメソッド

形容:

特定のカートの価格を取得します。

使い:

Sitecoreが特定のカートの価格を必要とする場合に呼び出されます。

署名:

GetCartPriceResult GetCartPrice(GetCartPriceRequest request)

パラメーター:

request.Cart -

必須。

request.UserId - 

通常、価格は実際のユーザーによって異なります。

 Request.CurrencyCode -

必須。

Request.Location - 

多くの場合、価格は場所によって異なります。場所は、都市または州にすることができます。

Request.ShopName - 

マルチショップのサポート。

Request.DateTime - 

キャンペーンが一定期間内に商品を割引価格で宣伝する場合に必要です。

収益:

result.Cart -

Total.

result.ExternalSystem Messages -

外部システムからのメッセージの収集。これがエラー状態を報告する方法です。

例外:

このメソッドによって例外はスローされません。

使用例:

var cartServiceProvider = new CartServiceProvider();
var pricingServiceProvider = new PricingServiceProvider();
// Create LoadCart request.
var cartRequest = new CreateOrResumeCartRequest("MyShop", "MyCart");
// Call CreateOrResumeCart and get the cart
var cart = cartServiceProvider.CreateOrResumeCart(cartRequest).Cart
// Create a GetCartTotalRequest object, specify the Cart and shop name 
var request = new GetCartTotalRequest {Cart = cart, ShopName = "MyShop"};
// Call service provider and receive the result.
var result = pricingServiceProvider.GetCartTotal(request);
// Result contains the updated cart augmented with Total, TaxTotal, 
// and TaxSubTotal instances
var cartTotal = result.Cart.Total.Amount;

GetSupportedCurrenciesメソッド

形容:

ECSでサポートされている通貨の一覧を取得します。

使い:

Sitecoreがサポートされている通貨のリストを必要とする場合に呼び出されます。

署名:

GetSupportedCurrenciesResult GetSupportedCurrencies(NotNull GetSupportedCurrenciesRequest request)

パラメーター:

ショップ名 – 必須

ショップの名前。

収益:

IReadOnlyCollection<string> – サポートされているすべての通貨コードのリスト。

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

例外:

このメソッドによって例外はスローされません。

使用例:

var provider = (PricingServiceProvider)Factory.CreateObject("pricingServiceProvider", true);
var request = new GetSupportedCurrenciesRequest("StarterKit");
var result = provider.GetSupportedCurrencies(request);
if (result.Success)
{
    foreach (var currency in result.Currencies)
    {
        // handle currency.
    }
}

CurrencyChosenメソッド

形容:

「選択した通貨」ページ・イベントを発生させます

使い:

SitecoreがCurrency Chosenイベントを発生させる必要があるときに呼び出されます。

署名:

ServiceProviderResult CurrencyChosen(CurrencyChosenRequest request)

パラメーター:

ショップ名 – 必須

ショップの名前。

ChosenCurrency – 必須

選択した通貨コード。

収益:

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

例外:

このメソッドによって例外はスローされません。

使用例:

var provider = (PricingServiceProvider)Factory.CreateObject("pricingServiceProvider", true);
var request = new CurrencyChosenRequest("StarterKit", "USD");
var result = provider.CurrencyChosen(request);
if (!result.Success)
{
    foreach (var message in result.SystemMessages)
    {
        // handle error messages.
    }
}

GetEligiblePromotionIdsメソッド

形容:

製品に適用できるプロモーションの ID を取得します

使い:

製品の詳細ページなどで、製品に適用できるプロモーションのIDを取得するために呼び出されます。

署名:

GetEligiblePromotionIdsResult GetEligiblePromotionIds( GetEligiblePromotionIdsRequest request)

パラメーター:

ショップ – 必須

対象店舗。

ProductId – 必須

プロモーションを取得する商品のIDです。

TargetTime – オプション

どのプロモーションが適格かを判断するために使用される時間コンテキスト。

CustomerId – オプション

プロモーションが取得される顧客のID。

収益:

プロモーションID - 製品に適用されるプロモーションのIDを含むコレクション。

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

例外:

このメソッドによって例外はスローされません。

使用例:

var provider = (PricingServiceProvider)Factory.CreateObject("pricingServiceProvider", true);
var request = new GetEligiblePromotionIdsRequest()
{
    ProductId = "Product001",
    CustomerId = "TestCustomer"
};
var result = provider.GetEligiblePromotionIds(request);

GetProductPromotionDescriptionメソッド

形容:

製品のプロモーションのリストの説明を取得します。

使い:

サイトに表示するプロモーションのリストの説明を取得するために呼び出されます。

署名:

GetProductPromotionDescriptionResult GetProductPromotionDescription(GetProductPromotionDescriptionRequest request)

パラメーター:

ショップ – 必須

対象店舗。

PromotionIds – 必須

取得するプロモーションのID。

CustomerId – オプション

プロモーションが取得される顧客のID。

収益:

プロモーション- 要求されたプロモーションを含むコレクション。

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

例外:

このメソッドによって例外はスローされません。

使用例:

var provider = (PricingServiceProvider)Factory.CreateObject("pricingServiceProvider", true);
var request = new GetProductPromotionDescriptionRequest()
{
    PromotionIds = new List<string> { "Promotion001", "Promotion002" },
    CustomerId = "TestCustomer"
};
var result = provider.GetProductPromotionDescription(request);
この記事を改善するための提案がある場合は、 お知らせください!