Hämta marginaler
Gäller för: Partnercenter
Lämpliga roller: Administratörsagent
Som partner i CSP-programmet kan du anropa GetMargins API för att få en lista över privata erbjudandemarginaler som utökas till dig av ISV-utgivare.
Förutsättningar
Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.
REST-begäran
[GET] /v1/marginaler
Syntax för begäran
Metod | URI för förfrågan |
---|---|
GET | {baseURL}/v1/marginaler HTTP/1.1 |
Begärandehuvuden
Mer information finns i REST-huvuden för Partnercenter.
Begärandetext
Ingen
Exempel på begäran
GET https://api.partnercenter.microsoft.com/v1/margins HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
REST-svar
Om det lyckas returnerar den här begäran en lista över marginaler för privata erbjudanden. ISV-utgivaren kan konfigurera den privata erbjudandemarginalen antingen som en fast procentrabatt, som tillämpas på det ursprungliga priset för erbjudandet eller som ett anpassat pris som åsidosätter det ursprungliga priset för erbjudandet. Båda marginaltyperna returneras i GetMargins API-svar.
Varje radobjekt i svaret innehåller start- och slutdatum. Den privata erbjudandemarginalen tillämpas endast på köp som görs inom dessa två datum. Köp som görs utanför den tidsramen får inte fördelen med den privata erbjudandemarginalen.
Svarsframgång och felkoder
Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och mer felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och fler parametrar. Den fullständiga listan finns i Felkoder.
Svarsexempel
Procentbaserad privat erbjudandemarginal
I det här exemplet konfigurerade ISV-utgivaren den privata erbjudandemarginalen som en fast procentrabatt från det ursprungliga priset för erbjudandet. Rabatten visas i egenskapen "percentageMargin". Eftersom det här privata erbjudandet utökas för en specifik SKU anges SKU-information som SKU-namn och SKU-ID. Om ISV-utgivaren valde att utöka det privata erbjudandet för alla SKU:er skulle den här informationen inte anges.
Response
HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
"id": "1aa125798b04_01a14813-f6d1-494a-ace1-b84525cf3db4",
"type": "Percentage",
"productId": "DZH318Z0HJ49",
"publisherName": "Test Publisher Name",
"productTitle": "Test Offer Beta",
"skuTitle": "Test Offer Beta SKU 1",
"skuId": "0001",
"productType": "SaaS",
"marginPercentage": 10.0,
"startDate": "2022-02-24T18:38:02.8104364Z",
"endDate": "2022-04-30T23:59:59Z",
"status": "live",
"statusDate": "2022-02-24T18:38:02.8104364Z"
}
]
}
Privat erbjudandemarginal för anpassat pris
I det här exemplet konfigurerade ISV-utgivaren den privata erbjudandemarginalen som ett anpassat pris som åsidosätter det ursprungliga priset för deras SaaS-lösning med anpassade mätare. I stället för en marginPercentage-egenskap som i föregående exempel innehåller det här radobjektet en priceConfiguration-egenskap som innehåller information om den anpassade prissättningen.
PricingModel i det här exemplet visas som en "flat rate"-modell, vilket innebär att du betalar ett fast belopp per period. Om ISV debiterar ett angivet belopp per användare skulle pricingModel säga "per användare".
Matrisen "köp" innehåller prisinformation för varje termvaraktighet. ISV:en i det här exemplet har bara konfigurerat en "månatlig" termvaraktighet, men matrisen "köp" kan också innehålla en "årlig" termvaraktighet. I inköpskonfigurationen för en viss term anger inkluderadeMeterQuan-entiteter beloppen för varje anpassad mätare som ingår i priset. Eftersom ISV-utgivaren kan konfigurera olika prispunkter för olika kundmarknader innehåller matrisen marketSetPrices det anpassade priset för varje marknad och valuta som det privata erbjudandet är tillgängligt i. I det här exemplet omfattar det fasta priset på 448,75262 GPB för en kund på GB-marknaden (Storbritannien) 20 enheter och 30 000 e-postmeddelanden per månad.
Matrisen "förbrukning" innehåller prisinformation om överförbrukning för varje anpassad mätare. Om ISV-produkten inte har anpassade mätare är matrisen tom. Du ser att förbrukningsmatrisen innehåller ett radobjekt för varje anpassad mätare som visas i "includedMeterQuantities". Om du i det här exemplet använder fler än 20 enheter per månad betalar du ytterligare 0,44729 GBP per ytterligare 1 enhet per månad. Om du använder mer än 30 000 e-postmeddelanden betalar du 0,38765 GBP per 100 ytterligare e-postmeddelanden per månad.
Response
HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
"id": "15680381dbad_fe3f0bc2-6372-48af-bbec-2df83918dbf2",
"type": "CustomPrice",
"productId": "DZH318Z0BDGN",
"publisherName": "Test Publisher Name",
"productTitle": "Test Offer Gamma",
"skuTitle": "Test Offer Gamma SKU 1",
"skuId": "0001",
"productType": "SaaS",
"priceConfiguration": {
"pricingModel": "Flat rate",
"purchase": [
{
"termDuration": "Monthly",
"includedMeterQuantities": [
"20 device",
"30000 email"
],
"startDate": "2022-01-31T17:49:25.1346812Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 447.29387
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 448.75262
}
]
}
],
"consumption": [
{
"meterType": "device",
"unitofMeasure": "per 1 device",
"startDate": "2022-01-01T00:00:00Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 0.44729
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 0.44875
}
]
},
{
"meterType": "email",
"unitofMeasure": "per 100 emails",
"startDate": "2022-01-01T00:00:00Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 0.38765
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 0.38892
}
]
}
]
},
"startDate": "2022-01-31T17:49:25.1346812Z",
"endDate": "2028-08-31T23:59:59Z",
"status": "live",
"statusDate": "2022-01-31T17:49:25.1346812Z"
}
]
}
Exemplet ovan bör resultera i följande.