API-er for Commerce-priser
Denne artikkelen beskriver forskjellige pris-API-er som tilbys av Microsoft Dynamics 365 Commerce-prissettingsmotoren.
Dynamics 365 Commerce-prissettingsmotoren gir følgende API-er for Retail Server som eksterne programmer kan forbruke for å støtte ulike prissettingsscenarioer:
- GetActivePrices - Denne API-en får produktets beregnede pris, inkludert enkle rabatter.
- CalculateSalesDocument – Denne API-en beregner priser og rabatter for produkter til gitte kvanta hvis de kjøpes sammen.
- GetAvailablePromotions – Denne API-en får gjeldende rabatter for produkter i handlekurven.
- AddCoupons - Denne APIen legger til kuponger i en handlekurv.
- RemoveCoupons – Denne API-en fjerner kuponger fra en handlekurv.
Hvis du vil ha mer informasjon om hvordan du forbruker Retail Server-API-er i eksterne programmer, kan du se Bruk Retail Server-API-er i eksterne programmer.
GetActivePrices
API-en GetActivePrices ble lansert i Commerce-versjonen 10.0.4. Denne API-en får den beregnede prisen for et produkt, inkludert enkle rabatter. Den beregner ikke rabatter med flere linjer, og det forutsetter at hvert produkt i en API-forespørsel har et antall på 1. Denne API-en kan også ta en liste over produkter som inndata og spørre på prisen på enkeltprodukter samlet.
API-en GetActivePrices støtter Commerce-rollene ansatt, kunde, anonym og program.
Hovedbrukstilfellet for API-en GetActivePrices er siden med produktdetaljer der forhandlere viser den beste prisen for et produkt, inkludert eventuelle effektive rabatter.
Merknad
Hvis du ser færre produkter returnert for et GetActivePrices
-oppkall, kan du følge Validator for konfigurasjon av kanalhandel for å validere varekonfigurasjonene dine.
Følgende tabell viser inndataparameterne for API-en GetActivePrices.
Navn | Undernavn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|---|
projectDomain | ProjectionDomain | Obligatorisk | ||
ChannelId | lang | Obligatorisk | ||
CatalogId | lang | Obligatorisk | ||
productIds | IEnumerable<long> | Obligatorisk | Listen over produkter det skal beregnes priser for. | |
activeDate | DateTimeOffset | Obligatorisk | Datoen når prisene beregnes. | |
customerId | streng | Valgfri | Kundekontonummeret. | |
affiliationLoyaltyTiers | IEnumerable<AffiliationLoyaltyTier> | Valgfri | Tilknytnings- og fordelslag. | |
AffiliationId | lang | Obligatorisk | Tilknytnings-ID-en. | |
LoyaltyTierId | lang | Valgfri | Fordelslag-ID-en. | |
includeSimpleDiscountsInContextualPrice | bool | Valgfri | Angi denne parameteren til true slik at den skal inkludere enkle rabatter i prissettingsberegningen. Standardverdien er usann. | |
includeVariantPriceRange | bool | Valgfri | Sett denne parameteren til sann for å få minimums- og maksimumsprisene blant alle varianter for et hovedprodukt. Standardverdien er usann. | |
includeAttainablePricesAndDiscounts | bool | Valgfri | Sett denne parameteren til sann for å oppnå priser og rabatter. Standardverdien er usann. |
Eksempel på forespørsel
{
"projectDomain":
{
"ChannelId": 5637144592,
"CatalogId": 0
},
"productIds":
[
68719489871
],
"activeDate": "2022-06-20T14:40:05.873+08:00",
"includeSimpleDiscountsInContextualPrice": true,
"includeVariantPriceRange": false
}
Prøve svar brødtekst
{
"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": [],
}
]
}
Bruk PriceLookupContext
PriceLookupContext-klassen ble lansert i Commerce-versjonen 10.0.37. Klassen inneholder alle oppslagskriteriene for GetActivePrices-API, og erstatter de tidligere parameterne for productIds, activeDate, customerId og affiliationLoyaltyTiers. Klassen har også flere egenskaper som utviklerne kan bruke til å filtrere rabatter under rabattoppslag.
I henhold til organisasjonens behov kan GetActivePrices-API enten godta de forrige parameterne eller de nye parameterne som er tilknyttet PriceLookupContext-klassen.
Inndataparametere
Navn | Undernavn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|---|
projectDomain | ProjectionDomain | Obligatorisk | ||
ChannelId | lang | Obligatorisk | ||
CatalogId | lang | Obligatorisk | ||
priceLookupContext | PriceLookupContext | Obligatorisk | ||
HeaderContext | PriceLookupHeaderContext | Obligatorisk | Inneholder CustomerAccountNumber, AffiliationLoyaltyTierLines og SalesOrderProperties | |
LineContexts | IEnumerable<PriceLookupLineContext> | Obligatorisk | Inneholder ProductRecordId, UnitOfMeasureSymbol, InventorySiteId, InventoryLocationId, DeliveryMode, CatalogId og SalesLineProperties. | |
includeSimpleDiscountsInContextualPrice | bool | Valgfritt | Angi denne parameteren til true slik at den skal inkludere enkle rabatter i prissettingsberegningen. Standardverdien er usann. | |
includeVariantPriceRange | bool | Valgfri | Sett denne parameteren til sann for å få minimums- og maksimumsprisene blant alle varianter for et hovedprodukt. Standardverdien er usann. | |
includeAttainablePricesAndDiscounts | bool | Valgfri | Sett denne parameteren til sann for å oppnå priser og rabatter. Standardverdien er usann. |
Hvis du vil ha mer informasjon, kan du se PriceLookupContext.
CalculateSalesDocument
API-en CalculateSalesDocument ble lansert i Commerce-versjonen 10.0.25. Denne API-en beregner priser og rabatter for produkter til gitte antall hvis de kjøpes sammen i en bestilling. Prissettingsberegningen bak API-en CalculateSalesDocument vurderer både enkeltlinjerabatter og flerlinjerabatter.
Det viktigste bruksmåten for API-en CalculateSalesDocument er prissettingsberegningen i scenarioer der hele handlekurvkonteksten ikke fastholdes (for eksempel salgstilbud). Scenarioer i salgsstedet og Commerce-netthandel kan også dra nytte av denne bruken. En lavere totalpris når handlekurvvarer beregnes som et sett (for eksempel atskilte grupper, koblede eller anbefalte produkter eller produkter som allerede er lagt til i handlekurven), kan overtale kunder til å legge til produkter i handlekurven.
Datamodellen for både forespørselen og svaret på API-en CalculateSalesDocument er Handlekurv. I denne API-en kalles imidlertid datamodellen SalesDocument. Fordi de fleste egenskapene er valgfrie, og bare noen få påvirker prissettingsberegningen, vises bare prissettingsrelaterte felter i tabellen nedenfor. Vi anbefaler ikke at noen andre felter er involvert i API-forespørselen.
Området for API-en CalculateSalesDocument er bare beregningen av priser og rabatter. Avgifter og gebyrer er ikke involvert.
Følgende tabell viser inndataparameterne i objektet som kalles salesDocument.
Navn | Undernavn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|---|
ID | streng | Obligatorisk | Identifikatoren for salgsdokumentet. | |
CartLines | IList<CartLine> | Valgfri | Listen over linjer det skal beregnes priser og rabatter for. | |
Produkt-ID | lang | Obligatorisk i området for CartLine | Post-ID for produktet. | |
ItemId | streng | Valgfri | Vareidentifikatoren. Hvis det angis en verdi, må den samsvare med verdien for ProductId-parameteren. | |
InventoryDimensionId | streng | Valgfri | Identifikatoren for lagerdimensjonen. Hvis det angis en verdi, må kombinasjonen av verdiene ItemId og InventoryDimensionId samsvare med verdien for ProductId-parameteren. | |
Antall | desimal | Obligatorisk i området for CartLine | Antallet for produktet. | |
UnitOfMeasureSymbol | streng | Valgfri | Enheten for produktet. Hvis det ikke er oppgitt en verdiforsyning, bruker API-en som standard salgsenheten for produktet. | |
CustomerId | streng | Valgfri | Kundekontonummeret. | |
LoyaltyCardId | streng | Valgfri | Identifikatoren for fordelskortet. Alle kundekontoer som er knyttet til lojalitetskortet, må samsvare med verdien i CustomerId-parameteren (hvis den finnes). Det tas ikke hensyn til lojalitetskortet hvis statusen er Blokkert. | |
AffiliationLines | IList<AffiliationLoyaltyTier> | Valgfri | Tilknytningslinjer for fordelskort. Hvis det finnes verdier for CustomerId og/eller LoyaltyCardId-verdiene, vil de tilsvarende fordelslagslinjene i ansettelsesforholdet bli flettet med linjer som finnes i AffiliationLines-verdien. | |
AffiliationId | lang | Obligatorisk i området for AffiliationLoyaltyTier | Tilknytningspost-ID-en. | |
LoyaltyTierId | lang | Obligatorisk i området for AffiliationLoyaltyTier | Fordelslagspost-ID-en. | |
AffiliationTypeValue | int | Obligatorisk i området for AffiliationLoyaltyTier | En verdi som angir om ansettelseslinjen er av typen Generelt (0)eller Fordelstype (1). Hvis parameteren er satt til 0, tar API verdien for AffiliationId som identifikator, og ignorerer LoyaltyTierId-verdien. Hvis parameteren er satt til 1, tar API verdien for LoyaltyTierId som identifikator, og ignorerer AffiliationId-verdien. | |
ReasonCodeLines | Collection<ReasonCodeLine> | Obligatorisk i området for AffiliationLoyaltyTier | Årsakskodelinjer. Denne parameteren har ingen innvirkning på prissettingsberegningen, men er nødvendig som en del av objektet AffiliationLoyaltyTier. | |
CustomerId | streng | Obligatorisk i området for AffiliationLoyaltyTier | Kundekontonummeret. | |
Kuponger | IList<Coupon> | Valgfri | Kuponger som ikke gjelder (inaktiv, utløpt eller ikke funnet) blir ikke tatt hensyn til i prissettingsberegningen. | |
Kode | streng | Obligatorisk i området for kupong | Kupongkoden. | |
CodeId | streng | Valgfri | Kupongkodeidentifikatoren. Hvis det angis en verdi, må den samsvare med verdien for Code-parameteren. | |
DiscountOfferId | streng | Valgfri | Rabattidentifikatoren. Hvis det angis en verdi, må den samsvare med verdien for Code-parameteren. |
Eksempel på forespørsel
{
"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 handlekurvobjektet returneres som svartekst. Hvis du vil kontrollere priser og rabatter, bør du fokusere på feltene i følgende tabell.
Navn | Undernavn | Type | Beskrivelse |
---|---|---|---|
NetPrice | desimal | Nettoprisen for hele salgsdokumentet før rabatter brukes. | |
DiscountAmount | desimal | Totalt rabattbeløp for hele salgsdokumentet. | |
TotalAmount | desimal | Totalt beløp for hele salgsdokumentet. | |
CartLines | IList<CartLine> | Beregnede linjer som inneholder pris- og rabattdetaljer. | |
Pris | desimal | Enhetsprisen for produktet. | |
NetPrice | desimal | Nettoprisen for linjen før rabatter brukes (= Pris × Antall). | |
DiscountAmount | desimal | Rabattbeløpet. | |
TotalAmount | desimal | Det endelige totale prissettingsresultatet for linjen. | |
PriceLines | IList<PriceLine> | Prisdetaljer, inkludert kilden til prisen (basispris, prisjustering eller handelsavtale) og beløpet. | |
DiscountLines | IList<DiscountLine> | Rabattdetaljer. |
GetAvailablePromotions
Det finnes to like API-er kalt GetAvailablePromotions:
- Carts/GetAvailablePromotions godtar en liste over handlekurvlinjeidentifikatorer som parameter.
- GetAvailablePromotions godtar et DiscountsSearchCriteria-objekt som parameter.
Carts/GetAvailablePromotions
Gitt en handlekurv som har flere handlekurvlinjer, returnerer API-en Carts/GetAvailablePromotions alle gjeldende rabatter for handlekurvlinjene.
Det viktigste brukstilfellet for API-en Carts/GetAvailablePromotions er handlekurvsiden, der forhandlere viser brukte rabatter eller tilgjengelige kuponger for den gjeldende handlekurven.
Følgende tabell viser inndataparameterne for API-en Carts/GetAvailablePromotions.
Navn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|
nøkkel | streng | Obligatorisk | Handlekurv-ID-en. |
cartLineIds | IEnumerable<string> | Valgfri | Angi denne parameteren for å returnere rabatter bare for valgte handlekurvlinjer. |
Prøve svar brødtekst
{
"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-en GetAvailablePromotions returnerer alle gjeldende rabatter for produkter for den gitte kanalen.
Det viktigste brukstilfellet for API-en GetAvailablePromotions er siden Alle rabatter, der forhandlere viser rabatter for den gjeldende kanalen.
Følgende tabell viser inndataparameterne for API-en GetAvailablePromotions.
Navn | Undernavn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|---|
searchCriteria | DiscountsSearchCriteria | Obligatorisk | ||
ChannelId | lang | Obligatorisk | ||
Nøkkelord | streng | Valgfritt | ||
IsDiscountCodeRequired | bool | Valgfritt | Angir om kupongkoden kreves eller ikke. Hvis null sendes, hentes alle rabatter, uansett krav til kupongkode. | |
StartDate | DateTimeOffset | Obligatorisk | Startdatoen (inklusive). | |
EndDate | DateTimeOffset | Obligatorisk | Sluttdatoen (inklusive). |
Eksempel på forespørsel
{
"searchCriteria": {
"ChannelId": 5637144592,
"StartDate": "1900-01-01T00:00:00Z",
"EndDate": "2154-12-31T00:00:00Z"
}
}
Prøve svar brødtekst
{
"@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 støtter det å legge til en liste over kuponger i en handlekurv. Returnerer handlekurvobjektet etter at kupongene er lagt til.
Følgende tabell viser inndataparameterne for API-en AddCoupons.
Navn | Type | Obligatorisk/valgfri | Beskrivelse |
---|---|---|---|
nøkkel | streng | Obligatorisk | Handlekurv-ID-en. |
couponCodes | IEnumerable<string> | Obligatorisk | Kupongkodene som skal legges til i handlekurven. |
isLegacyDiscountCode | bool | Valgfri | Sett denne parameteren til sann for å angi at kupongen er en eldre rabattkode. Standardverdien er usann. |
RemoveCoupons
API-en RemoveCoupons støtter fjerning av en liste over kuponger fra en handlekurv. Returnerer handlekurvobjektet etter at kupongene er fjernet.
Følgende tabell viser inndataparameterne for API-en RemoveCoupons.
Navn | Type | Obligatorisk/valgfri | Beskrivelse |
---|---|---|---|
nøkkel | streng | Obligatorisk | Handlekurv-ID-en. |
couponCodes | IEnumerable<string> | Obligatorisk | Kupongkodene som skal fjernes fra handlekurven. |
GetProductPromotions
API-en GetProductPromotions ble lansert i Commerce-versjonen 10.0.38. Denne API-en inneholder en liste over kampanjeprodukter med gitte produktrabatter, og kan også ta en liste over produktrabatt-IDer og prissettingskontekst som inndata og spørre på de tilknyttede kampanjeproduktene. Det viktigste bruksområdet for GetProductPromotions-APIen er på produktoversiktssider, der forhandlere benytter produkter med rabatter. Denne API støtter både egenskapsgrunnlagsprismodellen og den eldre prissettingsmodellen.
Følgende tabell viser inndataparameterne for API-en GetProductPromotions.
Navn | Undernavn | Type | Obligatorisk/valgfritt | Beskrivelse |
---|---|---|---|---|
productDiscountIds | IEnumerable<string> | Obligatorisk | Listen over produktrabatt-IDer for å se etter kampanjeprodukter. | |
priceLookupContext | PriceLookupContext | Obligatorisk | Konteksten for prissetting. | |
activeDate | DateTimeOffset | Valgfritt | Datoen da kampanje ble vurdert. |
Restriksjoner og begrensninger:
- Kan bare ta maksimalt fem produktrabatt-IDer som inndata.
- Bare enkle rabatter støttes.
Eksempel på forespørsel
{
{
"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 brødtekst
{
"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
}
]
}
]
}
Hvis du vil ha mer informasjon, kan du se PriceLookupContext.
PriceLookupContext
PriceLookupContext-klassen brukes for den egenskapsgrunnlagsprismodellen i APIene for GetProductPromotions og GetActivePrices.
Strukturen til 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>
},
]
}
Eksempel på forespørsel
"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": []
}
Obs!
- Det er ingen kundegruppe som er angitt i parameteren PriceLookupHeaderContext fordi kundens kontonummer hadde blitt utledet.
- ChannelId kan angis i parameteren PriceLookupHeaderContext. Hvis kanal-IDen ikke er angitt, brukes ChannelId fra forespørselskonteksten (gjeldende kanal ved bruk av Store Commerce).