Commercen hinnoittelun ohjelmointirajapinnat
Tässä artikkelissa käsitellään Microsoft Dynamics 365 Commerce -hinnoittelumoduulin tarjoamia hinnoittelun ohjelmointirajapintoja.
Dynamics 365 Commerce -hinnoittelumoduuli tarjoaa seuraavat Retail Server -ohjelmointirajapinnat, joita ulkoiset sovellukset voivat käyttää tukeakseen erilaisia hinnoitteluskenaarioita:
- GetActivePrices – Tämä sovellusliittymä saa tuotteen lasketun hinnan, mukaan lukien yksinkertaiset alennukset.
- CalculateSalesDocument – Tämä sovellusliittymä laskee tuotteiden hinnat ja alennukset annettuihin määriin, jos ne on ostettu yhdessä.
- GetAvailablePromotions – Tämä sovellusliittymä saa käytettävissä olevia alennuksia kärryssä olevia tuotteita varten.
- AddOnnettomuudepons – Tämä sovellusliittymä lisää kuponkeja kärryysi.
- RemoveOnnettomuudepons – Tämä sovellusliittymä poistaa kuponkeja kärrystä.
Lisätietoja Retail Server -ohjelmointirajapintojen käyttämisestä ulkoisissa sovelluksissa on kohdassa Retail Serverin ohjelmointirajapintojen käyttäminen ulkoisissa sovelluksissa.
GetActivePrices
GetActivePrices-ohjelmointirajapinta otettiin käyttöön Commerce-versiossa 10.0.4. Tämä ohjelmointirajapinta noutaa tuotteen lasketun hinnan, mukaan lukien yksinkertaiset alennukset. Se ei laske monirivisiä alennuksia. Lisäksi se olettaa, että jokaisen ohjelmointirajapintapyyntöön sisältyvän tuotteen määrä on 1. Tämä ohjelmointirajapinta voi vastaanottaa luettelon tuotteita ja noutaa yksittäisten tuotteiden hinnan kerralla.
GetActivePrices-ohjelmointirajapinta tukee Commerce-rooleja Työntekijä, Asiakas, Anonyymi ja Sovellus.
GetActivePrices-ohjelmointirajapintaa käytetään ensisijaisesti tuotetietosivulla (PDP), jossa jälleenmyyjät näyttävät tuotteen parhaan hinnan, mukaan lukien voimassa olevat alennukset.
Huomautus
Jos vähemmän tuotteita palautetaan GetActivePrices
kutsulle, voit seurata Kanavan myynninedistämismääritysten tarkistustoimintoa vahvistaaksesi myynninedistämismäärityksesi.
GetActivePrices-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Toissijainen nimi | Laji | Pakollinen/valinnainen | Kuvaus |
---|---|---|---|---|
projectDomain | ProjectionDomain | Pakollinen | ||
ChannelId | long | Pakollinen | ||
CatalogId | long | Pakollinen | ||
productIds | IEnumerable<long> | Pakollinen | Luettelo tuotteista, joiden hinnat lasketaan. | |
activeDate | DateTimeOffset | Pakollinen | Päivämäärä, jolloin hinnat lasketaan. | |
customerId | merkkijono | Valinnainen | Asiakkaan tilinumero. | |
affiliationLoyaltyTiers | IEnumerable<AffiliationLoyaltyTier> | Valinnainen | Liitos ja kanta-asiakkuustasot. | |
AffiliationId | long | Pakollinen | Liitoksen tunnus. | |
LoyaltyTierId | long | Valinnainen | Kanta-asiakkuustason tunnus. | |
includeSimpleDiscountsInContextualPrice | bool | Valinnainen | Määritä tämä parametrin arvoksi true, jos haluat sisällyttää yksinkertaiset alennukset hinnoittelun laskentaan. Oletusarvo on epätosi. | |
includeVariantPriceRange | bool | Valinnainen | Aseta tämän parametrin arvoksi true, jos haluat noutaa vähimmäis- ja enimmäishinnat päätuotteen kaikkien muuttujien kanssa. Oletusarvo on epätosi. | |
includeAttainablePricesAndDiscounts | bool | Valinnainen | Määritä tämän parametrin arvoksi true, jos haluat noutaa saavutettavissa olevat hinnat ja alennukset. Oletusarvo on epätosi. |
Esimerkkipyyntöosasta
{
"projectDomain":
{
"ChannelId": 5637144592,
"CatalogId": 0
},
"productIds":
[
68719489871
],
"activeDate": "2022-06-20T14:40:05.873+08:00",
"includeSimpleDiscountsInContextualPrice": true,
"includeVariantPriceRange": false
}
Näyte vastaus kohteesta
{
"value":
[
{
"ProductId": 68719489871,
"ListingId": 68719489871,
"BasePrice": 0,
"TradeAgreementPrice": 0,
"AdjustedPrice": 0,
"MaxVariantPrice": 0,
"MinVariantPrice": 0,
"CustomerContextualPrice": 0,
"DiscountAmount": 0,
"CurrencyCode": "USD",
"ItemId": "82000",
"InventoryDimensionId": null,
"UnitOfMeasure": "ea",
"ValidFrom": "2022-06-20T01:40:05.873-05:00",
"ProductLookupId": 0,
"ChannelId": 5637144592,
"CatalogId": 0,
"SalesAgreementPrice": 0,
"PriceSourceTypeValue": 1,
"DiscountLines": [],
"AttainablePriceLines": [],
}
]
}
PriceLookupContext-luokan käyttö
PriceLookupContext-luokka otettiin käyttöön Commerce-versiossa 10.0.37. Luokka sisältää kaikki GetActivePrices-ohjelmointirajapinnan hakuehdot ja korvaa aiemmat parametrit productIds, activeDate, customerId ja affiliationLoyaltyTiers. Luokalla on myös lisäominaisuuksia, joita kehittäjät voivat käyttää alennusten suodattamiseen alennusten hakemisen yhteydessä.
Organisaation tarpeiden mukaan GetActivePrices-ohjelmointirajapinta voi joko hyväksyä aiemmat parametrit tai priceLookupContext-luokkaan liittyvät uudet parametrit.
Syöttöparametrit
Nimi | Toissijainen nimi | Laji | Pakollinen/valinnainen | Kuvaus |
---|---|---|---|---|
projectDomain | ProjectionDomain | Vaadittu | ||
ChannelId | pitkä | Vaadittu | ||
CatalogId | pitkä | Vaadittu | ||
priceLookupContext | PriceLookupContext | Vaadittu | ||
HeaderContext | PriceLookupHeaderContext | Vaadittu | Sisältää seuraavat: CustomerAccountNumber, AffiliationLoyaltyTierLines ja SalesOrderProperties | |
LineContexts | IEnumerable<PriceLookupLineContext> | Vaadittu | Sisältää seuraavat: ProductRecordId, UnitOfMeasureSymbol, InventorySiteId, InventoryLocationId, DeliveryMode, CatalogId ja SalesLineProperties. | |
includeSimpleDiscountsInContextualPrice | bool | Valinnainen | Määritä tämä parametrin arvoksi true, jos haluat sisällyttää yksinkertaiset alennukset hinnoittelun laskentaan. Oletusarvo on epätosi. | |
includeVariantPriceRange | bool | Valinnainen | Aseta tämän parametrin arvoksi true, jos haluat noutaa vähimmäis- ja enimmäishinnat päätuotteen kaikkien muuttujien kanssa. Oletusarvo on epätosi. | |
includeAttainablePricesAndDiscounts | bool | Valinnainen | Määritä tämän parametrin arvoksi true, jos haluat noutaa saavutettavissa olevat hinnat ja alennukset. Oletusarvo on epätosi. |
Lisätietoja: PriceLookupContext.
CalculateSalesDocument
CalculateSalesDocument-ohjelmointirajapinta otettiin käyttöön Commerce-versiossa 10.0.25. Tämä ohjelmointirajapinta laskee tuotteiden hinnat ja alennukset tietyille määrille, jos tuotteet ostetaan yhdessä tilauksessa. CalculateSalesDocument-ohjelmointirajapinnan perustana oleva hintojen laskenta huomioi sekä yksiriviset että moniriviset alennukset.
CalculateSalesDocument-ohjelmointirajapintaa käytetään ensisijaisesti skenaarioissa, jossa ostoskorin koko konteksti ei säily (esimerkiksi myyntitarjouksissa). Myös myyntipisteessä ja Commercessa tapahtuvat skenaariot voivat hyötyä tästä käyttötavasta. Kun ostoskorin nimikkeet lasketaan joukkona (esimerkiksi erilliset niput, linkitetyt tai suositellut tuotteet tai jo ostoskoriin lisätyt tuotteet), alhaisempi kokonaishinta voi houkutella asiakasta lisäämään ostoskoriin lisää tuotteita.
CalculateSalesDocument-ohjelmointirajapintojen pyynnön ja vastauksen tietomalli on molemmille Cart. Tämän ohjelmointirajapinnan kontekstissa tietomallin nimi on kuitenkin SalesDocument. Koska useimmat ominaisuudet ovat valinnaisia ja vain muutamat niistä vaikuttavat hinnoittelun laskentaan, seuraavassa taulukossa näytetään vain hinnoitteluun liittyvät kentät. Emme suosittele muiden kenttien käyttämistä ohjelmointirajapintapyynnössä.
CalculateSalesDocument-ohjelmointirajapinta on tarkoitettu vain hintojen ja alennusten laskemiseen. Se ei huomioi veroja tai maksuja.
Seuraavassa taulukossa esitetään salesDocument-objektin syöttöparametrit.
Nimi | Toissijainen nimi | Laji | Pakollinen/valinnainen | Kuvaus |
---|---|---|---|---|
Tunnus | merkkijono | Vaadittu | Myyntiasiakirjan tunniste. | |
CartLines | IList<CartLine> | Valinnainen | Luettelo riveistä, joiden hinnat ja alennukset lasketaan. | |
Tuotetunnus | long | Pakollinen CartLine-objektin kontekstissa | Tuotetietueen tunnus. | |
ItemId | merkkijono | Valinnainen | Nimikkeen tunniste. Jos arvo on määritetty, sen täytyy vastata ProductId-parametrin arvoa. | |
InventoryDimensionId | merkkijono | Valinnainen | Varastodimension tunniste. Jos arvo on määritetty, ItemId- ja InventoryDimensionId-arvojen yhdistelmän täytyy vastata ProductId-parametrin arvoa. | |
Määrä | desimaali | Pakollinen CartLine-objektin kontekstissa | Tuotteen määrä. | |
UnitOfMeasureSymbol | merkkijono | Valinnainen | Tuotteen yksikkö. Jos arvoa ei ole määritetty, ohjelmointirajapinta käyttää oletusarvoisesti tuotteen myyntiyksikköä. | |
Asiakastunnus | merkkijono | Valinnainen | Asiakkaan tilinumero. | |
LoyaltyCardId | merkkijono | Valinnainen | Kanta-asiakaskortin tunniste. Kaikkien kanta-asiakaskorttiin liitettyjen asiakastilien täytyy vastata CustomerId-parametrin arvoa (jos määritetty). Kanta-asiakaskorttia ei oteta huomioon, jos sitä ei löydy tai jos sen tila on Estetty. | |
AffiliationLines | IList<AffiliationLoyaltyTier> | Valinnainen | Liitoksen kanta-asiakkuustasorivit. Jos CustomerId- ja/tai LoyaltyCardId-arvo on määritetty, vastaavat liitoksen kanta-asiakkuustasorivit yhdistetään AffiliationLines-arvossa annettujen rivien kanssa. | |
AffiliationId | long | Pakollinen AffiliationLoyaltyTier-objektin kontekstissa | Liitostietueen tunnus. | |
LoyaltyTierId | long | Pakollinen AffiliationLoyaltyTier-objektin kontekstissa | Kanta-asiakkuustasotietueen tunnus. | |
AffiliationTypeValue | int | Pakollinen AffiliationLoyaltyTier-objektin kontekstissa | Arvo, joka ilmaisee, onko liitosrivin tyyppi Yleinen (0) vai Kanta-asiakkuus (1). Jos parametrin arvoksi on määritetty 0, ohjelmointirajapinta ottaa AffiliationId-arvon tunnisteeksi ja jättää LoyaltyTunnus-arvon huomiotta. Jos parametrin arvoksi on määritetty 1, ohjelmointirajapinta ottaa LoyaltyTierId-arvon tunnisteeksi ja jättää AffiliationId-arvon huomiotta. | |
ReasonCodeLines | Collection<ReasonCodeLine> | Pakollinen AffiliationLoyaltyTier-objektin kontekstissa | Syykoodien rivit. Tämä parametri ei vaikuta hinnoittelun laskentaan, mutta se on pakollinen osana AffiliationLoyaltyTier-objektia. | |
Asiakastunnus | merkkijono | Pakollinen AffiliationLoyaltyTier-objektin kontekstissa | Asiakkaan tilinumero. | |
Kupongit | IList<Coupon> | Valinnainen | Hinnoittelun laskennassa ei oteta huomioon kuponkeja, joita ei voida käyttää (jotka eivät ole aktiivisia, jotka ovat vanhentuneet tai joita ei löydy). | |
Koodi | merkkijono | Pakollinen Coupon-objektin kontekstissa | Kuponkikoodi. | |
CodeId | merkkijono | Valinnainen | Kuponkikoodin tunniste. Jos arvo on määritetty, sen täytyy vastata Code-parametrin arvoa. | |
DiscountOfferId | merkkijono | Valinnainen | Alennuksen tunniste. Jos arvo on määritetty, sen täytyy vastata Code-parametrin arvoa. |
Esimerkkipyyntöosasta
{
"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"
}
]
}
}
Vastauksen tekstiosana palautetaan ostoskoriobjekti. Jos haluat tarkistaa hinnat ja alennukset, sinun tulisi keskittyä seuraavan taulukon kenttiin.
Nimi | Toissijainen nimi | Laji | Kuvaus |
---|---|---|---|
NetPrice | desimaali | Koko myyntiasiakirjan nettohinta ennen mahdollisten alennusten lisäämistä. | |
DiscountAmount | desimaali | Koko myyntiasiakirjan kokonaisalennuksen summa. | |
TotalAmount | desimaali | Koko myyntiasiakirjan kokonaissumma. | |
CartLines | IList<CartLine> | Lasketut rivit, jotka sisältävät hintojen ja alennusten tiedot. | |
Hinta | desimaali | Tuotteen yksikköhinta. | |
NetPrice | desimaali | Rivin nettohinta ennen mahdollisten alennusten lisäämistä (= Hinta × Määrä). | |
DiscountAmount | desimaali | Alennuksen summa. | |
TotalAmount | desimaali | Rivin hinnoittelun lopullinen kokonaistulos. | |
PriceLines | IList<PriceLine> | Hintatiedot, mukaan lukien hinnan lähde (perushinta, hinnanoikaisu tai kauppasopimus) ja summa. | |
DiscountLines | IList<DiscountLine> | Alennuksen tiedot. |
GetAvailablePromotions
GetAvailablePromotions-ohjelmointirajapintaa on kaksi samanlaista:
- Carts/GetAvailablePromotions hyväksyy parametriksi luettelon cart-rivin tunnuksista.
- GetAvailablePromotions hyväksyy DiscountsSearchCriteria-objektin parametriksi.
Carts/GetAvailablePromotions
Jos ostoskorissa on useita ostoskoririvejä, Carts/GetAvailablePromotions-ohjelmointirajapinta palauttaa kaikki ostoskoririveille soveltuvat alennukset.
Carts/GetAvailablePromotions-ohjelmointirajapintaa käytetään ensisijaisesti ostoskorisivulla, jossa vähittäismyyjät näyttävät ostoskorille saatavilla olevia alennuksia tai kuponkeja.
Carts/GetAvailablePromotions-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Tyyppi | Pakollinen/valinnainen | kuvaus |
---|---|---|---|
avain | merkkijono | Pakollinen | Ostoskorin tunnus. |
cartLineIds | IEnumerable<string> | Valinnainen | Määritä tämä parametri palauttaaksesi alennuksia vain valituille ostoskoririveille. |
Näyte vastaus kohteesta
{
"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-ohjelmointirajapinta palauttaa kaikki annetulle kanavalle käytettävissä olevat alennukset.
GetAvailablePromotions-ohjelmointirajapintaa käytetään ensisijaisesti Kaikki alennukset -sivulla, jossa vähittäismyyjät näyttävät kaikki nykyiselle kanavalle saatavilla olevat alennukset.
GetAvailablePromotions-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Toissijainen nimi | Laji | Pakollinen/valinnainen | Kuvaus |
---|---|---|---|---|
searchCriteria | DiscountsSearchCriteria | Vaadittu | ||
ChannelId | long | Vaadittu | ||
Avainsana | merkkijono | Valinnainen | ||
IsDiscountCodeRequired | bool | Valinnainen | Ilmaisee, onko kuponkikoodi pakollinen vai ei. Jos välitetään tyhjäarvo, kaikki alennukset noudetaan riippumatta kuponkikoodivaatimuksista. | |
StartDate | DateTimeOffset | Vaadittu | Aloituspäivämäärä (inklusiivinen). | |
EndDate | DateTimeOffset | Vaadittu | Loppupäivämäärä (inklusiivinen). |
Esimerkkipyyntöosasta
{
"searchCriteria": {
"ChannelId": 5637144592,
"StartDate": "1900-01-01T00:00:00Z",
"EndDate": "2154-12-31T00:00:00Z"
}
}
Näyte vastaus kohteesta
{
"@odata.context": "https://usnconeboxax1ret.cloud.onebox.dynamics.com/Commerce/$metadata#Collection(Microsoft.Dynamics.Commerce.Runtime.DataModel.Promotion)",
"value": [
{
"OfferId": "ST100024",
"OfferName": "Weekly ad",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": true,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100019",
"OfferName": "Take 20 off anything",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": true,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100015",
"OfferName": "Watches",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100012",
"OfferName": "Loyalty 5% off over $100",
"PeriodicDiscountTypeValue": 4,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "All loyalty members get 5% with transaction total above $10 unless some exclusive or best price discounts are already applied on the transaction",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100011",
"OfferName": "Loyalty 50% off sunglasses",
"PeriodicDiscountTypeValue": 1,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Gold tier Loyalty customers get 50% on Sunglasses when purchased with a Top, Scarf or Men's Casual shirts",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100009",
"OfferName": "Student discount",
"PeriodicDiscountTypeValue": 2,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Students get 10% off for on Jeans and Backpacks",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100004",
"OfferName": "Soccer sale",
"PeriodicDiscountTypeValue": 3,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Providing you great discounts ranging from 10% to 20% on all branded Soccer balls. We carry a full line of soccer balls. Buy one for yourself or gift it to someone. We promise you that you won't be disappointed. If you don't see something that you are looking for please call us. This offer is only valid at our Retail Malls.",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
},
{
"OfferId": "ST100003",
"OfferName": "BMX helmet sale",
"PeriodicDiscountTypeValue": 0,
"IsDiscountCodeRequired": false,
"ValidationPeriodId": "",
"AdditionalRestrictions": "",
"Description": "Get 20% off on all branded youth BMX helmets when you buy two or more. Choose from our great selection of BMX bike helmets from top brands, including ProTec, Giro, Bell and SixSixOne BMX helmets. This offer is only available at our Retail Mall stores",
"ValidFromDate": "1900-01-01T00:00:00Z",
"ValidToDate": "2154-12-31T00:00:00Z",
"CouponCodes": [],
"ExtensionProperties": [
{
"Key": "DATAAREAID",
"Value": {
"StringValue": "usrt"
}
},
{
"Key": "DATEVALIDATIONTYPE",
"Value": {
"IntegerValue": 1
}
}
]
}
]
}
AddCoupons
AddCoupons-ohjelmointirajapinta tukee kuponkiluettelon lisäämistä ostoskoriin. Se palauttaa ostoskoriobjektin, kun kupongit on lisätty.
AddCoupons-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Tyyppi | Pakollinen/valinnainen | kuvaus |
---|---|---|---|
avain | merkkijono | Pakollinen | Ostoskorin tunnus. |
couponCodes | IEnumerable<string> | Pakollinen | Ostoskoriin lisättävät kuponkikoodit. |
isLegacyDiscountCode | bool | Valinnainen | Määritä tämän parametrin arvoksi true osoittaaksesi, että kuponki on vanha alennuskoodi. Oletusarvo on epätosi. |
RemoveCoupons
RemoveCoupons-ohjelmointirajapinta tukee kuponkiluettelon poistamista ostoskorista. Se palauttaa ostoskoriobjektin, kun kupongit on poistettu.
RemoveCoupons-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Tyyppi | Pakollinen/valinnainen | kuvaus |
---|---|---|---|
avain | merkkijono | Pakollinen | Ostoskorin tunnus. |
couponCodes | IEnumerable<string> | Vaadittu | Ostoskorista poistettavat kuponkikoodit. |
GetProductPromotions
GetProductPromotions-ohjelmointirajapinta otettiin käyttöön Commerce-versiossa 10.0.38. Tämä ohjelmointirajapinta noutaa luettelon kampanjatuotteista, joilla on tietyt tuotealennukset, ja voi myös käyttää tuotealennusten tunnusten ja hinnoittelukontekstien luetteloa syötteenä ja kysellä niihin liittyviä kampanjatuotteita. GetProductPromotions-ohjelmointirajapinnan pääkäyttötarkoitus on tuoteluettelosivuilla, joilla vähittäismyyjät esittelevät alennettuja tuotteita. Tämä ohjelmointirajapinta tukee sekä ominaisuuspohjaista hinnoittelumallia että vanhaa hinnoittelumallia.
GetProductPromotions-ohjelmointirajapinnan syöttöparametrit on kuvattu seuraavassa taulukossa.
Nimi | Toissijainen nimi | Laji | Pakollinen/valinnainen | Kuvaus |
---|---|---|---|---|
productDiscountIds | IEnumerable<string> | Vaadittu | Tuotealennustunnusten luettelo, josta etsitään kampanjatuotteita. | |
priceLookupContext | PriceLookupContext | Vaadittu | Hinnoittelun konteksti. | |
activeDate | DateTimeOffset | Valinnainen | Päivämäärä, jona kampanja otetaan huomioon. |
Rajoitukset:
- Syöte voi sisältää enintään viisi tuotealennustunnusta.
- Vain yksinkertaisia alennuksia tuetaan.
Esimerkkipyyntöosasta
{
{
"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äyte vastaus kohteesta
{
"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
}
]
}
]
}
Lisätietoja: PriceLookupContext.
PriceLookupContext
PriceLookupContext-luokkaa käytetään ominaisuuspohjaiseen hinnoittelumalliin ohjelmointirajapinnoissa GetProductPromotions ja GetActivePrices.
PriceLookupContext-luokan rakenne näkyy seuraavassa esimerkissä.
{
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>
},
]
}
Esimerkkipyyntöosasta
"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": []
}
Huomautus
- PriceLookupHeaderContext-parametrissa ei ole määritetty asiakasryhmää, koska se oli johdettava asiakkaan tilinumerosta.
- ChannelId voidaan määrittää PriceLookupHeaderContext-parametrissa. Jos sitä ei määritetä, käytetään pyynnön kontekstin ChannelId-tunnusta (nykyistä kanavaa, kun käytetään Store Commercea).