Condividi tramite


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:

  1. Creare una nuova risorsa sopra la risorsa offerta privata che definisce i prezzi assoluti
  2. 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.