Creare un isv diretto all'offerta privata del cliente
Usare questo metodo per creare un'offerta privata per un cliente direttamente come ISV.
Richiedi
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
Intestazione della richiesta
Intestazione | Type | Descrizione |
---|---|---|
Autorizzazione | Stringa | Obbligatorio. Token di accesso Di Microsoft Entra nel formato Bearer <token> . |
Facoltativo: clientID
Parametri della richiesta
$version : obbligatorio. Si tratta della versione dello schema in uso nella richiesta.
Testo della richiesta
Specificare i dettagli dell'offerta privata usando lo schema dell'offerta privata isv al cliente. Deve includere un nome.
Le opzioni seguenti rispecchiano le opzioni nel Centro per i partner quando si crea un'offerta privata per un cliente. Le opzioni sono definite dai valori offerPricingType elencati di seguito:
valore offerPricingType | Opzione di creazione dell'offerta privata del Centro per i partner equivalente |
---|---|
editExistingOfferPricingOnly | Personalizzare i prezzi per offerte e piani pubblici esistenti: usare questa opzione per creare un'offerta privata per tutti i tipi di offerta transazionabili: SaaS, Azure Macchine virtuali e app Azure licazioni. È possibile personalizzare i prezzi dei partner tramite prezzi assoluti o sconti percentuali. |
saasNewCustomizedPlans | Personalizzare prezzi, quantità di contatori e limiti utente per l'offerta SaaS: usare questa opzione per creare un'offerta privata per un piano SaaS personalizzando il prezzo assoluto dei partner, le quantità di dimensioni di misurazione e i limiti utente. |
vmSoftwareReservations | Personalizzare i prezzi e le quantità specifiche per le offerte di prenotazione software della macchina virtuale: usare questa opzione per creare un'offerta privata multiparty per vendere prenotazioni software vm (1 anno o 3 anni) e personalizzare il prezzo assoluto dei partner, le dimensioni vCPU, le quantità, la durata e la pianificazione dei pagamenti. |
Per le tre opzioni del tipo di prezzo precedenti, i requisiti delle risorse specifiche del piano possono variare, vedere la tabella seguente per informazioni dettagliate.
Nome risorsa | editExistingOfferPricingOnly | saasNewCustomizedPlans | vmSoftwareReservations |
---|---|---|---|
Prezzi. Piano | Impostare questa opzione sull'ID piano del piano pubblico da configurare nel corpo della richiesta | Non applicabile | Non applicabile |
pricing.basePlan | Non applicabile | Impostare questa opzione sull'ID piano del piano pubblico da configurare nel corpo della richiesta | Impostare questa opzione sull'ID piano del piano pubblico da configurare nel corpo della richiesta |
pricing.newPlanDetails.name | Non applicabile | Impostare questo valore sul nome del nuovo piano che verrà visualizzato al cliente nel corpo della richiesta | Non applicabile al corpo della richiesta, verrà generato e disponibile nel sistema nella risposta del processo al termine. |
pricing.newPlanDetails.description | Non applicabile | Impostare questa proprietà sulla descrizione che verrà visualizzata al cliente per il nuovo piano nel corpo della richiesta | Non applicabile al corpo della richiesta, verrà generato e disponibile nel sistema nella risposta del processo al termine. |
customerContractRenewal value | Descrizione |
---|---|
vero | L'offerta privata è un rinnovo di un contratto cliente esistente. Una tariffa di agenzia scontata del 50% si applica all'offerta privata per i rinnovi dei clienti |
false | L'offerta privata non è un rinnovo di un contratto cliente esistente. Si applicano le tariffe standard dell'agenzia. |
Esempi di corpo della richiesta
Corpo di richiesta di esempio che usa i prezzi di sconto per personalizzare i prezzi solo per il piano pubblico esistente
{
"$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 }
]
}
]
}
Corpo della richiesta di esempio che usa prezzi assoluti per personalizzare i prezzi solo per il piano pubblico esistente
Se si usano prezzi assoluti invece di sconto in base alla percentuale:
- Creare una nuova risorsa sopra la risorsa offerta privata che definisce i prezzi assoluti
- Includere la risorsa appena creata come un altro oggetto nell'elenco delle risorse dello schema di configurazione.
Usare questo metodo per ottenere la risorsa dei prezzi per il piano pubblico esistente, modificare i prezzi e quindi usare la risorsa modificata per l'offerta privata.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Risorsa prezzi assoluta di esempio
{
"$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
}
}
}
}
}
Includere tale risorsa come oggetto nel modulo prezzi
[
{
"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"
}
}
]
Corpo della richiesta di esempio che usa prezzi assoluti per personalizzare prezzi, quantità di misurazione e limiti utente per l'offerta SaaS
Usare il metodo seguente per creare un prezzo assoluto e una risorsa di disponibilità per l'offerta.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Risorsa prezzi assoluta di esempio per un'offerta SaaS a tariffa fissa che personalizza le quantità di prezzo e contatore
{
"$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
}
]
}
}
}
}
}
Risorsa prezzi assoluta di esempio per un'offerta SaaS per utente che personalizza i limiti di prezzo e utente
{
"$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
}
]
}
}
}
Includere tale risorsa come oggetto nel modulo prezzi
{
"$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"
}
]
}
]
}
Corpo della richiesta di esempio che usa prezzi assoluti per personalizzare i prezzi e le quantità specifiche per le offerte di prenotazione software della macchina virtuale
Usare il metodo seguente per creare un prezzo assoluto e una risorsa di disponibilità per l'offerta.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Risorsa prezzi assoluta di esempio per un'offerta di macchina virtuale che personalizza i prezzi e le quantità
{
"$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
}
}
}
}
Includere tale risorsa come oggetto nel modulo prezzi
{
"$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
La risposta contiene il jobId che è possibile usare in un secondo momento per eseguire il polling dello stato:
{
"$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": []
}
Codici di errore
Codice di stato HTTP | Descrizione |
---|---|
401 | Errore di autenticazione: assicurarsi di usare un token di accesso Microsoft Entra valido. |
400 | Convalida dello schema. Verificare che il corpo della richiesta stia seguendo lo schema corretto e includa tutti i campi obbligatori. |