Commerce’i hinnakirja API-d

See artikkel kirjeldab erinevaid hinnakujunduse API-sid, mida Microsoft Dynamics 365 Commerce hinnamootor pakub.

Dynamics 365 Commerce hinnamootor pakub järgmisi jaemüügiserveri API-sid, mida välised rakendused saavad kasutada erinevate hinnastsenaariumite toetamiseks:

  • GetActivePrices – see API hangib toote arvutatud hinna, sealhulgas lihtsad allahindlused.
  • CalculateSalesDocument – see API arvutab hinnad ja allahindlused toodetele antud kogustes, kui need ostetakse koos.
  • GetAvailablePromotions – see API hangib ostukorvis olevatele toodetele kehtivaid allahindlusi.
  • AddCoupons – see API lisab kupongid ostukorvi.
  • RemoveCoupons – see API eemaldab kupongid ostukorvist.

Lisateavet jaemüügiserveri API-de kasutamise kohta välistes rakendustes vt Kasutage jaemüügiserveri API-sid välistes rakendustes.

GetActivePrices

API GetActivePrices lisati Commerce’i versiooni 10.0.4 väljalaskest. API hangib toote arvutatud hinna, sealhulgas lihtsad allahindlused. See ei arvuta mitmerealisi allahindlusi ja eeldab, et API päringu iga toote kogus on 1. See API võib võtta sisendiks ka toodete loendi ja küsida hulgi üksikute toodete hinda.

API GetActivePrices toetab Commerce’i rolle Töötaja, Klient, Anonüümbe ja Rakendus.

API GetActivePrices peamine kasutusala on toote üksikasjade leht (PDP), kus jaemüüjad näitavad toote parimat hinda, sealhulgas kehtivaid allahindlusi.

Märkus.

Kui näete, et kutsele GetActivePrices tagastatakse vähem tooteid, saate oma müügikonfiguratsioonide kinnitamiseks järgida kanali müügikonfiguratsiooni valideerijat.

Järgmises tabelis on näidatud API GetActivePrices sisendparameetrid.

Nimi Alamnimi Tüüp Nõutav/valikuline Kirjeldus
projectDomain ProjectionDomain Nõutav
ChannelId long Nõutav
Kataloogi ID long Nõutav
productIds IEnumerable<pikk> Nõutav Toodete loend, mille jaoks hindu arvutada.
activeDate DateTimeOffset Nõutav Hindade arvutamise kuupäev.
customerId string Valikuline Kliendikonto number.
affiliationLoyaltyTiers IEnumerable<AffiliationLoyaltyTier> Valikuline Alluvuse ja lojaalsuse kihid.
AffiliationId long Nõutav Alluvuse ID.
LoyaltyTierId long Valikuline Püsikliendi kihi ID.
includeSimpleDiscountsInContextualPrice bool Valikuline Seadke selle parameetri väärtuseks tõene, et kaasata hinnaarvutusse lihtsad allahindlused. Vaikeväärtus on väär.
includeVariantPriceRange bool Valikuline Määrake selle parameetri väärtuseks tõene, et saada põhitoote kõigi variantide miinimum- ja maksimumhinnad. Vaikeväärtus on väär.
includeAttainablePricesAndDiscounts bool Valikuline Saavutatavate hindade ja allahindluste saamiseks määrake selle parameetri väärtuseks tõene. Vaikeväärtus on väär.
Taotluse näidiskogum
{
    "projectDomain": 
    {
        "ChannelId": 5637144592,
        "CatalogId": 0
    },
    "productIds": 
    [
        68719489871
    ],
    "activeDate": "2022-06-20T14:40:05.873+08:00",
    "includeSimpleDiscountsInContextualPrice": true,
    "includeVariantPriceRange": false
}
Näidisvastuse sisu
{
    "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": [],
        }
    ]
}

PriceLookupContexti kasutamine

Commerce'i versioon 10.0.37 tutvustab PriceLookupContext klassi. See klass sisaldab kõiki GetActivePrices API otsingukriteeriume. See asendab varasemad parameetrid productIds, activeDate, customerId ja affiliationLoyaltyTiers. Klassil on ka lisakinnisvara, mida arendajad saavad kasutada allahindluste filtreerimiseks allahindluste otsingu ajal.

Sõltuvalt teie organisatsiooni vajadustest võib GetActivePrices API aktsepteerida kas varasemaid või uusi parameetreid, mis on seotud PriceLookupContext klassiga.

Sisendparameetrid

