Skapa en direkt ISV till kundens privata erbjudande
Använd den här metoden för att skapa ett privat erbjudande för en kund direkt som en ISV.
Förfrågan
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
Begärandehuvud
Header | Typ | Beskrivning |
---|---|---|
Auktorisering | String | Obligatoriskt. Microsoft Entra-åtkomsttoken i formuläret Bearer <token> . |
Valfritt: clientID
Parametrar för begäran
$version - krävs. Det här är den version av schemat som används i begäran.
Begärandetext
Ange information om det privata erbjudandet med hjälp av schemat för privat erbjudande från ISV till kund. Detta måste innehålla ett namn.
Följande alternativ speglar alternativen i Partnercenter när du skapar ett privat erbjudande för en kund. Alternativen definieras av offerPricingType-värdena som anges här:
offerPricingType-värde | Alternativ för att skapa privata partnercenter |
---|---|
editExistingOfferPricingOnly | Anpassa priser för befintliga offentliga erbjudanden och planer – Använd det här alternativet för att skapa ett privat erbjudande för alla typer av transakterbara erbjudanden: SaaS, Azure Virtual Machines och Azure Applications. Du kan anpassa dina partnerpriser via absoluta priser eller procentrabatter. |
saasNewCustomizedPlans | Anpassa priser, mätarkvantiteter och användargränser för SaaS-erbjudandet – Använd det här alternativet för att skapa ett privat erbjudande för en SaaS-plan genom att anpassa ditt absoluta partnerpris, mätardimensionskvantiteter och användargränser. |
vmSoftwareReservations | Anpassa priser och specifika kvantiteter för erbjudanden för vm-programvarureservationer – Använd det här alternativet för att skapa ett privat erbjudande för fleraparter för att sälja programvarureservationer för virtuella datorer (1 år eller 3 år) och anpassa det absoluta partnerpriset, vCPU-storleken, kvantiteterna, varaktigheten och betalningsschemat. |
För de föregående tre alternativen för pristyper kan kraven på planspecifika resurser variera. Mer information finns i följande tabell.
Resursnamn | editExistingOfferPricingOnly | saasNewCustomizedPlans | vmSoftwareReservations |
---|---|---|---|
prissättning. Plan | Ange detta till plan-ID för den offentliga planen som ska konfigureras i begärandetexten | Ej tillämpligt | Ej tillämpligt |
pricing.basePlan | Inte tillämpligt | Ange detta till plan-ID för den offentliga planen som ska konfigureras i begärandetexten | Ange detta till plan-ID för den offentliga planen som ska konfigureras i begärandetexten |
pricing.newPlanDetails.name | Inte tillämpligt | Ange namnet på den nya planen som ska visas för kunden i begärandetexten | Inte tillämpligt för begärandetexten, kommer att genereras av systemet och vara tillgängligt i jobbets svar när det har slutförts. |
pricing.newPlanDetails.description | Inte tillämpligt | Ange den beskrivning som ska visas för kunden för den nya planen i begärandetexten | Inte tillämpligt för begärandetexten, kommer att genereras av systemet och vara tillgängligt i jobbets svar när det är klart. |
customerContractRenewal-värde | beskrivning |
---|---|
true | Privat erbjudande är en förnyelse av ett befintligt kundavtal. En avgift på 50 % rabatt gäller för ditt privata erbjudande för kundförnyelser |
falskt | Privat erbjudande är inte en förnyelse av ett befintligt kundavtal. Din standardavgift för agenturer tillkommer. |
Exempel på begärandetext
Exempel på begärandetext med rabattpriser för att endast anpassa priser för befintlig offentlig plan
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30",
"name": "privateOffercustomer1705",
"state": "live",
"privateOfferType": "customerPromotion",
"offerPricingType": "editExistingOfferPricingOnly",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA ",
"notificationContacts": [ "amy@contoso.com" ],
"beneficiaries": [
{ "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
],
"pricing": [
{ "product": "product/34771906-9711-4196-9f60-4af380fd5042", "plan":"plan/123456","discountType": "percentage", "discountPercentage": 5 }
]
}
]
}
Exempel på begärandetext med absolut prissättning för att endast anpassa priser för befintlig offentlig plan
Om du använder absoluta priser i stället för procentbaserad rabatt:
- Skapa en ny resurs ovanför resursen för det privata erbjudandet som definierar den absoluta prissättningen
- Inkludera den nyligen skapade resursen som ett annat objekt i resurslistan för konfigurationsschemat.
Använd den här metoden för att hämta prisresursen för din befintliga offentliga plan, redigera priserna och sedan använda den redigerade resursen för ditt privata erbjudande.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exempel på absolut prisresurs
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
"resourceName": "newSimpleAbsolutePricing",
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"offerPricingType": "editExistingOfferPricingOnly",
"plan": "plan/987654",
"pricing": {
"recurrentPrice": {
"priceInputOption": "usd",
"prices": [
{
"pricePerPaymentInUsd": 1,
"billingTerm": {
"type": "month",
"value": 1
}
},
{
"pricePerPaymentInUsd": 2,
"paymentOption": {
"type": "month",
"value": 1
},
"billingTerm": {
"type": "year",
"value": 1
}
}
]
},
"customMeters": {
"priceInputOption": "usd",
"meters": {
"meter1": {
"pricePerPaymentInUsd": 1
}
}
}
}
}
Inkludera resursen som ett objekt i prismodulen
[
{
"product": "product/34771906-9711-4196-9f60-4af380fd5042",
"plan": "plan/123456",
"discountType": "percentage",
"discountPercentage": 5
},
{
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"plan": "plan/987654",
"discountType": "absolute",
"priceDetails": {
"resourceName": "newSimpleAbsolutePricing"
}
}
]
Exempel på begärandetext med absolut prissättning för att anpassa priser, mätarantal och användargränser för SaaS-erbjudandet
Använd följande metod för att skapa en absolut pris- och tillgänglighetsresurs för erbjudandet.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exempel på absolut prisresurs för ett SaaS-erbjudande med fast pris som anpassar pris- och mätarkvantiteter
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"resourceName": "newSaaSPlanAbsolutePricing",
"plan": "plan/ 123456",
"offerPricingType": "saasNewCustomizedPlans",
"pricing": {
"recurrentPrice": {
"recurrentPriceMode": "flatRate",
"priceInputOption": "usd",
"prices": [
{
"billingTerm": {
"type": "month",
"value": 1
},
"paymentOption": {
"type": "month",
"value": 1
},
"pricePerPaymentInUsd": 0.1
},
{
"billingTerm": {
"type": "year",
"value": 1
},
"paymentOption": {
"type": "month",
"value": 1
},
"pricePerPaymentInUsd": 0.12
}
]
},
"customMeters": {
"priceInputOption": "usd",
"meters": {
"meter1": {
"includedQuantities": [
{
"billingTerm": {
"type": "month",
"value": 1
},
"quantity": 10.0,
"isInfinite": false
},
{
"billingTerm": {
"type": "year",
"value": 1
},
"quantity": 15.0,
"isInfinite": false
}
]
},
"meter2": {
"includedQuantities": [
{
"billingTerm": {
"type": "month",
"value": 1
},
"isInfinite": true
},
{
"billingTerm": {
"type": "year",
"value": 1
},
"isInfinite": true
}
]
}
}
}
}
}
Exempel på absolut prisresurs för ett SaaS-erbjudande per användare som anpassar pris- och användargränser
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
"resourceName": "newSaaSPlanAbsolutePricing",
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"plan": "plan/123456",
"offerPricingType": "saasNewCustomizedPlans",
"pricing": {
"recurrentPrice": {
"recurrentPriceMode": "perUser",
"priceInputOption": "usd",
"userLimits": {
"min": 20,
"max": 100
},
"prices": [
{
"billingTerm": {
"type": "month",
"value": 1
},
"paymentOption": {
"type": "month",
"value": 1
},
"pricePerPaymentInUsd": 0.01
},
{
"billingTerm": {
"type": "year",
"value": 1
},
"paymentOption": {
"type": "year",
"value": 1
},
"pricePerPaymentInUsd": 0.02
}
]
}
}
}
Inkludera resursen som ett objekt i prismodulen
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30",
"name": "privateOffercustomer1705",
"state": "live",
"privateOfferType": "customerPromotion",
"offerPricingType": "saasNewCustomizedPlans",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA",
"notificationContacts": [ "amy@contoso.com" ],
"beneficiaries": [
{ "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
],
"pricing": [
{
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"discountType": "absolute",
"priceDetails": {
"resourceName": "newSaaSPlanAbsolutePricing"
}
"basePlan": "plan/123456",
"newPlanDetails": {
"name": "newPlanName",
"description": "newPlanDescription"
}
]
}
]
}
Exempel på begärandetext med absolut prissättning för att anpassa priser och specifika kvantiteter för erbjudanden om vm-programvarureservation
Använd följande metod för att skapa en absolut pris- och tillgänglighetsresurs för erbjudandet.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exempel på absolut prisresurs för ett vm-erbjudande som anpassar pris och kvantiteter
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
"resourceName": "newVMSRAbsolutePricing",
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"offerPricingType": "vmSoftwareReservations",
"plan": "plan/987654",
"softwareReservation": {
"reservationDuration": {
"type": "year",
"value": 1
},
"paymentSchedule": {
"type": "year",
"value": 1
},
"vmPrices": {
"36Core": {
"quantity": 4.0,
"unitPricePerPaymentPeriodInUsd": 0.04
}
}
}
}
Inkludera resursen som ett objekt i prismodulen
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30",
"name": "privateOffercustomer1705",
"state": "live",
"privateOfferType": "customerPromotion",
"offerPricingType": "vmSoftwareReservations",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA",
"notificationContacts": [ "amy@contoso.com" ],
"beneficiaries": [
{ "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
],
"pricing": [
{
"product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
"discountType": "absolute",
"priceDetails": {
"resourceName": "newVMSRAbsolutePricing"
}
"basePlan": "plan/987654"
]
}
]
}
Response
Svaret innehåller det jobId som du kan använda senare för att avsöka statusen:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2023-07-15",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "notStarted",
"jobResult": "pending",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "0001-01-01",
"errors": []
}
Felkoder
HTTP-statuskod | beskrivning |
---|---|
401 | Autentiseringsfel: Kontrollera att du använder en giltig Microsoft Entra-åtkomsttoken. |
400 | Schemaverifiering. Kontrollera att begärandetexten följer rätt schema och innehåller alla obligatoriska fält. |