„Commerce“ kainodaros API
Šiame straipsnyje aprašomos įvairios kainodaros API, kurias teikia Microsoft Dynamics 365 Commerce kainodaros variklis.
Kainų Dynamics 365 Commerce nustatymo variklis pateikia tokius "Retail Server" API, kuriuos išorinės programos gali naudoti, kad palaiky galėtų palaikyti įvairius kainodaros scenarijus:
- GetActivePrices – Ši API gauna apskaičiuotą produkto kainą, įskaitant paprastas nuolaidas.
- CalculateSalesDocument – Ši API apskaičiuoja kainas ir nuolaidas produktams nurodytais kiekiais, jei jie perkami kartu.
- GetAvailablePromotions – Šiai API taikomos nuolaidos krepšelyje esantiems produktams.
- AddCoupons – Ši API prideda kuponus į krepšelį.
- RemoveCoupons– Ši API pašalina kuponus iš krepšelio.
Daugiau informacijos apie tai, kaip naudoti Retail Server API išorinėse programose, žr Naudokite mažmeninės prekybos serverio API išorinėse programose
GetActivePrices
GetActivePrices API buvo pristatyta Commerce 10.0.4 versijoje. Ši API gauna apskaičiuotą produkto kainą, įskaitant paprastas nuolaidas. Ji neskaičiuoja kelių eilučių nuolaidų ir daro prielaidą, kad kiekvieno produkto API užklausoje kiekis yra 1. Ši API taip pat gali naudoti produktų sąrašą kaip įvestį ir pateikti atskirų produktų kainos užklausą.
GetActivePrices API palaiko Darbuotojas, Klientas, Anonymous, ir Taikymas Komerciniai vaidmenys.
Pagrindinis naudojimo atvejis GetActivePrices API yra produkto informacijos puslapis (PDP), kuriame mažmenininkai rodo geriausią produkto kainą, įskaitant visas veiksmingas nuolaidas.
Banknotas
Jei matote mažiau grąžinamų prekių už a GetActivePrices
skambinkite, galite sekti Kanalo prekybos konfigūracijos tikrintuvas kad patvirtintumėte savo prekybos konfigūracijas.
Šioje lentelėje pateikiami įvesties parametrai GetActivePrices API.
Pavadinimas | Antrinis pavadinimas | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|---|
projectDomain | ProjectionDomain | Privaloma | ||
Kanalo ID | ilgai | Privaloma | ||
Katalogo ID | ilgai | Privaloma | ||
produkto ID | Įskaitomas<ilgai> | Privaloma | Produktų, kurių kainas reikia apskaičiuoti, sąrašas. | |
ActiveDate | DateTimeOffset | Privaloma | Kainų skaičiavimo data. | |
Kliento ID | eilutė | Pasirinktinai | Kliento sąskaitos numeris. | |
affiliationLoyaltyTiers | Įskaitomas<AffiliationLoyaltyTier> | Pasirinktinai | Priklausomybės ir lojalumo lygiai. | |
AffiliationId | ilgai | Privaloma | Priklausomybės ID. | |
Lojalumo pakopos ID | ilgai | Pasirinktinai | Lojalumo lygio ID. | |
includeSimpleDiscountsInContextualPrice | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa į kainodaros skaičiavimą įtraukti paprastas nuolaidas. Numatytoji reikšmė yra klaidinga. | |
įtraukti VariantPriceRange | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa gauti minimalias ir maksimalias kainas tarp visų pagrindinio produkto variantų. Numatytoji reikšmė yra klaidinga. | |
includeAttainablePricesAndDiscounts | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa gauti prieinamas kainas ir nuolaidas. Numatytoji reikšmė yra klaidinga. |
Pavyzdžio užklausos tekstas
{
"projectDomain":
{
"ChannelId": 5637144592,
"CatalogId": 0
},
"productIds":
[
68719489871
],
"activeDate": "2022-06-20T14:40:05.873+08:00",
"includeSimpleDiscountsInContextualPrice": true,
"includeVariantPriceRange": false
}
Atsakymo korpuso pavyzdys
{
"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": [],
}
]
}
Naudoti PriceLookupContext
Klasė PriceLookupContext buvo įvesta į "Commerce" versiją 10.0.37. Klasėje yra visi GetActivePrices API peržvalgos kriterijai ir pakeisti ankstesni produktų ID, activeDate, customerId ir affiliationLoyaltyTiers parametrai. Be to, klasė turi papildomų ypatybės, kurias programuotojai gali naudoti nuolaidoms filtruoti peržvalgą.
Pagal jūsų organizacijos poreikius GetActivePrices API gali priimti ankstesnius parametrus arba naujus parametrus, susijusius su PriceLookupContext klase.
Įvesties parametrai
Pavadinimas | Antrinis pavadinimas | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|---|
projectDomain | ProjectionDomain | Būtinas | ||
Kanalo ID | ilgai | Būtinas | ||
Katalogo ID | ilgai | Būtinas | ||
priceLookupContext | PriceLookupContext | Būtinas | ||
HeaderContext | PriceLookupHeaderContext | Būtinas | Apima CustomerAccountNumber, AffiliationLoyaltyTierLines ir SalesOrderProperties | |
Eilutės kontekstai | IEnumerable<PriceLookupLineContext> | Būtinas | Yra ProductRecordId, UnitOfMeasureSymbol, InventorySiteId, InventoryLocationId, DeliveryMode, CatalogId ir SalesLineProperties. | |
includeSimpleDiscountsInContextualPrice | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa į kainodaros skaičiavimą įtraukti paprastas nuolaidas. Numatytoji reikšmė yra klaidinga. | |
įtraukti VariantPriceRange | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa gauti minimalias ir maksimalias kainas tarp visų pagrindinio produkto variantų. Numatytoji reikšmė yra klaidinga. | |
includeAttainablePricesAndDiscounts | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa gauti prieinamas kainas ir nuolaidas. Numatytoji reikšmė yra klaidinga. |
Daugiau informacijos rasite PriceLookupContext.
CalculateSalesDocument
CalculateSalesDocument API buvo pristatyta Commerce 10.0.25 versijoje. Ši API apskaičiuoja produktų kainas ir nuolaidas nurodytais kiekiais, jei jie perkami kartu užsakyme. Kainos apskaičiavimas už CalculateSalesDocument API atsižvelgia ir į vienos eilutės nuolaidas, ir į kelių eilučių nuolaidas.
Pagrindinis naudojimo atvejis CalculateSalesDocument API yra kainodaros apskaičiavimas scenarijuose, kai nelieka viso krepšelio konteksto (pvz., pardavimo kainos). Šis naudojimo atvejis taip pat gali būti naudingas pardavimo vietoje (POS) ir prekybos el. prekybai. Mažesnė bendra kaina, kai krepšelio prekės skaičiuojamos kaip rinkinys (pavyzdžiui, atskiriems paketams, susietiems ar rekomenduojamiems produktams arba produktams, kurie jau buvo įtraukti į krepšelį), gali įtikinti klientus įtraukti produktus į krepšelį.
Tiek užklausos, tiek atsakymo duomenų modelis CalculateSalesDocument API yra Krepšelis. Tačiau šios API kontekste duomenų modelis yra pavadintas SalesDocument. Kadangi dauguma ypatybių yra neprivalomos ir tik kelios iš jų turi įtakos kainodaros skaičiavimui, šioje lentelėje rodomi tik su kainodara susiję laukai. Nerekomenduojame įtraukti jokių kitų laukų į API užklausą.
Apimtis CalculateSalesDocument API yra tik kainų ir nuolaidų skaičiavimas. Mokesčiai ir rinkliavos neįtraukiami.
Šioje lentelėje pateikiami įvesties parametrai objekte, kuriam suteiktas pavadinimas pardavimo dokumentas.
Pavadinimas | Antrinis pavadinimas | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|---|
ID | eilutė | Būtinas | Pardavimo dokumento identifikatorius. | |
CartLines | IList<CartLine> | Pasirinktinai | Eilučių, kurioms reikia apskaičiuoti kainas ir nuolaidas, sąrašas. | |
Produkto ID | ilgai | Reikalingas CartLine srityje | Produkto įrašo ID. | |
ItemId | eilutė | Pasirinktinai | Prekės identifikatorius. Jei pateikiama reikšmė, ji turi atitikti reikšmę ProductId parametras. | |
InventoryDimensionId | eilutė | Pasirinktinai | Atsargų aspekto identifikatorius. Jei pateikiama vertė, derinys ItemId ir InventoryDimensionId reikšmės turi atitikti reikšmę ProductId parametras. | |
Kiekis | dešimtainis | Reikalingas CartLine srityje | Produkto kiekis. | |
UnitOfMeasureSymbol | eilutė | Pasirinktinai | Produkto vienetas. Pagal numatytuosius nustatymus, jei vertė nepateikiama, API naudoja produkto pardavimo vienetą. | |
Kliento ID | eilutė | Pasirinktinai | Kliento sąskaitos numeris. | |
LoyaltyCardId | eilutė | Pasirinktinai | Lojalumo kortelės identifikatorius. Bet kuri kliento sąskaita, susieta su lojalumo kortele, turi atitikti Parametro CustomerId vertę (jei pateikta). Lojalumo kortelės nelaikoma, jei ji nerasta arba jos būsena užblokuota . | |
AffiliationLines | IList<AffiliationLoyaltyTier> | Pasirinktinai | Partnerystės lojalumo lygio linijos. Jei pateiktos CustomerId ir ( arba) LoyaltyCardId vertės, atitinkamos priskyrimo lojalumo pakopos eilutės suliejamos su eilutėmis, kurios pateiktos affiliationLines vertėje. | |
AffiliationId | ilgai | Reikalingas „AffiliationLoyaltyTier“ apimtyje | Priklausomybės įrašo ID. | |
LoyaltyTierId | ilgai | Reikalingas „AffiliationLoyaltyTier“ apimtyje | Lojalumo lygio įrašo ID. | |
AffiliationTypeValue | tarpt | Reikalingas „AffiliationLoyaltyTier“ apimtyje | Reikšmė, nurodanti, ar priklausomybės eilutė yra Generolas tipas (0) arba Lojalumas tipas (1). Jei parametras nustatytas kaip0 , API kaip identifikatorių paima priskyrimoId vertę ir nepaiso LoyaltyTierId vertės. Jei parametras nustatytas kaip1 , API kaip identifikatorių paima LoyaltyTierId vertę ir nepaiso AffiliationId vertės. | |
ReasonCodeLines | Kolekcija<ReasonCodeLine> | Reikalingas „AffiliationLoyaltyTier“ apimtyje | Priežasties kodo eilutės. Šis parametras neturi įtakos apskaičiuojant kainodarą, bet yra būtinas kaip dalis AffiliationLoyaltyTier objektas. | |
Kliento ID | eilutė | Reikalingas „AffiliationLoyaltyTier“ apimtyje | Kliento sąskaitos numeris. | |
Kuponai | IList<Kuponas> | Pasirinktinai | Skaičiuojant kainą atsižvelgiama į kuponus, kurie nėra taikomi (neaktyvūs, nebegalioja arba nelaikomi). | |
Kodas | eilutė | Reikalingas kupono apimtyje | Kupono kodas. | |
CodeId | eilutė | Pasirinktinai | Kupono kodo identifikatorius. Jei pateikiama reikšmė, ji turi atitikti reikšmę Kodas parametras. | |
DiscountOfferId | eilutė | Pasirinktinai | Nuolaidos identifikatorius. Jei pateikiama reikšmė, ji turi atitikti reikšmę Kodas parametras. |
Pavyzdžio užklausos tekstas
{
"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"
}
]
}
}
Visas krepšelio objektas grąžinamas kaip atsakymo korpusas. Norėdami patikrinti kainas ir nuolaidas, sutelkite dėmesį į šios lentelės laukus.
Pavadinimas | Antrinis pavadinimas | Tipas | Aprašymas |
---|---|---|---|
NetPrice | dešimtainis | Grynoji viso pardavimo dokumento kaina prieš pradedant taikyti bet kokias nuolaidas. | |
DiscountAmount | dešimtainis | Bendra viso pardavimo dokumento nuolaidos suma. | |
TotalAmount | dešimtainis | Bendra viso pardavimo dokumento suma. | |
CartLines | IList<CartLine> | Apskaičiuotos eilutės, kuriose yra išsami informacija apie kainą ir nuolaidą. | |
Kaina | dešimtainis | Produkto vieneto kaina. | |
NetPrice | dešimtainis | Grynoji eilutės kaina prieš pradedant taikyti nuolaidas (= Price × Quantity). | |
DiscountAmount | dešimtainis | Nuolaidos suma. | |
TotalAmount | dešimtainis | Galutinis bendras linijos kainodaros rezultatas. | |
PriceLines | IList<PriceLine> | Kainos informacija, įskaitant kainos šaltinį (bazinę kainą, kainos koregavimą arba prekybos sutartį) ir sumą. | |
DiscountLines | IList<DiscountLine> | Informacija apie nuolaidą. |
GetAvailablePromotions
Yra du panašūs GautiAvailablePromotions API:
- Carts/GetAvailablePromotions kaip parametrą priima krepšelio eilutės identifikatorių sąrašą.
- GetAvailablePromotions priima a DiscountsSearchCriteria objektas kaip parametras.
Carts/GetAvailablePromotions
Atsižvelgiant į vežimėlį, kuriame yra kelios vežimėlio linijos, Carts/GetAvailablePromotions API grąžina visas taikomas nuolaidas krepšelio eilutėms.
Pagrindinis naudojimo atvejis Carts/GetAvailablePromotions API yra krepšelio puslapis, kuriame mažmenininkai rodo pritaikytas nuolaidas arba galimus kuponus dabartiniam krepšeliui.
Šioje lentelėje pateikiami įvesties parametrai Carts/GetAvailablePromotions API.
Pavadinimas / vardas ir pavardė | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|
raktas | eilutė | Privaloma | Krepšelio ID. |
cartLineIds | Įskaitomas<styga> | Pasirinktinai | Nustatykite šį parametrą, kad grąžintumėte nuolaidas tik pasirinktoms krepšelio eilutėms. |
Atsakymo į pavyzdžio tekstas
{
"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 API grąžina visas tam kanalui taikomas nuolaidas.
Pagrindinis naudojimo atvejis GetAvailablePromotions API yra puslapis „Visos nuolaidos“, kuriame mažmenininkai rodo visas dabartinio kanalo nuolaidas.
Šioje lentelėje pateikiami įvesties parametrai GetAvailablePromotions API.
Pavadinimas | Antrinis pavadinimas | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|---|
searchCriteria | DiscountsSearchCriteria | Privaloma | ||
ChannelId | ilgai | Privaloma | ||
Raktažodis | eilutė | Pasirinktinai | ||
IsDiscountCodeRequired | bool | Pasirinktinai | Nurodo, ar kupono kodas reikalingas, ar ne. Jei nulinis patvirtinimas, visos nuolaidos gaunamos, neatsižvelgiant į kupono kodo reikalavimus. | |
StartDate | DateTimeOffset | Privaloma | Pradžios data (imtinai). | |
EndDate | DateTimeOffset | Būtinas | Pabaigos data (imtinai). |
Pavyzdžio užklausos tekstas
{
"searchCriteria": {
"ChannelId": 5637144592,
"StartDate": "1900-01-01T00:00:00Z",
"EndDate": "2154-12-31T00:00:00Z"
}
}
Atsakymo korpuso pavyzdys
{
"@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 API palaiko kuponų sąrašo įtraukimą į krepšelį. Pridėjus kuponus, jis grąžina krepšelio objektą.
Šioje lentelėje pateikiami įvesties parametrai AddCoupons API.
Pavadinimas / vardas ir pavardė | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|
raktas | eilutė | Privaloma | Krepšelio ID. |
kupono kodai | Įskaitomas<styga> | Privaloma | Kuponų kodai, kuriuos reikia įdėti į krepšelį. |
isLegacyDiscountCode | bool | Pasirinktinai | Nustatykite šį parametrą į tiesa nurodyti, kad kuponas yra senas nuolaidos kodas. Numatytoji reikšmė yra klaidinga. |
RemoveCoupons
RemoveCoupons API palaiko kuponų sąrašo pašalinimą iš krepšelio. Pašalinus kuponus, jis grąžina krepšelio objektą.
Šioje lentelėje pateikiami įvesties parametrai RemoveCoupons API.
Pavadinimas / vardas ir pavardė | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|
raktas | eilutė | Privaloma | Krepšelio ID. |
couponCodes | Įskaitomas<styga> | Būtinas | Kupono kodai, kuriuos reikia išimti iš krepšelio. |
GetProductPromotions
GetProductPromotions API buvo pristatytas į "Commerce" 10.0.38 versiją. API gauna reklaminių produktų su duotais produktų nuolaidomis sąrašą ir taip pat gali pateikti produktų nuolaidų SF sąrašą ir kainos kontekstą kaip įvestį ir užklausą dėl susijusių akcijos produktų. Pagrindinis naudojimo atvejis, skirtas GetProductPromotions API, yra produktų sąrašo puslapiuose, kur mažmenininkai rodo produktus su nuolaidomis. API palaiko ir nuosavybės bazinės kainodaros modelį, ir senesnį kainos modelį.
Toliau pateikiamoje lentelėje pateikiami GetProductPromotions API įvesties parametrai.
Pavadinimas | Antrinis pavadinimas | Tipas | Būtina / pasirinktina | Aprašymas |
---|---|---|---|---|
productDiscountIds | Įskaitomas<styga> | Būtinas | Produkto nuolaidų ID, pagal kuriuos ieškomi akcijos produktai, sąrašas. | |
priceLookupContext | PriceLookupContext | Būtinas | Kainų kontekstas. | |
ActiveDate | DateTimeOffset | Pasirinktinai | Data, kada atsižvelgiama į akciją. |
Apribojimai ir apribojimai:
- Kaip įvestį galima atlikti tik penkių produkto nuolaidų JAV kodą.
- Palaikomos tik paprastos nuolaidos.
Pavyzdžio užklausos tekstas
{
{
"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",
},
}
Atsakymo korpuso pavyzdys
{
"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
}
]
}
]
}
Daugiau informacijos rasite PriceLookupContext.
PriceLookupContext
Klasė PriceLookupContext naudojama ypatybių bazinės kainos modeliui GetProductPromotionsir GetActivePrices APIs.
Klasės PriceLookupContext struktūra parodyta šiame pavyzdyje.
{
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>
},
]
}
Pavyzdžio užklausos tekstas
"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": []
}
Banknotas
- Nėra klientų grupės, nurodytos PriceLookupHeaderContext paramter, nes ji buvo numanoma pagal kliento sąskaitos numerį.
- ChannelId galima nurodyti priceLookupHeaderContext parametre. Jei jis nenurodytas, naudojamas ChannelId iš užklausos konteksto (dabartinio kanalo, kai naudojama parduotuvės prekyba).