API'er til Commerce-prissætning
Denne artikel beskriver forskellige API'er til prissætning, der leveres af Microsoft Dynamics 365 Commerce-prissætningsprogrammet.
Prissætningsprogrammet Dynamics 365 Commerce indeholder følgende Retail Server-API'er, der kan forbruge eksterne programmer for at understøtte forskellige prissætningsscenarier:
- GetActivePrices - Denne API får et produkts beregnede pris, inklusive enkle rabatter.
- CalculateSalesDocument – Denne API beregner priser og rabatter for produkter i bestemte mængder, hvis de købes sammen.
- GetAvailablePromotions - Denne API får gældende rabatter for produkter i indkøbskurven.
- AddCoupons – Denne API tilføjer kuponer til en indkøbskurv.
- RemoveCoupons – Denne API fjerner kuponer fra en indkøbskurv.
Du kan finde flere oplysninger om, hvordan du forbruger Retail Server-API'er i eksterne programmer, i Bruge Retail Server-API'er i eksterne programmer.
GetActivePrices
API'en GetActivePrices blev introduceret i Commerce version 10.0.4. Denne API henter et produkts beregnede pris, herunder simple rabatter. Der beregnes ikke samkøbsrabatter, og det antages, at hvert produkt i en API-anmodning har et antal på 1. Denne API kan også tage en liste over produkter som input og forespørge på prisen på de enkelte produkter i store mængder.
API'en GetActivePrices understøtter rollerne Medarbejder, Kunde, Anonym og Program i Commerce.
Hovedanvendelsen af API'en GetActivePrices er siden med produktdetaljer (PDP), hvor detailhandlere viser den bedste pris for et produkt, herunder eventuelle gældende rabatter.
Seddel
Hvis du ser færre produkter returneret for et GetActivePrices
-opkald, kan du følge Validerer for konfiguration af kanalmerchandising for at validere dine merchandising-konfigurationer.
I følgende tabel vises inputparametrene for API'en GetActivePrices.
Navn | Undernavn | Type | Krævet/valgfri | Betegnelse |
---|---|---|---|---|
projectDomain | ProjectionDomain | Obligatorisk | ||
ChannelId | langt format | Obligatorisk | ||
CatalogId | langt format | Obligatorisk | ||
productIds | IEnumerable<long> | Obligatorisk | Listen over produkter, der skal beregnes priser for. | |
activeDate | DateTimeOffset | Obligatorisk | Den dato, hvor priserne beregnes. | |
customerId | streng | Valgfri | Debitors kontonummer. | |
affiliationLoyaltyTiers | IEnumerable<AffiliationLoyaltyTier> | Valgfri | Niveau for tilknytning og fordelskunde. | |
AffiliationId | langt format | Obligatorisk | Tilknytnings-id. | |
LoyaltyTierId | langt format | Valgfri | Fordelskundeniveau-id. | |
includeSimpleDiscountsInContextualPrice | bool | Valgfri | Angiv denne parameter til sand, så den medtager simple rabatter i prisberegningen. Standardværdien er falsk. | |
includeVariantPriceRange | bool | Valgfri | Angiv denne parameter til sand for at få minimum- og maksimumpriser blandt alle varianter af et masterprodukt. Standardværdien er falsk. | |
includeAttainablePricesAndDiscounts | bool | Valgfri | Angiv denne parameter til sand for at få opnåelige priser og rabatter. Standardværdien er falsk. |
Prøveanmodningsorgan
{
"projectDomain":
{
"ChannelId": 5637144592,
"CatalogId": 0
},
"productIds":
[
68719489871
],
"activeDate": "2022-06-20T14:40:05.873+08:00",
"includeSimpleDiscountsInContextualPrice": true,
"includeVariantPriceRange": false
}
Prøve svar krop
{
"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": [],
}
]
}
Brug PriceLookupContext
PriceLookupContext-klassen blev introduceret i Commerce version 10.0.37-udgivelsen. Klassen indeholder alle opslagskriterierne for GetActivePrices API og erstatter de tidligere parametre for productIds, activeDate, customerId og affiliationLoyaltyTiers. Klassen har også flere egenskaber, som udviklere kan bruge til at filtrere rabatter under rabatopslag.
Afhængigt af organisationens behov kan GetActivePrices API enten acceptere tidligere parametre eller nye parametre, der er tilknyttet PriceLookupContext-klassen.
Input parametre
Navn | Undernavn | Type | Krævet/valgfri | Betegnelse |
---|---|---|---|---|
projectDomain | ProjectionDomain | Krævet | ||
ChannelId | langt format | Krævet | ||
CatalogId | langt format | Krævet | ||
priceLookupContext | PriceLookupContext | Krævet | ||
HeaderContext | PriceLookupHeaderContext | Krævet | Indeholder CustomerAccountNumber, AffiliationLoyaltyTierLines og SalesOrderProperties | |
LineContexts | IEnumerable<PriceLookupLineContext> | Krævet | Indeholder ProductRecordId, UnitOfMeasureSymbol, InventorySiteId, InventoryLocationId, DeliveryMode, CatalogId og SalesLineProperties. | |
includeSimpleDiscountsInContextualPrice | bool | Valgfri | Angiv denne parameter til sand, så den medtager simple rabatter i prisberegningen. Standardværdien er falsk. | |
includeVariantPriceRange | bool | Valgfri | Angiv denne parameter til sand for at få minimum- og maksimumpriser blandt alle varianter af et masterprodukt. Standardværdien er falsk. | |
includeAttainablePricesAndDiscounts | bool | Valgfri | Angiv denne parameter til sand for at få opnåelige priser og rabatter. Standardværdien er falsk. |
Du kan finde flere oplysninger i PriceLookupContext.
CalculateSalesDocument
API'en CalculateSalesDocument blev introduceret i Commerce version 10.0.25. Denne API beregner priser og rabatter for produkter i et bestemt antal, hvis de købes sammen i en ordre. Prisberegningen bag API'en CalculateSalesDocument tager højde for både rabat på enkelte linjer og samkøbsrabatter.
Hovedanvendelsen af API'en CalculateSalesDocument er prisberegningen i scenarier, hvor hele indkøbsvognskonteksten ikke består (f.eks. salgstilbud). Scenarier i POS og e-handel kan også udnytte denne anvendelse. En lavere samlet pris, når varerne i indkøbsvognen beregnes som et sæt (f.eks. til adskilte bundter, sammenkædede eller anbefalede produkter eller produkter, der allerede er føjet til indkøbsvognen), kan overtale kunder til at føje produkter til indkøbsvognen.
Datamodellen for både anmodningen og svaret fra API'en CalculateSalesDocument er indkøbsvogn. I forbindelse med denne API kaldes datamodellen dog SalesDocument. Da de fleste egenskaber er valgfrie, og kun nogle få af dem har indflydelse på prisberegningen, vises der kun prisrelaterede felter i følgende tabel. Vi fraråder, at der involveres andre felter i API-anmodningen.
Området for API'en CalculateSalesDocument er kun beregningen af priser og rabatter. Skatter og gebyrer er ikke involveret.
Følgende tabel viser inputparametrene i det objekt, der kaldes salesDocument.
Navn | Undernavn | Type | Krævet/valgfri | Betegnelse |
---|---|---|---|---|
Id | streng | Krævet | Identifikatoren for salgsdokumentet. | |
CartLines | IList<CartLine> | Valgfri | Listen over linjer, der skal beregnes priser og rabatter for. | |
ProductId | langt format | Påkrævet i området CartLine | Post-id for produkt. | |
ItemId | streng | Valgfri | Vareidentifikator. Hvis der er angivet en værdi, skal den svare til værdien af parameteren ProductId. | |
InventoryDimensionId | streng | Valgfri | Lagerdimensionens identifikator. Hvis der er angivet en værdi, skal kombinationen af værdierne for ItemId og InventoryDimensionId svare til værdien af parameteren ProductId. | |
Quantity | decimal | Påkrævet i området CartLine | Antallet af produktet. | |
UnitOfMeasureSymbol | streng | Valgfri | Produktets enhed. Hvis der ikke er angivet en værdi, anvender API som standard produktets salgsenhed. | |
CustomerId | streng | Valgfri | Debitors kontonummer. | |
LoyaltyCardId | streng | Valgfri | Fordelskundekortets identifikator. Alle debitorkonti, der er tilknyttet fordelskundekortet, skal svare til værdien for parameteren CustomerId (hvis angivet). Fordelskundekortet tages ikke i betragtning, hvis det ikke findes, eller dets status er Blokeret. | |
AffiliationLines | IList<AffiliationLoyaltyTier> | Valgfri | Niveaulinjer for tilknytning af fordelskunde. Hvis der er angivet værdier for CustomerId og/ eller LoyaltyCardId, flettes de tilsvarende linjer på fordelskundeniveau med linjer, der er angivet i værdien for AffiliationLines. | |
AffiliationId | langt format | Påkrævet i området af AffiliationLoyaltyTier | Tilknytningspost-id. | |
LoyaltyTierId | langt format | Påkrævet i området af AffiliationLoyaltyTier | Fordelskundeniveaupost-id. | |
AffiliationTypeValue | int | Påkrævet i området af AffiliationLoyaltyTier | En værdi, der angiver, om tilknytningslinjen er af typen Generelt (0) eller Fordelskunde (1). Hvis parameteren er angivet til 0, bruger API værdien AffiliationId som identifikator og ignorerer værdien af LoyaltyTierId. Hvis parameteren er angivet til 1, bruger API værdien LoyaltyTierId som identifikator og ignorerer værdien af AffiliationId. | |
ReasonCodeLines | Collection<ReasonCodeLine> | Påkrævet i området af AffiliationLoyaltyTier | Linjer i årsagskode. Denne parameter har ingen indflydelse på prisberegningen, men er påkrævet som del af objektet AffiliationLoyaltyTier. | |
CustomerId | streng | Påkrævet i området af AffiliationLoyaltyTier | Debitors kontonummer. | |
Kuponer | IList<Coupon> | Valgfri | Kuponer, der ikke gælder (inaktive, udløbne eller ikke findes), tages ikke med i betragtning ved prisberegningen. | |
Kode | streng | Påkrævet i området af Kupon | Kuponkode. | |
CodeId | streng | Valgfri | Kuponkodens identifikator. Hvis der er angivet en værdi, skal den svare til værdien af parameteren Kode. | |
DiscountOfferId | streng | Valgfri | Rabatidentifikatoren. Hvis der er angivet en værdi, skal den svare til værdien af parameteren Kode. |
Prøveanmodningsorgan
{
"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"
}
]
}
}
Hele indkøbsvognsobjektet returneres som svartekst. Hvis du vil kontrollere priser og rabatter, skal du fokusere på felterne i følgende tabel.
Navn | Undernavn | Type | Betegnelse |
---|---|---|---|
NetPrice | decimal | Nettoprisen for hele salgsdokumentet, før eventuelle rabatter anvendes. | |
DiscountAmount | decimal | Det samlede rabatbeløb på hele salgsdokumentet. | |
TotalAmount | decimal | Det samlede beløb på hele salgsdokumentet. | |
CartLines | IList<CartLine> | Beregnede linjer, der indeholder pris- og rabatoplysninger. | |
Pris | decimal | Produktets enhedspris. | |
NetPrice | decimal | Nettoprisen for linjen, før eventuelle rabatter anvendes (= pris × antal). | |
DiscountAmount | decimal | Rabatbeløbet. | |
TotalAmount | decimal | Det endelige samlede prissætningsresultat for linjen. | |
PriceLines | IList<PriceLine> | Prisdetaljer, herunder kilden til prisen (basispris, prisjustering eller samhandelsaftale) og beløbet. | |
DiscountLines | IList<DiscountLine> | Rabatoplysninger. |
GetAvailablePromotions
Der findes to ens GetAvailablePromotions-API'er:
- Carts/GetAvailablePromotions accepterer en liste over indkøbsvognslinjeidentifikatorer som parameter.
- GetAvailablePromotions accepterer et DiscountsSearchCriteria-objekt som parameter.
Carts/GetAvailablePromotions
Hvis der findes en indkøbsvogn med flere indkøbsvognslinjer, returnerer API'en Carts/GetAvailablePromotions alle gældende rabatter for indkøbslinjerne.
Hovedanvendelsen af API'en Carts/GetAvailablePromotions er indkøbsvognens side, hvor detailhandlere viser anvendte rabatter eller tilgængelige kuponer til den aktuelle indkøbsvogn.
I følgende tabel vises inputparametrene for API'en Carts/GetAvailablePromotions.
Navn | Type | Krævet/valgfri | Beskrivende tekst |
---|---|---|---|
nøgle | streng | Obligatorisk | Indkøbsvognens id. |
cartLineIds | IEnumerable<string> | Valgfri | Angiv kun denne parameter for at returnere rabatter for udvalgte indkøbsvognslinjer. |
Prøve svar krop
{
"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 – Denne API får gældende rabatter på produkter i indkøbsvognen.
Hovedanvendelsen af API'en GetAvailablePromotions er indkøbsvognens side, hvor detailhandlere ønsker at vise anvendte rabatter eller tilgængelige kuponer til den aktuelle indkøbsvogn.
I følgende tabel vises inputparametrene for API'en GetAvailablePromotions.
Navn | Undernavn | Type | Krævet/valgfri | Betegnelse |
---|---|---|---|---|
searchCriteria | DiscountsSearchCriteria | Krævet | ||
ChannelId | langt format | Krævet | ||
Nøgleord | streng | Valgfri | ||
IsDiscountCodeRequired | bool | Valgfri | Angiver, om kuponkoden er påkrævet eller ej. Hvis null-værdien er overskredet, hentes alle rabatter, uanset kravene til kuponkode. | |
StartDate | DateTimeOffset | Krævet | Startdato (inkl.). | |
EndDate | DateTimeOffset | Krævet | Gældende slutdato (inkl.). |
Prøveanmodningsorgan
{
"searchCriteria": {
"ChannelId": 5637144592,
"StartDate": "1900-01-01T00:00:00Z",
"EndDate": "2154-12-31T00:00:00Z"
}
}
Prøve svar krop
{
"@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
API'en AddCoupons understøtter tilføjelse af en liste over kuponer til en indkøbsvogn. Det returnerer indkøbsvognsobjektet, når kuponerne er tilføjet.
I følgende tabel vises inputparametrene for API'en AddCoupons.
Navn | Type | Obligatorisk/valgfri | Beskrivende tekst |
---|---|---|---|
nøgle | streng | Obligatorisk | Indkøbsvognens id. |
couponCodes | IEnumerable<string> | Obligatorisk | De kuponkoder, der skal føjes til indkøbsvognen. |
isLegacyDiscountCode | bool | Valgfri | Angiv denne parameter til sand for at angive, at kuponen er en ældre rabatkode. Standardværdien er falsk. |
RemoveCoupons
API'en RemoveCoupons understøtter fjernelse af en liste over kuponer fra en indkøbsvogn. Det returnerer indkøbsvognsobjektet, når kuponerne er fjernet.
I følgende tabel vises inputparametrene for API'en RemoveCoupons.
Navn | Type | Obligatorisk/valgfri | Beskrivende tekst |
---|---|---|---|
nøgle | streng | Obligatorisk | Indkøbsvognens id. |
couponCodes | IEnumerable<string> | Krævet | De kuponkoder, der skal fjernes fra indkøbsvognen. |
GetProductPromotions
API'en GetProductPromotions blev introduceret i Commerce version 10.0.38. Denne API får en liste over kampagneprodukter med givne produktrabatter og kan også tage en liste over produktrabat-iD'er og priskontekster som input og forespørge på de tilhørende kampagneprodukter. API'en GetProductPromotions bruges i hovedsagstilfældet på produktoversigter, hvor detailforretninger med rabatter. Denne API understøtter både egenskabsbasisprissætningsmodellen og den tidligere prissætningsmodel.
I følgende tabel vises inputparametrene for API'en GetProductPromotions.
Navn | Undernavn | Type | Krævet/valgfri | Betegnelse |
---|---|---|---|---|
productDiscountIds | IEnumerable<string> | Krævet | Listen over produktrabat-id'er, der skal søge efter kampagneprodukter. | |
priceLookupContext | PriceLookupContext | Krævet | Konteksten for prissætning. | |
activeDate | DateTimeOffset | Valgfri | Den dato, hvor kampagnen overvejes. |
Restriktioner og begrænsninger:
- Det kan kun tage maks. fem produktrabat-id'er som input.
- Kun simple rabatter understøttes.
Prøveanmodningsorgan
{
{
"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",
},
}
Prøve svar krop
{
"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
}
]
}
]
}
Du kan finde flere oplysninger i PriceLookupContext.
PriceLookupContext
Klassen PriceLookupContext bruges til prissætningsmodellen for egenskabsgrundlag i API'erne GetProductPromotions og GetActivePrices.
Strukturen i PriceLookupContext-klassen vises i følgende eksempel.
{
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>
},
]
}
Prøveanmodningsorgan
"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": []
}
Bemærk
- Der er ikke angivet en debitorgruppe i parameteren PriceLookupHeaderContext, fordi den var blevet udledt af debitorkontonummeret.
- ChannelId kan angives i parameteren PriceLookupHeaderContext. Hvis det ikke er angivet, bruges ChannelId fra anmodningskonteksten (den aktuelle kanal, når der bruges Store Commerce).