Commerce 定價 API
本文介紹定價引擎提供 Microsoft Dynamics 365 Commerce 的各種定價 API。
Dynamics 365 Commerce 定價引擎提供以下零售伺服器 API,外部應用程式可以使用這些 API 來支援各種定價方案:
- GetActivePrices –此 API 獲取產品的計算價格,包括簡單的折扣。
- 計算銷售文件 –此 API 計算給定數量的產品的價格和折扣 (如果它們是一起購買的)。
- 獲取可用促銷– 此 API 可獲得購物車中產品的適用折扣。
- 添加優惠券 –此 API 將優惠券添加到購物車。
- 刪除優惠券 –此 API 從購物車中刪除優惠券。
有關如何在外部應用程式中使用零售伺服器 API 的詳細資訊,請參閱 在外部應用程式中使用零售伺服器 API。
取得活動價格
GetActivePrices API 是在 Commerce 版本 10.0.4 版本中引入的。 此 API 獲取產品的計算價格,包括簡單折扣。 它不計算多行折扣,並假定 API 請求中的每個產品的數量為 1。 該 API 還可以將產品清單作為輸入,並批量查詢單個產品的價格。
GetActivePrices API 支援 員工、 客戶、 匿名和 應用程式 商務角色。
GetActivePrices API 的主要用例 是產品詳細資訊頁面 (PDP),零售商可在其中顯示產品的最佳價格,包括任何有效折扣。
附註
如果您發現呼叫 GetActivePrices
返回的產品較少,您可以跟隨 管道銷售配置驗證程式 來驗證您的銷售配置。
下表顯示了 GetActivePrices API 的 輸入參數。
姓名 | 子名稱 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|---|
專案域 | 投影域 | 必要 | ||
ChannelId | 長 | 必要 | ||
目錄識別碼 | 長 | 必要 | ||
產品識別碼 | IE 可數長<> | 必要 | 要為其計算價格的產品清單。 | |
活動日期 | 日期時間偏移量 | 必要 | 計算價格的日期。 | |
客戶識別碼 | 字串 | 可選項目 | 客戶帳號。 | |
隸屬關係忠誠度等級 | IEnumerable<AffiliationLoyaltyTier> | 可選項目 | 隸屬關係和忠誠度等級。 | |
隸屬關係識別碼 | 長 | 必要 | 隸屬關係 ID。 | |
LoyaltyTierId | 長 | 可選項目 | 會員層 ID。 | |
包括簡單折扣在上下文價格 | 布林 | 可選項目 | 將此參數 設置為 true 可在定價計算中包括簡單折扣。 預設值為 假。 | |
包括變體價格範圍 | 布林 | 可選項目 | 將此參數 設置為 true 可獲取主產品所有變體中的最低和最高價格。 預設值為 假。 | |
包括可實現的價格和折扣 | 布林 | 可選項目 | 將此參數 設置為 true 以獲得可實現的價格和折扣。 預設值為 假。 |
範例要求正文
{
"projectDomain":
{
"ChannelId": 5637144592,
"CatalogId": 0
},
"productIds":
[
68719489871
],
"activeDate": "2022-06-20T14:40:05.873+08:00",
"includeSimpleDiscountsInContextualPrice": true,
"includeVariantPriceRange": false
}
樣本回覆主體
{
"value":
[
{
"ProductId": 68719489871,
"ListingId": 68719489871,
"BasePrice": 0,
"TradeAgreementPrice": 0,
"AdjustedPrice": 0,
"MaxVariantPrice": 0,
"MinVariantPrice": 0,
"CustomerContextualPrice": 0,
"DiscountAmount": 0,
"CurrencyCode": "USD",
"ItemId": "82000",
"InventoryDimensionId": null,
"UnitOfMeasure": "ea",
"ValidFrom": "2022-06-20T01:40:05.873-05:00",
"ProductLookupId": 0,
"ChannelId": 5637144592,
"CatalogId": 0,
"SalesAgreementPrice": 0,
"PriceSourceTypeValue": 1,
"DiscountLines": [],
"AttainablePriceLines": [],
}
]
}
使用 PriceLookupContext
PriceLookupContext 類是在 Commerce 版本 10.0.37 版本中引入的。 該類包含 GetActivePrices API 的所有查找條件,並替換了之前的 productIds、activeDate、customerId 和 affiliationLoyaltyTiers 參數。 該類還具有其他屬性,開發人員可以使用這些屬性在折扣查找期間篩選折扣。
根據組織的需要,GetActivePrices API 可以接受以前的參數,也可以接受與 PriceLookupContext 類關聯的新參數。
輸入參數
姓名 | 子名稱 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|---|
專案域 | 投影域 | 必要 | ||
ChannelId | 長 | 必要 | ||
目錄識別碼 | 長 | 必要 | ||
priceLookupContext | PriceLookupContext | 必要 | ||
標頭上下文 | PriceLookupHeaderContext | 必要 | 包含 CustomerAccountNumber、AffiliationLoyaltyTierLines 和 SalesOrderProperties | |
線上下文 | IEnumerable<PriceLookupLineContext> | 必要 | 包含 ProductRecordId、UnitOfMeasureSymbol、InventorySiteId、InventoryLocationId、DeliveryMode、CatalogId 和 SalesLineProperties。 | |
包括簡單折扣在上下文價格 | 布林 | 可選項目 | 將此參數 設置為 true 可在定價計算中包括簡單折扣。 預設值為 假。 | |
包括變體價格範圍 | 布林 | 可選項目 | 將此參數 設置為 true 可獲取主產品所有變體中的最低和最高價格。 預設值為 假。 | |
包括可實現的價格和折扣 | 布林 | 可選項目 | 將此參數 設置為 true 以獲得可實現的價格和折扣。 預設值為 假。 |
有關更多資訊,請參閱 PriceLookupContext。
計算銷售文件
CalculateSalesDocument API 是在 Commerce 版本 10.0.25 版本中引入的。 此 API 計算給定數量的產品的價格和折扣 (如果在訂單中一起購買)。 計算銷售文件 API 背後的 定價計算同時考慮了單行折扣和多行折扣。
計算銷售文件 API 的主要用例 是在完整購物車上下文不保留的情況下進行定價計算 (例如銷售報價)。 銷售指向 (POS) 和 Commerce 電子商務中的方案也可以從此用例中受益。 當購物車商品按套裝計算時 (例如,對於離散搭售方案、連結或推薦的產品,或已添加到購物車的產品),較低的總價可能會說服客戶將產品添加到購物車。
計算銷售文件 API 的請求和回覆 的數據模型都是 購物車。 但是,在此 API 的上下文中,數據模型名為 SalesDocument。 由於大多數屬性都是可選的,並且只有少數屬性會影響定價計算,因此下表中僅顯示與定價相關的欄位。 我們不建議 API 請求中涉及任何其他欄位。
計算銷售文件 API 的範圍 只是計算價格和折扣。 不涉及稅費和費用。
下表顯示了名為 salesDocument 的物件內的輸入參數。
姓名 | 子名稱 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|---|
識別碼 | 字串 | 必要 | 銷售文件的識別碼。 | |
購物車線 | 伊利斯特<購物車線> | 可選項目 | 要為其計算價格和折扣的行清單。 | |
產品識別碼 | 長 | 在購物車線範圍內是必需的 | 產品記錄 ID。 | |
ItemId | 字串 | 可選項目 | 項目識別碼。 如果提供了值,則該值必須與 ProductId 參數的值 匹配。 | |
InventoryDimensionId | 字串 | 可選項目 | 庫存維度識別碼。 如果提供了值,則 ItemId 和 庫存維度 ID 值的組合 必須與 ProductId 參數的值 匹配。 | |
數量 | 小數 | 在購物車線範圍內是必需的 | 產品的數量。 | |
測量單位符號 | 字串 | 可選項目 | 產品的單位。 默認情況下,如果未提供值,API 將使用產品的銷售單位。 | |
CustomerId | 字串 | 可選項目 | 客戶帳號。 | |
會員卡識別碼 | 字串 | 可選項目 | 會員卡標識碼。 與會員卡關聯的任何客戶帳戶都必須與 CustomerId 參數的值 (如果提供)匹配。 如果未找到該會員卡或其狀態為 「已阻止」,則不會考慮該。 | |
隸屬關係線 | IList<AffiliationLoyaltyTier> | 可選項目 | 隸屬關係忠誠度等級線。 如果 提供了 CustomerId 和/或 LoyaltyCardId 值,則相應的隸屬關係會員層級行將與 AffiliationLines 值中 提供的行合併。 | |
隸屬關係識別碼 | 長 | 在 AffiliationLoyaltyTier 範圍內是必需的 | 隸屬關係記錄 ID。 | |
LoyaltyTierId | 長 | 在 AffiliationLoyaltyTier 範圍內是必需的 | 會員層記錄 ID。 | |
隸屬關係類型值 | int | 在 AffiliationLoyaltyTier 範圍內是必需的 | 一個值,指示隸屬關係行 是「常規 」類型 (0) 還是 「會員 」類型 (1)。 如果參數設置為 0,則 API 會將 AffiliationId 值作為識別碼,並 忽略 LoyaltyTierId 值。 如果參數設置為 1,則 API 將 LoyaltyTierId 值作為識別碼,並 忽略 AffiliationId 值。 | |
原因代碼行 | 收集<原因代碼行> | 在 AffiliationLoyaltyTier 範圍內是必需的 | 原因代碼行。 此參數對定價計算沒有影響,但作為 AffiliationLoyaltyTier 物件的一部分 是必需的。 | |
CustomerId | 字串 | 在 AffiliationLoyaltyTier 範圍內是必需的 | 客戶帳號。 | |
優惠券 | IList<優惠券> | 可選項目 | 不適用 (無效、過期或未找到) 的優惠券不會在定價計算中考慮。 | |
代碼 | 字串 | 在優惠券範圍內需要 | 優惠券代碼。 | |
CodeId | 字串 | 可選項目 | 優惠券代碼標識碼。 如果提供了值,則該值必須與 Code 參數的值 匹配。 | |
折扣優惠識別碼 | 字串 | 可選項目 | 折扣標識碼。 如果提供了值,則該值必須與 Code 參數的值 匹配。 |
範例要求正文
{
"salesDocument":
{
"Id": "CalculateSalesDocument",
"CartLines":
[
{
"ProductId": 68719491408,
"ItemId": "91003",
"InventoryDimensionId": "",
"Quantity": 1,
"UnitOfMeasureSymbol": "ea"
},
{
"ProductId": 68719493014,
"Quantity": 2,
"UnitOfMeasureSymbol": "ea"
}
],
"CustomerId": "3003",
"AffiliationLines":
[
{
"AffiliationId": 68719476742,
"LoyaltyTierId": 0,
"AffiliationTypeValue": 0,
"ReasonCodeLines": [],
"CustomerId": null
}
],
"LoyaltyCardId": "55103",
"Coupons":
[
{
"CodeId": "CODE-0005",
"Code": "CPN0004",
"DiscountOfferId": "ST100077"
}
]
}
}
整個購物車對象作為回覆正文返回。 要查看價格和折扣,您應該關注下表中的欄位。
姓名 | 子名稱 | 類型 | 描述 |
---|---|---|---|
淨價 | 小數 | 應用任何折扣之前整個銷售文件的凈價。 | |
DiscountAmount | 小數 | 整個銷售文件的總折扣金額。 | |
總金額 | 小數 | 整個銷售文件的總金額。 | |
購物車線 | 伊利斯特<購物車線> | 包含價格和折扣詳細資訊的計算明細。 | |
價格 | 小數 | 產品的單價。 | |
淨價 | 小數 | 應用任何折扣之前行的凈價 (= 價格 × 數量)。 | |
DiscountAmount | 小數 | 折扣金額。 | |
總金額 | 小數 | 明細的最終總定價結果。 | |
價格線 | IList<價格線> | 價格詳細資訊,包括價格來源 (基本價格、價格調整或貿易協議) 和金額。 | |
折扣行 | IList<折扣線> | 折扣詳情。 |
取得可用促銷
有兩個類似的 GetAvailablePromotions API:
- 購物車/獲取可用促銷接受 購物車行標識符清單作為參數。
- GetAvailablePromotions 接受 DiscountSearchCriteria 對象作為參數。
購物車/獲取可用促銷
假設購物車有多個購物車行, 購物車/獲取可用促銷 API 會返回購物車行的所有適用折扣。
購物車/GetAvailablePromotions API 的主要 用例是購物車頁面,零售商在其中顯示當前購物車的應用折扣或可用優惠券。
下表列出了購物車/獲取可用促銷 API 的 輸入參數。
姓名 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|
機碼 | 字串 | 必要 | 購物車 ID。 |
購物車行識別碼 | IE 可<枚舉字串> | 可選項目 | 設置此參數以僅返回所選購物車行的折扣。 |
樣本回覆主體
{
"value":
[
{
"LineId": "f495ffa507bc4f63a47a409cd8713dd7",
"Promotion": {
"OfferId": "ST100012",
"OfferName": "Loyalty 5% off over $100",
"PeriodicDiscountTypeValue": 4,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": null,
"AdditionalRestrictions": null,
"Description": "All loyalty members get 5% with transaction total above $10 unless some exclusive or best price discounts are already applied on the transaction",
"ValidFromDate": "2022-06-20T06:52:56.2460219Z",
"ValidToDate": "2022-06-20T06:52:56.2460224Z",
"CouponCodes": [],
"ValidationPeriod": null
}
}
]
}
取得可用促銷
GetAvailablePromotions API 傳回給定管道的所有適用折扣。
GetAvailablePromotions API 的主要用例 是“所有折扣”頁面,零售商在其中顯示當前管道的所有折扣。
下表列出了 GetAvailablePromotions API 的 輸入參數。
姓名 | 子名稱 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|---|
搜尋條件 | 折扣搜尋條件 | 必要 | ||
ChannelId | 長 | 必要 | ||
Keyword | 字串 | 可選項目 | ||
是折扣代碼必填 | 布林 | 可選項目 | 指示是否需要優惠券代碼。 如果傳遞 null,則無論優惠券代碼要求如何,都將檢索所有折扣。 | |
開始日期 | 日期時間偏移量 | 必要 | 開始日期 (含)。 | |
結束日期 | 日期時間偏移量 | 必要 | 結束日期 (含)。 |
範例要求正文
{
"searchCriteria": {
"ChannelId": 5637144592,
"StartDate": "1900-01-01T00:00:00Z",
"EndDate": "2154-12-31T00:00:00Z"
}
}
樣本回覆主體
{
"@odata.context": "https://usnconeboxax1ret.cloud.onebox.dynamics.com/Commerce/$metadata#Collection(Microsoft.Dynamics.Commerce.Runtime.DataModel.Promotion)",
"value": [
{
"OfferId": "ST100024",
"OfferName": "Weekly ad",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": true,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100019",
"OfferName": "Take 20 off anything",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": true,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100015",
"OfferName": "Watches",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100012",
"OfferName": "Loyalty 5% off over $100",
"PeriodicDiscountTypeValue": 4,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "All loyalty members get 5% with transaction total above $10 unless some exclusive or best price discounts are already applied on the transaction",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100011",
"OfferName": "Loyalty 50% off sunglasses",
"PeriodicDiscountTypeValue": 1,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Gold tier Loyalty customers get 50% on Sunglasses when purchased with a Top, Scarf or Men's Casual shirts",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100009",
"OfferName": "Student discount",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Students get 10% off for on Jeans and Backpacks",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100004",
"OfferName": "Soccer sale",
"PeriodicDiscountTypeValue": 3,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Providing you great discounts ranging from 10% to 20% on all branded Soccer balls. We carry a full line of soccer balls. Buy one for yourself or gift it to someone. We promise you that you won't be disappointed. If you don't see something that you are looking for please call us. This offer is only valid at our Retail Malls.",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100003",
"OfferName": "BMX helmet sale",
"PeriodicDiscountTypeValue": 0,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Get 20% off on all branded youth BMX helmets when you buy two or more. Choose from our great selection of BMX bike helmets from top brands, including ProTec, Giro, Bell and SixSixOne BMX helmets. This offer is only available at our Retail Mall stores",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
}
]
}
新增優惠券
添加優惠券 API 支援將優惠券清單添加到購物車。 它在添加優惠券後返回購物車物件。
下表顯示了添加優惠券 API 的 輸入參數。
姓名 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|
機碼 | 字串 | 必要 | 購物車 ID。 |
優惠券代碼 | IE 可<枚舉字串> | 必要 | 要添加到購物車的優惠券代碼。 |
是舊版折扣代碼 | 布林 | 可選項目 | 將此參數 設置為 true 以指示優惠券是舊版折扣代碼。 預設值為 假。 |
刪除優惠券
刪除優惠券 API 支援從購物車中刪除優惠券清單。 它在刪除優惠券後返回購物車物件。
下表顯示了刪除優惠券 API 的 輸入參數。
姓名 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|
機碼 | 字串 | 必要 | 購物車 ID。 |
優惠券代碼 | IE 可<枚舉字串> | 必要 | 要從購物車中刪除的優惠券代碼。 |
取得產品促銷
GetProductPromotions API 是在 Commerce 版本 10.0.38 版本中引入的。 此 API 獲取具有給定產品折扣的促銷產品清單,還可以將產品折扣 ID 和定價上下文清單作為輸入並查詢關聯的促銷產品。 GetProductPromotions API 的主要用例 是在產品清單頁面上,零售商在其中展示具有折扣的產品。 此 API 同時支援基於屬性的定價模型和舊版定價模型。
下表顯示了 GetProductPromotions API 的 輸入參數。
姓名 | 子名稱 | 類型 | 必要/選擇性 | 描述 |
---|---|---|---|---|
產品折扣識別碼 | IE 可<枚舉字串> | 必要 | 用於查找促銷產品的產品折扣 ID 清單。 | |
priceLookupContext | PriceLookupContext | 必要 | 定價的上下文。 | |
活動日期 | 日期時間偏移量 | 可選項目 | 考慮升級的日期。 |
限制和限制:
- 最多只能輸入五個產品折扣 ID。
- 僅支持簡單折扣。
範例要求正文
{
{
"productDiscountIds":
[
"ST100009",
"ST100024"
],
"priceLookupContext":
{
"HeaderContext":
{
"AffiliationLoyaltyTierLines":
[
{
"AffiliationId": 5637144577,
"LoyaltyTierId": 0,
"AffiliationTypeValue": 0,
"ReasonCodeLines": [],
"CustomerId": "2001"
}
]
},
"LineContexts": []
},
"activeDate": "2023-08-20T14:40:05.873+08:00",
},
}
樣本回覆主體
{
"value":
[
{
"ProductId": 68719489871,
"ProductDiscounts":
[
{
"OfferId": "ST100009",
"OfferName": "Student discount",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": null,
"AdditionalRestrictions": null,
"Description": "Students get 10% off on Jeans and Backpacks",
"ValidFromDate": "1900-01-01T00:00:00.0000000Z",
"ValidToDate": "2154-12-31T00:00:00.0000000Z",
"CouponCodes": [],
"DateValidationTypeValue": 1
},
{
"OfferId": "ST100024",
"OfferName": "Weekly ad",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": null,
"AdditionalRestrictions": null,
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00.0000000Z",
"ValidToDate": "2154-12-31T00:00:00.0000000Z",
"CouponCodes": [],
"DateValidationTypeValue": 1
}
]
},
{
"ProductId": 68719489872,
"ProductDiscounts":
[
{
"OfferId": "ST100009",
"OfferName": "Student discount",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": null,
"AdditionalRestrictions": null,
"Description": "Students get 10% off on Jeans and Backpacks",
"ValidFromDate": "1900-01-01T00:00:00.0000000Z",
"ValidToDate": "2154-12-31T00:00:00.0000000Z",
"CouponCodes": [],
"DateValidationTypeValue": 1
}
]
}
]
}
有關更多資訊,請參閱 PriceLookupContext。
PriceLookupContext
PriceLookupContext 類用於 GetProductPromotions 和 GetActivePrices API 中的 屬性基礎定價模型。
下面的示例顯示了 PriceLookupContext 類的結構。
{
HeaderContext: PriceLookupHeaderContext
{
CustomerAccountNumber: string
AffiliationLoyaltyTierLines: IEnumerable<AffiliationLoyaltyTier>
ChannelId: long?
SalesOrderProperties: IEnumerable<AttributeValueBase>
},
LineContexts: IEnumerable<PriceLookupLineContext>
[
{
ProductRecordId: string
UnitOfMeasureSymbol: string
InventorySiteId: string
InventoryLocationId: string
DeliveryMode: string
CatalogId: string
SalesLineProperties: IEnumerable<AttributeValueBase>
},
]
}
範例要求正文
"PriceLookupContext":
{
"HeaderContext":
{
"CustomerAccount": 2001,
"AffiliationLoyaltyTierLines":
[
{
"AffiliationId": 5637144577,
"LoyaltyTierId": 0,
"AffiliationTypeValue": 0,
"ReasonCodeLines": [],
"CustomerId": "2001"
}
],
"SalesOrderProperties":
[
{
"@odata.type": "#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue",
"Name": "CalcDate",
"TextValue": "2022-10-10"
}
]
},
"LineContexts": []
}
附註
- PriceLookupHeaderContext 參數中沒有指定客戶組,因為它是由客戶帳號推斷出來的。
- ChannelId 可以在 PriceLookupHeaderContext 參數中指定。 如果未指定,則使用請求上下文中的 ChannelId (使用 Store Commerce 時的當前通道)。