Freigeben über


Erstellen eines direkten ISV zu kundenspezifischem privatem Angebot

Verwenden Sie diese Methode, um ein privates Angebot für einen Kunden direkt als ISV zu erstellen.

Anfordern

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01

Anforderungsheader

Header Typ Beschreibung
Autorisierung String Erforderlich. Das Microsoft Entra-Zugriffstoken im Formular Bearer <token>.

Optional: clientID

Anforderungsparameter

$version – erforderlich. Dies ist die Version des Schemas, das in der Anforderung verwendet wird.

Anforderungstext

Geben Sie die Details des privaten Angebots mithilfe des ISV zum privaten Angebotsschema des Kunden an. Sie müssen hierbei einen Namen angeben.

Die folgenden Optionen spiegeln die Optionen im Partner Center beim Erstellen eines privaten Angebots für einen Kunden wieder. Optionen werden durch die hier aufgelisteten offerPricingType-Werte definiert:

offerPricingType-Wert Partner Center private Angebotserstellungsoptionsäquivalent
editExistingOfferPricingOnly Anpassen der Preise für vorhandene öffentliche Angebote und Pläne – Verwenden Sie diese Option, um ein privates Angebot für alle transaktionsfähigen Angebotstypen zu erstellen: SaaS, Azure Virtual Machines und Azure-App lizenzierungen. Sie können Ihre Partnerpreise über absolute Preise oder Prozentrabatte anpassen.
saasNewCustomizedPlans Anpassen von Preisen, Metermengen und Benutzerlimits für SaaS-Angebote – Verwenden Sie diese Option, um ein privates Angebot für einen SaaS-Plan zu erstellen, indem Sie Ihren absoluten Partnerpreis, die Maßmengen für die Messung und die Benutzerbeschränkungen anpassen.
vmSoftwareReservations Anpassen der Preise und spezifischen Mengen für VM-Softwarereservierungsangebote – Verwenden Sie diese Option, um ein privates Mehrparteienangebot zum Verkauf von VM-Softwarereservierungen (1-Jahr oder 3-Jahr) zu erstellen und den absoluten Partnerpreis, die vCPU-Größe, die Mengen, die Dauer und den Zahlungsplan anzupassen.

Für die vorherigen drei Preistypoptionen können die anforderungen für planspezifische Ressourcen variieren. Ausführliche Informationen finden Sie in der folgenden Tabelle.

Ressourcenname editExistingOfferPricingOnly saasNewCustomizedPlans vmSoftwareReservations
Auszeichnung. Plan Legen Sie dies auf die Plan-ID des öffentlichen Plans fest, der im Anforderungstext konfiguriert werden soll. Nicht zutreffend Nicht zutreffend
pricing.basePlan Nicht zutreffend Legen Sie dies auf die Plan-ID des öffentlichen Plans fest, der im Anforderungstext konfiguriert werden soll. Legen Sie dies auf die Plan-ID des öffentlichen Plans fest, der im Anforderungstext konfiguriert werden soll.
pricing.newPlanDetails.name Nicht zutreffend Legen Sie dies auf den Namen des neuen Plans fest, der dem Kunden im Anforderungstext angezeigt wird. Gilt nicht für den Anforderungstext, wird das System generiert und steht in der Antwort des Auftrags nach Abschluss zur Verfügung.
pricing.newPlanDetails.description Nicht zutreffend Legen Sie dies auf die Beschreibung fest, die dem Kunden für den neuen Plan im Anforderungstext angezeigt wird. Gilt nicht für den Anforderungstext, wird das System generiert und in der Antwort des Auftrags verfügbar, wenn er abgeschlossen ist.
customerContractRenewal-Wert Beschreibung
true Privates Angebot ist eine Verlängerung eines bestehenden Kundenvertrags. Eine 50% ermäßigte Agenturgebühr gilt für Ihr privates Angebot für Kundenverlängerungen
false Privates Angebot ist keine Verlängerung eines bestehenden Kundenvertrags. Ihre Standardagenturgebühr gilt.

Anfordern von Textkörperbeispielen

Beispielanforderungstext mit Rabattpreisen zum Anpassen der Preise für vorhandene öffentliche Pläne

{
 "$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 }
       ]
    }
  ]
}

Beispielanforderungstext mit absoluten Preisen zum Anpassen der Preise für vorhandene öffentliche Pläne

Wenn Sie absolute Preise anstelle von prozentbasierten Rabatten verwenden:

  1. Erstellen Sie eine neue Ressource oberhalb der privaten Angebotsressource, die die absolute Preisgestaltung definiert.
  2. Fügen Sie diese neu erstellte Ressource als ein weiteres Objekt in die Ressourcenliste des Konfigurationsschemas ein.

Verwenden Sie diese Methode, um die Preisressource für Ihren vorhandenen öffentlichen Plan zu erhalten, die Preise zu bearbeiten und dann die bearbeitete Ressource für Ihr privates Angebot zu verwenden.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

Beispiel für absolute Preisressource

{
    "$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
                }
            }
        }
    }
}

Diese Ressource als Objekt in das Preismodul einschließen

[
    {
        "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"
        }
    }
]

Beispielanforderungstext mit absoluten Preisen zum Anpassen von Preisen, Getakteungsmengen und Benutzergrenzwerten für SaaS-Angebote

Verwenden Sie die folgende Methode, um eine absolute Preis- und Verfügbarkeitsressource für das Angebot zu erstellen.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

Beispiel für absolute Preisressourcen für ein SaaS-Angebot mit Pauschalpreisen, das Preis- und Metermengen angibt

{
    "$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
                        }
                    ]
                }
            }
        }
    }
}

Beispiel für absolute Preisressourcen für ein SaaS-Angebot pro Benutzer, das Preis- und Benutzerlimits angibt

{
    "$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
                }
            ]
        }
    }
}

Diese Ressource als Objekt in das Preismodul einschließen

{
 "$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"
             }
        ]
     }
  ]
}

Beispielanforderungstext mit absoluten Preisen zum Anpassen der Preise und spezifischen Mengen für VM-Softwarereservierungsangebote

Verwenden Sie die folgende Methode, um eine absolute Preis- und Verfügbarkeitsressource für das Angebot zu erstellen.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

Beispiel für absolute Preisressourcen für ein VM-Angebot, das Preise und Mengen angibt

{
    "$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
            }
        }
    }       
}

Diese Ressource als Objekt in das Preismodul einschließen

{
 "$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"
        ]
     }
  ]
}

Antwort

Die Antwort enthält die jobId, die Sie später verwenden können, um den Status abzufragen:

{
    "$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": []
}

Fehlercodes

HTTP-Statuscode Beschreibung
401 Authentifizierungsfehler: Stellen Sie sicher, dass Sie ein gültiges Microsoft Entra-Zugriffstoken verwenden.
400 Schemaüberprüfung. Stellen Sie sicher, dass der Anforderungstext dem richtigen Schema folgt und alle erforderlichen Felder enthält.