配送サービスプロバイダー

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

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

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

プロバイダの各メソッドには、対応するRequestオブジェクトとResultオブジェクトが使用されます (たとえば、GetCartsはGetCartsRequestオブジェクトを受け取り、GetCartsResultオブジェクトを返します)。場合によっては、同じデータを返すときに応答オブジェクトが再利用されます。

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

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

GetShippingOptionsメソッド

GetShippingOptionsメソッドは、外部のコマース システムに対して配送オプション データをクエリし、配送オプションのコレクションを返すために使用されます。

名前:

GetShippingOptions (配送オプションの取得)

形容:

カートの配送オプションを取得します。 GetShippingOptionsパイプラインを呼び出します。

使い:

配送オプションのリストが必要な場合に呼び出されます。

たとえば、次のようなものがあります。

  • 利用可能なすべての配送オプションを取得します。

  • ユーザーのカートの内容物の配送オプションを取得します。

署名:

GetShippingOptionsResult GetShippingOptions(GetShippingOptionsRequest request)

インプット:

カート – オプション。 特定のカートで利用可能な配送オプションを把握します。

アウトプット:

ReadOnlyCollection<ShippingOptions> – 要求されたシナリオの配送オプションのコレクション。

ReadOnlyCollection<LineShippingOption> - カート内のさまざまな品目で利用可能な配送オプション。

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

使用例:

var shippingService = new ShippingServiceProvider();
var request = new GetShippingOptionsRequest();
var result = shippingService.GetShippingOptions(request);

GetShippingMethodメソッド

GetShippingMethod方法は、ECSから配送方法の完全な詳細を取得するために使用されます。

名前:

GetShippingtメソッド

形容:

指定した条件に一致する配送方法の完全な詳細を取得します。 GetShippingMethodパイプラインを呼び出します。

使い:

配送方法の完全な詳細が必要な場合に呼び出されます。

署名:

GetShippingMethodResult GetShippingMethod(GetShippingMethodRequestリクエスト)

インプット:

ShopNameオプション – 現在のショップの名前。

ExternalId必須 – ECSの配送方法のID。

アウトプット:

配送方法 – ご依頼いただいた配送方法。

ShippingMethodPerItem -

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

使用例:

var provider = (ShippingServiceProvider)Factory.CreateObject("shippingServiceProvider", true);
var request = new GetShippingMethodRequest("Next Day");
var result = provider.GetShippingMethod(request);

GetShippingMethodsメソッド

GetShippingMethodsメソッドは、外部のコマースシステムに対して配送データをクエリし、特定の支払いオプションのすべての配送方法を取得するために使用されます。

名前:

GetShippingメソッド

形容:

指定した条件に一致する配送方法を取得します。 GetShippingMethodsパイプラインを呼び出します。

使い:

配送方法のリストが必要な場合に呼び出されます。

たとえば、次のようなものがあります。

  • 特定の配送オプションの配送方法を取得します。

  • 特定の配送オプションとパーティーの配送方法を取得します。

署名:

GetShippingMethodsResult GetShippingMethods(GetShippingMethodsRequestリクエスト)

インプット:

ShippingOption – 配送方法を取得する配送オプション。

パーティー – オプション – パーティーに基づいてオプションを制限します。

アウトプット:

ReadOnlyCollection<ShippingMethod> – リクエストされたオプションの配送方法のコレクション。

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

使用例:

var shippingService = new ShippingServiceProvider();
var shippingOption = new ShippingOption
{
    Description = "Super Fast Shipping", 
    Name = "SuperFast", 
    ShippingOptionType = new ShippingOptionType(1, "Courier"), 
    ShopName = "webShop"
};
var request = new GetShippingMethodsRequest(shippingOption);
var result = shippingService.GetShippingMethods(request);

GetPricesForShipmentsメソッド

GetPricesForShipmentsメソッドは、カート内のすべてのアイテムの可能な配送価格のリストを取得するために使用されます。

名前:

GetPricesForShipments(出荷価格)

形容:

指定した条件に一致する送料を取得します。 GetPricesForShipmentsパイプラインを呼び出します。

使い:

送料のリストが必要な場合に呼び出されます。

署名:

GetPricesForShipmentsResult GetPricesForShipments(GetPricesForShipmentsRequestリクエスト)

インプット:

ShopName - 必須現在のショップの名前。

ShippingLookup – 必須 – 配送方法と検索するオプションの組み合わせ。

カート – 必須 – 検索する品目を含むカート。

アウトプット:

ReadOnlyCollection<ShippingPrice> – カート内のアイテムにマップされた配送料のコレクション。

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

使用例:

var shippingLookupList = new List<ShippingLookup>
{
    new ShippingLookup
    {
        LineItemIds = new List<string> { "1", "2" }.AsReadOnly()
    }
};
var cartProvider = (CartServiceProvider)Factory.CreateObject("cartServiceProvider", true);
var cartRequest = new LoadCartRequest("StarterKit", "cartid");
var cartResult = cartProvider.LoadCart(cartRequest);
var cart = cartResult.Cart;
var provider = (ShippingServiceProvider)Factory.CreateObject("shippingServiceProvider", true);
var request = new GetPricesForShipmentsRequest("StarterKit", shippingLookupList, cart);
var result = provider.GetPricesForShipments(request);
if (result.Success && result.ShippingPrices != null)
{
    foreach (var shippingPrice in result.ShippingPrices)
    {
        // handle shipping prices
    }
}
この記事を改善するための提案がある場合は、 お知らせください!