Del via


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).