Nimi Alamnimi Tüüp Nõutav/valikuline Kirjeldus
projectDomain ProjectionDomain Nõutav
ChannelId long Nõutav
Kataloogi ID long Nõutav
priceLookupContext PriceLookupContext Nõutav
HeaderContext PriceLookupHeaderContext Nõutav Sisaldab CustomerAccountNumber, AffiliationLoyaltyTierLines ja SalesOrderProperties
LineContexts IEnumerable<PriceLookupLineContext> Nõutav Sisaldab ProductRecordId, UnitOfMeasureSymbol, InventorySiteId, InventoryLocationId, DeliveryMode, CatalogId ja SalesLineProperties.
includeSimpleDiscountsInContextualPrice bool Valikuline Seadke selle parameetri väärtuseks tõene, et kaasata hinnaarvutusse lihtsad allahindlused. Vaikeväärtus on väär.
includeVariantPriceRange bool Valikuline Määrake selle parameetri väärtuseks tõene, et saada põhitoote kõigi variantide miinimum- ja maksimumhinnad. Vaikeväärtus on väär.
includeAttainablePricesAndDiscounts bool Valikuline Saavutatavate hindade ja allahindluste saamiseks määrake selle parameetri väärtuseks tõene. Vaikeväärtus on väär.

Lisateavet vt PriceLookupContext.

CalculateSalesDocument

API CalculateSalesDocument lisati Commerce’i versiooni 10.0.25 väljalaskest. API arvutab hinnad ja allahindlused toodetele antud kogustes, kui need ostetakse järjest koos. CalculateSalesDocument API hinnaarvutus arvestab nii üherealisi allahindlusi kui ka mitmerealisi allahindlusi.

API CalculateSalesDocument peamine kasutusjuht on hinnakujunduse arvutamine stsenaariumide puhul, kus ostukorvi täielikku konteksti ei kehti (nt müügipakkumised). Sellest kasutusjuhust võivad kasu olla ka kassa stsenaariumid ja Commerce’i e-kaubandus. Madalam koguhind, kui ostukorvi tooteid arvutatakse komplektina (näiteks eraldiseisvate komplektide, seotud või soovitatud toodete või juba ostukorvis olevate toodete puhul), võib kliente veenda ostukorvi tooteid lisama.

Nii päringu kui ka vastuse API CalculateSalesDocument andmemudel on Ostukorv. Selle API kontekstis kannab andmemudel aga nime SalesDocument. Kuna enamik atribuute on valikulised ja ainult mõned neist mõjutavad hinnakujundust, kuvatakse järgmises tabelis ainult hinnakujundusega seotud väljad. Ära lisa API päringusse muid välju.

API Müügidokumendi arvutamine ulatus on lihtsalt hindade ja allahindluste arvutamine. Maksud ja tasud ei ole kaasatud.

Järgmises tabelis on toodud nimega salesDocument objekti sisendparameetrid.

Nimi Alamnimi Tüüp Nõutav/valikuline Kirjeldus
ID string Nõutav Müügidokumendi identifikaator.
CartLines IList<CartLine> Valikuline Ridade loend, mille jaoks hindu ja allahindlusi arvutada.
Toote ID long Nõutav CartLine’i ulatuse jaoks Toote kirje ID.
ItemId string Valikuline Kauba identifikaator. Kui väärtus on esitatud, peab see ühtima parameetri ProductId väärtusega.
InventoryDimensionId string Valikuline Varude dimensiooni identifikaator. Kui väärtus on esitatud, siis väärtuste ItemId ja InventoryDimensionId kombinatsioon peab ühtima parameetri ProductId väärtusega.
Kogus decimal Nõutav CartLine’i ulatuse jaoks Toote kogus.
UnitOfMeasureSymbol string Valikuline Toote ühik. Kui väärtust pole esitatud, kasutab API vaikimisi toote müügiüksust.
CustomerId string Valikuline Kliendikonto number.
LoyaltyCardId string Valikuline Kliendikaardi identifikaator. Iga püsikliendikontoga seostatud kliendi kaart peab sobima parameetri CustomerId väärtusega (kui see on esitatud). Püsikliendi kaart ei leita, kas seda ei leita või selle olek on Blokeeritud.
AffiliationLines IList<kuuluvusLojaalsusTase> Valikuline Alluvuse klienditaseme read. Kui esitatud on väärtused CustomerId ja/ või LoyaltyCardId , ühendatakse vastavad püsikliendijärgu read väärtustega AffiliationLines .
AffiliationId long Nõutav AffiliationLoyaltyTieri ulatuse jaoks Alluvuse kirje ID.
LoyaltyTierId long Nõutav AffiliationLoyaltyTieri ulatuse jaoks Klienditaseme kirje ID.
AffiliationTypeValue täisarv Nõutav AffiliationLoyaltyTieri ulatuse jaoks Väärtus, mis näitab, kas alluvuse rida on tüübiga Üldine (0) või Lojaalsus (1). Kui parameetri väärtuseks on seatud 0, võtab API identifikaatoriks AffiliationIdväärtuse ja ignoreerib LoyaltyTierId väärtust. Kui parameetri väärtuseks on seatud 1 , võtab APIidentifikaatoriks LoyaltyTierId väärtuse ja ignoreerib väärtust AffiliationId .
ReasonCodeLines Kogumik<ReasonCodeLine> Nõutav AffiliationLoyaltyTieri ulatuse jaoks Põhjuse koodiread. See parameeter ei mõjuta hinnakujunduse arvutamist, kuid see on vajalik objekti AffiliationLoyaltyTier osana.
CustomerId string Nõutav AffiliationLoyaltyTieri ulatuse jaoks Kliendikonto number.
Kupongid IList<kupong> Valikuline Kuponge, mis ei ole rakendatavad (passiivne, aegunud või ei leita), ei arvestata hinnakujunduse arvutamisel.
Kood string Nõutav kupongi ulatuse jaoks Kupongi kood.
CodeId string Valikuline Kupongi koodi identifikaator. Kui väärtus on esitatud, peab see ühtima parameetri Code väärtusega.
DiscountOfferId string Valikuline Allahindluse identifikaator Kui väärtus on esitatud, peab see ühtima parameetri Code väärtusega.
Taotluse näidiskogum
{
    "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"
            }
        ]
    }
}

