Commerce 定价 API
本文介绍 Microsoft Dynamics 365 Commerce 定价引擎提供的各种定价 API。
Dynamics 365 Commerce 定价引擎提供以下 Retail Server API,外部应用程序可以使用这些 API 支持各种定价方案:
- GetActivePrices –此 API 获取产品的计算价格,包括简单折扣。
- CalculateSalesDocument –此 API 计算给定数量的产品的价格和折扣(如果一起购买)。
- GetAvailablePromotions –此 API 获取购物车中产品的适用折扣。
- 添加优惠券 –此 API 将优惠券添加到购物车。
- 删除优惠券 –此 API 从购物车中删除优惠券。
有关如何在外部应用程序中使用 Retail Server API 的详细信息,请参阅 在外部应用程序中使用 Retail Server API。
GetActivePrices
Commerce 版本 10.0.4 中引入了 GetActivePrices API。 此 API 获取产品的计算价格,包括简单折扣。 它不计算多行折扣,并且它假定 API 请求中的每个产品的数量为 1。 此 API 还可以将产品列表作为输入并批量查询单个产品的价格。
GetActivePrices API 支持员工、客户、匿名和应用程序 Commerce 角色。
GetActivePrices API 的主要用例是产品详细信息页面 (PDP),零售商在其中展示产品的最佳价格,包括任何有效的折扣。
纸币
如果您看到 GetActivePrices
呼叫返回的产品较少,您可以按照渠道促销配置验证器验证您的促销配置。
下表显示了 GetActivePrices API 的输入参数。
名称 | 子名称 | 类型 | 必需/可选 | 描述 |
---|---|---|---|---|
projectDomain | ProjectionDomain | 必填 | ||
ChannelId | 长型 | 必填 | ||
CatalogId | 长型 | 必填 | ||
productIds | IEnumerable<long> | 必填 | 要计算其价格的产品的列表。 | |
activeDate | DateTimeOffset | 必填 | 计算价格的日期。 | |
customerId | 字符串 | 可选 | 客户帐号。 | |
affiliationLoyaltyTiers | IEnumerable<AffiliationLoyaltyTier> | 可选 | 隶属关系和会员层。 | |
AffiliationId | 长型 | 必填 | 隶属关系 ID。 | |
LoyaltyTierId | 长型 | 可选 | 会员层 ID。 | |
includeSimpleDiscountsInContextualPrice | 布尔型 | 可选 | 将此参数设置为 true 以在定价计算中包括简单折扣。 默认值为 false。 | |
includeVariantPriceRange | 布尔型 | 可选 | 将此参数设置为 true 以在主产品的所有变型中获取最低和最高价格。 默认值为 false。 | |
includeAttainablePricesAndDiscounts | 布尔型 | 可选 | 将此参数设置为 true 以获取可实现的价格和折扣。 默认值为 false。 |
示例请求正文
{
"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 类关联的先前参数或新参数。
输入参数
名称 | 子名称 | 类型 | 必需/可选 | 描述 |
---|---|---|---|---|
projectDomain | ProjectionDomain | 必填 | ||
ChannelId | 长型 | 必填 | ||
CatalogId | 长型 | 必填 | ||
priceLookupContext | PriceLookupContext | 必填 | ||
HeaderContext | PriceLookupHeaderContext | 必填 | 包含 CustomerAccountNumber、AffiliationLoyaltyTierLines 和 SalesOrderProperties | |
LineContexts | IEnumerable<PriceLookupLineContext> | 必填 | 包含 ProductRecordId、UnitOfMeasureSymbol、InventorySiteId、InventoryLocationId、DeliveryMode、CatalogId 和 SalesLineProperties。 | |
includeSimpleDiscountsInContextualPrice | 布尔型 | 可选 | 将此参数设置为 true 以在定价计算中包括简单折扣。 默认值为 false。 | |
includeVariantPriceRange | 布尔型 | 可选 | 将此参数设置为 true 以在主产品的所有变型中获取最低和最高价格。 默认值为 false。 | |
includeAttainablePricesAndDiscounts | 布尔型 | 可选 | 将此参数设置为 true 以获取可实现的价格和折扣。 默认值为 false。 |
有关详细信息,请参阅 PriceLookupContext。
CalculateSalesDocument
Commerce 版本 10.0.25 中引入了 CalculateSalesDocument API。 此 API 会计算给定数量的产品的价格和折扣(如果产品是在订单中一起购买的)。 CalculateSalesDocument API 后面的定价计算会同时考虑单行折扣和多行折扣。
CalculateSalesDocument API 的主要用例是在完整购物车上下文(如销售报价)未持续存在的情况下进行定价计算。 销售点 (POS) 和 Commerce 电子商务中的方案也可以从此用例中受益。 将购物车物料作为集计算时的总价较低(例如,对于离散的捆绑销售、链接或推荐的产品或已添加到购物车的产品),可能会诱使客户将产品添加到购物车中。
CalculateSalesDocument API 的请求和响应的数据模型为购物车。 但是,在此 API 的上下文中,数据模型名为 SalesDocument。 由于大多数属性是可选属性,并且只有其中少数属性影响定价计算,因此下表中仅显示与定价相关的字段。 我们不建议 API 请求中涉及任何其他字段。
CalculateSalesDocument API 的作用仅为计算价格和折扣。 不涉及税金和费用。
下表显示了名为 salesDocument 的对象内的输入参数。
名称 | 子名称 | 类型 | 必需/可选 | 描述 |
---|---|---|---|---|
ID | 字符串 | 必填 | 销售单据的标识符。 | |
CartLines | IList<CartLine> | 可选 | 要计算其价格和折扣的行的列表。 | |
产品 ID | 长型 | CartLine 的范围中需要 | 产品记录 ID。 | |
ItemId | 字符串 | 可选 | 物料标识符。 如果提供了值,则它必须与 ProductId 参数的值匹配。 | |
InventoryDimensionId | 字符串 | 可选 | 库存维度标识符。 如果提供了值,则 ItemId 和 InventoryDimensionId 值的组合必须与 ProductId 参数的值匹配。 | |
Quantity | 十进制 | CartLine 的范围中需要 | 产品数量。 | |
UnitOfMeasureSymbol | 字符串 | 可选 | 产品的单位。 默认情况下,如果未提供值,则 API 使用产品的销售单位。 | |
CustomerId | 字符串 | 可选 | 客户帐号。 | |
LoyaltyCardId | 字符串 | 可选 | 会员卡标识符。 与会员卡关联的任何客户帐户都必须与 CustomerId 参数的值匹配(如果已提供)。 如果找不到会员卡或其状态为已锁定,则不会考虑该会员卡。 | |
AffiliationLines | IList<AffiliationLoyaltyTier> | 可选 | 隶属关系会员层行。 如果提供了 CustomerId 和/或 LoyaltyCardId 值,则相应的隶属关系会员层级行将与 AffiliationLines 值中提供的行合并。 | |
AffiliationId | 长型 | AffiliationLoyaltyTier 的范围中需要 | 隶属关系记录 ID。 | |
LoyaltyTierId | 长型 | AffiliationLoyaltyTier 的范围中需要 | 会员层记录 ID。 | |
AffiliationTypeValue | 整数 | AffiliationLoyaltyTier 的范围中需要 | 一个指示隶属关系行是常规类型 (0) 还是会员类型 (1) 的值。 如果参数设置为 0,则 API 将 AffiliationId 值作为标识符,并忽略 LoyaltyTierId 值。 如果参数设置为 1,则 API 将 LoyaltyTierId 值作为标识符,并忽略 AffiliationId 值。 | |
ReasonCodeLines | Collection<ReasonCodeLine> | AffiliationLoyaltyTier 的范围中需要 | 原因代码行。 此参数对定价计算没有影响,但作为 AffiliationLoyaltyTier 对象的一部分是必需的。 | |
CustomerId | 字符串 | AffiliationLoyaltyTier 的范围中需要 | 客户帐号。 | |
优惠券 | IList<Coupon> | 可选 | 定价计算中不考虑不适用(停用、已过期或找不到)的优惠券。 | |
代码 | 字符串 | 优惠券的范围中需要 | 优惠券代码。 | |
CodeId | 字符串 | 可选 | 优惠券代码标识符。 如果提供了值,则它必须与 Code 参数的值匹配。 | |
DiscountOfferId | 字符串 | 可选 | 折扣标识符。 如果提供了值,则它必须与 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"
}
]
}
}
整个购物车对象作为响应正文返回。 若要检查价格和折扣,您应专注于下表中的字段。
名称 | 子名称 | 类型 | 描述 |
---|---|---|---|
NetPrice | 十进制 | 应用任何折扣前整个销售单据的净价。 | |
DiscountAmount | 十进制 | 整个销售单据的总折扣金额。 | |
TotalAmount | 十进制 | 整个销售单据的总金额。 | |
CartLines | IList<CartLine> | 包括价格和折扣详细信息的计算行。 | |
价格 | 十进制 | 产品的单价。 | |
NetPrice | 十进制 | 应用任何折扣前行的净价(= 价格 × 数量)。 | |
DiscountAmount | 十进制 | 折扣金额。 | |
TotalAmount | 十进制 | 行的最终总定价结果。 | |
PriceLines | IList<PriceLine> | 价格详细信息,包括价格来源(基础价格、价格调整或贸易协议)和金额。 | |
DiscountLines | IList<DiscountLine> | 折扣明细。 |
GetAvailablePromotions
有两个类似的 GetAvailablePromotions API:
- 购物车/GetAvailablePromotions 接受购物车行标识符列表作为参数。
- GetAvailablePromotions 接受 DiscountsSearchCriteria 对象作为参数。
Carts/GetAvailablePromotions
假定购物车具有多个购物车行,那么 Carts/GetAvailablePromotions API 会返回购物车行的所有适用折扣。
Carts/GetAvailablePromotions API 的主要用例是购物车页面,零售商在其中展示当前购物车的已应用折扣或可用优惠券。
下表列出了 Carts/GetAvailablePromotions API 的输入参数。
名称 | 类型 | 必需/可选 | 说明 |
---|---|---|---|
键 | 字符串 | 必填 | 购物车 ID。 |
cartLineIds | IEnumerable<string> | 可选 | 将此参数设置为仅返回所选购物车行的折扣。 |
示例回复正文
{
"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
GetAvailablePromotions API 返回给定渠道的所有适用折扣。
GetAvailablePromotions API 的主要用例是“所有折扣”页面,零售商在其中展示当前渠道的所有折扣。
下表列出了 GetAvailablePromotions API 的输入参数。
名称 | 子名称 | 类型 | 必需/可选 | 描述 |
---|---|---|---|---|
searchCriteria | DiscountsSearchCriteria | 必填 | ||
ChannelId | 长型 | 必填 | ||
关键字 | 字符串 | 可选 | ||
IsDiscountCodeRequired | 布尔型 | 可选 | 指示是否需要优惠券代码。 如果传递 null,将检索所有折扣,而不考虑优惠券代码要求。 | |
StartDate | DateTimeOffset | 必填 | 开始日期(含)。 | |
EndDate | DateTimeOffset | 必填 | 结束日期(含)。 |
示例请求正文
{
"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
}
}
]
}
]
}
AddCoupons
AddCoupons API 支持将优惠券列表添加到购物车。 在添加优惠券后,它将返回购物车对象。
下表显示了 AddCoupons API 的输入参数。
Name | 类型 | 必填/可选 | 说明 |
---|---|---|---|
键 | 字符串 | 必填 | 购物车 ID。 |
couponCodes | IEnumerable<string> | 必填 | 要添加到购物车的优惠券代码。 |
isLegacyDiscountCode | 布尔型 | 可选 | 将此参数设置为 true 以指示优惠券是旧折扣代码。 默认值为 false。 |
RemoveCoupons
RemoveCoupons API 支持从购物车中删除优惠券列表。 在删除优惠券后,它将返回购物车对象。
下表显示了 RemoveCoupons API 的输入参数。
Name | 类型 | 必填/可选 | 说明 |
---|---|---|---|
键 | 字符串 | 必填 | 购物车 ID。 |
couponCodes | IEnumerable<string> | 必填 | 要从购物车中删除的优惠券代码。 |
GetProductPromotions
GetProductPromotions API 已引入 Commerce 版本 10.0.38 中。 此 API 获取具有给定产品折扣的促销产品列表,还可以将产品折扣 ID 和定价上下文列表作为输入并查询关联的促销产品。 GetProductPromotions API 的主要用例是在产品列表页面上,零售商在其中展示折扣产品。 此 API 支持基于属性的定价模型和旧定价模型。
下表显示了 GetProductPromotions API 的输入参数。
名称 | 子名称 | 类型 | 必需/可选 | 描述 |
---|---|---|---|---|
productDiscountIds | IEnumerable<string> | 必填 | 用于查找促销产品的产品折扣 ID 列表。 | |
priceLookupContext | PriceLookupContext | 必填 | 定价的上下文。 | |
activeDate | DateTimeOffset | 可选 | 考虑促销的日期。 |
约束与限制:
- 最多只能将五个产品折扣作为输入。
- 仅支持简单折扣。
示例请求正文
{
{
"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 时的当前渠道)。