在庫状況およびイベントのアイテム属性の拡張
在庫状況およびイベントのアイテム属性を拡張して、追加のカタログ・ルックアップを除去し、e-コマース・ページのパフォーマンスを向上させることができます。
通常、e-コマース・プラットフォームでは、アイテムの在庫を超える情報が必要になります。 例えば、 item01の在庫状況を検索するときに、e-コマース・ページが正しく表示されるように、アイテムの詳細 (アイテムの説明、価格、グローバル・アイテム ID、その他の詳細など) もプルする必要がある場合があります。 このタスクを完了するために、e-コマース・プラットフォームは、必要なカタログ・データを取得するために、在庫検索と独自のカタログの両方を呼び出す必要がある場合があります。 追加のルックアップにより、ページ全体のパフォーマンスに対する待ち時間が生じます。
2 番目のケースでは、可用性イベントによってローカルの商品詳細ページ・キャッシュを作成できます。 大量のイベント・データが消費されるため、イベント自体にカタログ・データが含まれている場合は、イベント消費の労力とコストを削減することができます。そのため、製品詳細ページの作成アクティビティーに追加の外部 API 呼び出しが不要になります。
このアプリケーションには、可用性応答およびイベント・パブリッシュでアイテム属性情報を拡張する機能が用意されています。 例えば、 Item01の在庫状況を照会する場合、フルフィルメント・マネージャーは、常にアイテムの説明を応答に含めるように在庫状況 API を構成することもできます。
セラーが公開する可能性のあるアイテム属性の例を以下に示します。
- 商標
- GTIN
- サイズまたは色
- 商品説明
- 製造元
ユーザー定義の項目属性について詳しくは、 属性を参照してください。
Brand 属性がアイテム属性として定義されている場合、API を公開するための set 属性への入力は以下のようになります。PUT https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v1/configuration/publishAttributes
[ "Brand" ]宣言が完了すると、将来の可用性 API および公開されるイベントには、出力ペイロードの itemAttributes エレメントの下に item 属性が組み込まれます。
{
"availabilityType": "SELL",
"lines": [{
"lineId": "1",
"itemId": "KettleChips",
"unitOfMeasure": "EACH",
"deliveryMethod": "SHP",
"shipNodes": ["Matrix-Store-001"],
"shipNodeAvailabilities": [...],
"itemAttributes": {
"Brand": ["NoNameBrand"]
}
}]
}productAvailability.v2 イベント出力を示しています。{
"type": "productAvailability.v2",
"datacontenttype": "application/json",
"id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5",
"specversion": "1.0",
"time": "2021-03-10T00:00:00.288Z",
"data": {
"itemAttributes": {
"Brand": ["NoNameBrand"]
},
"computeTs": "2021-03-10T00:00:00.097Z",
"productId": "SHIRT",
"deliveryMethod": "SHP",
"shipNode": "store-BostonMA",
"unitOfMeasure": "EACH",
"currentAvailability": {...},
"futureAvailability": [...]
}
}