Kogu ostukorvi objekt tagastatakse vastuse sisuna. Hindade ja allahindluste kontrollimiseks keskendu järgmises tabelis olevatele väljadele.

Nimi Alamnimi Tüüp Kirjeldus
NetPrice decimal Kogu müügidokumendi netohind enne allahindluste rakendamist.
DiscountAmount decimal Kogu müügidokumendi allahindluse kogusumma.
TotalAmount decimal Kogu müügidokumendi kogusumma.
CartLines IList<CartLine> Arvutatud read, mis sisaldavad hinna ja allahindluse üksikasju.
Hind decimal Toote ühikuhind.
NetPrice decimal Rea netohind enne mis tahes allahindluste rakendamist (= Price × Quantity).
DiscountAmount decimal Allahindluse summa.
TotalAmount decimal Rea lõplik hinnakujunduse kogutulemus.
PriceLines IList<PriceLine> Hinna üksikasjad, sealhulgas hinna allikas (baashind, hinna korrigeerimine või kaubandusleping) ja summa.
DiscountLines IList<DiscountLine> Allahindluse üksikasjad.

GetAvailablePromotions

Saadaval on kaks sarnast GetAvailablePromotions API-d:

  • Kassetid/GetAvailablePromotions aktsepteerib parameetrina kassuliini identifikaatorite nimekirja.
  • GetAvailablePromotions aktsepteerib parameetrina objekti DiscountsSearchCriteria .

Carts/GetAvailablePromotions

Kui ostukorvis on mitu ostukorvi rida, tagastab API Carts/GetAvailablePromotions API ostukorvi ridadele kehtivad allahindlused.

API Carts/GetAvailablePromotions peamine kasutusjuht on ostukorvi leht, kus jaemüüjad näitavad kehtiva ostukorvi jaoks kehtivaid allahindlusi või saadaolevaid kuponge.

Järgmises tabelis on loetletud API Carts/GetAvailablePromotions sisendparameetrid.

Nimi Tüüp Nõutav/valikuline Kirjeldus
võti string Nõutav Ostukorvi ID.
cartLineIds IEnumerable<string> Valikuline Määrake see parameeter, et tagastada allahindlused ainult valitud ostukorvi ridadele.
Näidis-vastus keha
{
    "value": 
    [
        {
            "LineId": "f495ffa507bc4f63a47a409cd8713dd7",
            "Promotion": {
                "OfferId": "ST100012",
                "OfferName": "Loyalty 5% off over $100",
                "PeriodicDiscountTypeValue": 4,
                "IsDiscountCodeRequired": false,
                "ValidationPeriodId": null,
                "AdditionalRestrictions": null,
                "Description": "All loyalty members get 5% with transaction total above $10 unless some exclusive or best price discounts are already applied on the transaction",
                "ValidFromDate": "2022-06-20T06:52:56.2460219Z",
                "ValidToDate": "2022-06-20T06:52:56.2460224Z",
                "CouponCodes": [],
                "ValidationPeriod": null
            }
        }
    ]
}

GetAvailablePromotions

API GetAvailablePromotions tagastab kõik antud kanali puhul kehtivad allahindlused.

GetAvailablePromotions API peamine kasutusjuhtum on kõigi allahindluste leht, kus jaemüüjad kuvavad kõiki allahindlusi praeguse kanali kohta.

Järgmises tabelis on loetletud API GetAvailablePromotions sisendparameetrid.

Nimi Alamnimi Tüüp Nõutav/valikuline Kirjeldus
searchCriteria DiscountsSearchCriteria Nõutav
ChannelId long Nõutav
Märksõna string Valikuline
IsDiscountCodeRequired bool Valikuline Näitab, kas kupongi kood on vajalik või mitte. Kui null läbitakse, hangib API kõik allahindlused, sõltumata kupongikoodi nõuetest.
StartDate DateTimeOffset Nõutav Alguskuupäev (kaasa arvatud).
EndDate DateTimeOffset Nõutav Lõpukuupäev (kaasa arvatud).
Taotluse näidiskogum
{
    "searchCriteria": {
        "ChannelId": 5637144592,
        "StartDate": "1900-01-01T00:00:00Z",
        "EndDate": "2154-12-31T00:00:00Z"
    }
}
Näidisvastuse sisu
{
    "@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 AddCoupons toetab kupongide loendi lisamist ostukorvi. See tagastab ostukorvi objekti pärast kupongide lisamist.

Järgmises tabelis on näidatud API AddCoupons sisendparameetrid.

Nimi Tüüp Nõutav/valikuline Kirjeldus
võti string Nõutav Ostukorvi ID.
couponCodes IEnumerable<string> Nõutav Kupongi koodid ostukorvi lisamiseks.
isLegacyDiscountCode bool Valikuline Määrake selle parameetri väärtuseks tõene, et näidata, et kupong on pärandsooduskood. Vaikeväärtus on väär.

RemoveCoupons

API RemoveCoupons API toetab kupongide loendi eemaldamist ostukorvist. See tagastab ostukorvi objekti pärast kupongide eemaldamist.

Järgmises tabelis on näidatud API RemoveCoupons sisendparameetrid.

Nimi Tüüp Nõutav/valikuline Kirjeldus
võti string Nõutav Ostukorvi ID.
couponCodes IEnumerable<string> Nõutav Kupongi koodid eseme ostukorvist eemaldamiseks.

GetProductPromotions

GetProductPromotions API tutvustati Commerce version 10.0.38 väljaandes. See API saab nimekirja reklaamtoodetest koos antud tooteallahindlustega. Samuti võib see võtta sisendiks toote soodusnumbrite ID-de ja hinnakonteksti ning pärida seotud reklaamtoodete kohta. GetProductPromotions API peamine kasutusjuhtum on tooteloendi lehtedel, kus jaemüüjad kuvavad allahindlustega tooteid. See API toetab nii atribuudipõhise hinnakujunduse mudelit kui pärandhinna mudelit.

Järgmine tabel näitab sisendparameetreid GetProductPromotions API jaoks.

Nimi Alamnimi Tüüp Nõutav/valikuline Kirjeldus
productDiscountIds IEnumerable<string> Nõutav Tootesoodustuste ID-de nimekiri, et otsida reklaamtooteid.
priceLookupContext PriceLookupContext Nõutav Hinnakujunduse kontekst.
activeDate DateTimeOffset Valikuline Kuupäev, millal kampaaniat loetakse.

Piirangud ja piirangud:

  • Sisendina saab võtta kuni viis toote allahindluse ID-d.
  • Toetatakse ainult lihtsaid allahindlusi.
Taotluse näidiskogum
{
    {
    "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",
    },
}
Näidisvastuse sisu
{
    "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
                }
            ]   
        }
    ]
}

Lisateavet vt PriceLookupContext.

PriceLookupContext

Kasuta PriceLookupContext klassi kinnisvarapõhise hinnamudeli jaoks GetProductPromotions ja GetActivePrices API-des.

Järgmine näide näitab PriceLookupContext klassi struktuuri.

{
    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>
        },
    ]
}
Taotluse näidiskogum
"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": []
}

Märkus.

  • API tuletab kliendigrupi kliendikonto numbrist, seega päring ei määra kliendigruppi PriceLookupHeaderContext parameetris.
  • Saate määrata ChannelId parameetris PriceLookupHeaderContext. Kui sa seda ei täpsusta, kasutab API päringu kontekstist pärit ChannelId-d (praegust kanalit Store Commerce'i kasutamisel).