Delen via


Een privéaanbieding voor meerdere partijen maken voor een klant

De ISV (originator) en de samenwerkende partner (verkoper) moeten dezelfde set API-aanroepen gebruiken om een privéaanbieding voor een klant te maken. Dit is de verwachte stroom.

  1. ISV maakt de aanbieding en verzendt voor zichtbaarheid van de verkooppartner
  2. ISV meldt de verkooppartner (via e-mail of andere methoden) dat de aanbieding nu beschikbaar is voor het bewerken van partners
  3. Partnerbeoordelingen verkopen en voltooit het configureren van de privéaanbieding en verzendt voor zichtbaarheid van eindgebruikers

Hier volgt de methode om het maken van de aanbieding aan te roepen.

Aanvraag

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

Aanvraagheader

Koptekst Type Description
Autorisatie String Vereist. Het Microsoft Entra-toegangstoken in het formulier Bearer <token>.

Optioneel: clientID

Aanvraagparameters

$version - vereist. Dit is de versie van het schema dat in de aanvraag wordt gebruikt.

Aanvraagtekst

De volgende opties weerspiegelen de opties in partnercentrum bij het maken van een privéaanbieding voor meerdere partijen voor een klant. Deze opties worden gedefinieerd door de volgende offerPricingType-waarden :

offerPricingType-waarde Optie voor het maken van privéaanbiedingen in Partnercentrum equivalent
editExistingOfferPricingOnly Prijzen aanpassen voor bestaande openbare aanbiedingen en abonnementen: gebruik deze optie om een privéaanbieding te maken voor alle transactable aanbiedingstypen: SaaS, Azure Virtual Machines en Azure-toepassing s. U kunt uw partnerprijzen aanpassen via absolute prijs- of percentagekortingen.
saasNewCustomizedPlans Prijzen, meterhoeveelheden en gebruikerslimieten aanpassen voor SaaS-aanbieding : gebruik deze optie om een privéaanbieding voor een SaaS-abonnement te maken door uw absolute partnerprijs, maatlijnhoeveelheden en gebruikerslimieten aan te passen.
vmSoftwareReservations Prijzen en specifieke hoeveelheden aanpassen voor aanbiedingen voor VM-softwarereservering : gebruik deze optie om een privé-aanbieding met meerdere partijen te maken voor het verkopen van VM-softwarereserveringen (1 jaar of 3 jaar) en pas de absolute partnerprijs, vCPU-grootte, hoeveelheden, duur en betalingsschema aan.

Voor de vorige drie prijstypeopties kunnen abonnementsspecifieke resourcevereisten variëren. Zie de volgende tabel voor meer informatie:

Resourcenaam editExistingOfferPricingOnly saasNewCustomizedPlans vmSoftwareReservations
Prijzen. Plan Stel deze in op de plan-id van het openbare plan dat moet worden geconfigureerd in de aanvraagbody Niet van toepassing Niet van toepassing
pricing.basePlan Niet van toepassing Stel deze in op de plan-id van het openbare plan dat moet worden geconfigureerd in de aanvraagbody Stel deze in op de plan-id van het openbare plan dat moet worden geconfigureerd in de aanvraagbody
pricing.newPlanDetails.name Niet van toepassing Stel dit in op de naam van het nieuwe plan dat wordt weergegeven aan de klant in de aanvraagbody Niet van toepassing op de aanvraagbody, wordt door het systeem gegenereerd en beschikbaar in het antwoord van de taak wanneer deze is voltooid.
pricing.newPlanDetails.description Niet van toepassing Stel dit in op de beschrijving die wordt weergegeven aan de klant voor het nieuwe plan in de aanvraagbody Niet van toepassing op de aanvraagbody, wordt door het systeem gegenereerd en beschikbaar in het antwoord van de taak wanneer deze is voltooid.

De hoofdtekst van de aanvraag varieert, afhankelijk van de aanroeperrol. Gebruik privateOfferType om isV-beller te onderscheiden van het verkopen van partneraanroeper.

Aanroeperrol privateOfferType-waarde
ISV (Originator) multipartyPromotionOriginator
Verkooppartner (verkoper) multipartyPromotionChannelPartner

Voorbeelden van aanvraagtekst

Voorbeeld van aanvraagbody van ISV om de aanbieding te maken met kortingsprijzen om alleen prijzen voor bestaand openbaar abonnement aan te passen

De ISV (originator) is vereist om alle basisgegevens van het aanbod op te geven. Dit moet een naam bevatten.

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15", 
"resourceName": "privateOffer",
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "editExistingOfferPricingOnly",
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
"termsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],
       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
"partners": [
                {
                    "id": "12345678",
                    "partnerName": "Market Place Test",
                    "location": "United States"
                }
            ],
       "pricing": [ 
          { "product": "product/34771906-9711-4196-9f60-4af380fd5042", "plan":"plan/123456","discountType": "percentage", "discountPercentage": 5 }
       ],
"notes": "ISV 123"
    }
  ]
}

Voorbeeld van aanvraagbody met absolute prijzen om alleen prijzen voor een bestaand openbaar abonnement aan te passen

Als u absolute prijzen gebruikt in plaats van korting op basis van percentages, kunt u een nieuwe resource maken boven de privé-aanbiedingsresource voor meerdere partijen die de absolute prijzen definieert en die zojuist gemaakte resource vervolgens opneemt als een ander object in de lijst met resources van het configuratieschema.

Gebruik deze methode om de prijsresource voor uw bestaande openbare abonnement te verkrijgen, de prijzen te bewerken en vervolgens de bewerkte resource voor uw aanbieding te gebruiken.

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

Voorbeeld van absolute prijsresource

{
    "$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",
    "plan": "plan/987654",
    "offerPricingType": "editExistingOfferPricingOnly",
    "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
                }
            }
        }
    }
}

Deze resource opnemen als een object in de prijsmodule

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

Voorbeeldaanvraagbody met behulp van absolute prijzen voor het aanpassen van prijzen, meting van hoeveelheden en gebruikerslimieten voor SaaS-aanbieding

Gebruik de volgende methode om een absolute prijs- en beschikbaarheidsresource te maken voor de privéaanbieding.

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

Voorbeeld van absolute prijsresource voor een saaS-aanbieding met vaste tarieven waarmee de prijs- en meterhoeveelheden worden aangepast

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

Voorbeeld van absolute prijsresource voor een SaaS-aanbieding per gebruiker waarmee prijs- en gebruikerslimieten worden aangepast

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

Deze resource opnemen als een object in de prijsmodule


{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "newSimpleAbsolutePricing",
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "partners": [
         {
            "id": "12345678",
            "partnerName": "Market Place Test",
            "location": "United States"
         }
        ],
       "termsAndConditionsDocs": [
        {
             "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
             "fileName": "Test1.pdf",
             "customerFacingDocumentName": "Test1 T&C"
        }            ],
       "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"
             }
        ],
 "notes": "ISV 123"
     }
  ]
}

Voorbeeldaanvraagbody met behulp van absolute prijzen voor het aanpassen van prijzen en specifieke hoeveelheden voor aanbiedingen voor VM-softwarereservering

Gebruik de volgende methode om een absolute prijs- en beschikbaarheidsresource voor de aanbieding te maken.

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

Voorbeeld van absolute prijsresource voor een VM-aanbieding waarmee prijs en hoeveelheden worden aangepast

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

Deze resource opnemen als een object in de prijsmodule

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "vmSoftwareReservations",
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "partners": [
         {
            "id": "12345678",
            "partnerName": "Market Place Test",
            "location": "United States"
         }
        ],
       "termsAndConditionsDocs": [
        {
             "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
             "fileName": "Test1.pdf",
             "customerFacingDocumentName": "Test1 T&C"
        }            ],
       "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"
        ],
 "notes": "ISV 123"
     }
  ]
}

Voorbeeldaanvraag van de partner om het maken van de aanbieding te voltooien

De verkooppartner moet de door de ISV geleverde privéaanbiedings-id voor meerdere partijen gebruiken om het aanpassingspercentage (markup) van de klant te configureren, aangepaste overeenkomsten voor verkooppartner, voorbereid door en verkooppartnercontactpersonen.

Het volgende voorbeeld is gebaseerd op de antwoordtekst die wordt geretourneerd bij het ophalen van de aanbiedingsgegevens met behulp van de aanbiedings-id.

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15", 
"resourceName": "privateOffer",
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionChannelPartner",
       "offerPricingType": "editExistingOfferPricingOnly",
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "preparedBy": "tester@microsoft.com",
"originatorTermsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],
"termsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],

       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
"partners": [
                {
                    "id": "12345678",
                    "partnerName": "Market Place Test",
                    "location": "United States"
                }
            ],
       "originatorPricing": [ 
          { 
        "product": "product/34771906-9711-4196-9f60-4af380fd5042",
        "plan":"plan/123456",
        "discountType": "percentage", 
        "discountPercentage": 5 
        "markupPercentage": 1.0
        }
     ],
    "lastModified": "2023-01-19",
        "eTag": "\"7f020249-0000-0800-0000-63c9b4ca0000\"",
    }
  ]
}

Belangrijke bijschriften in het vorige voorbeeld

  • De verkooppartner moet het kenmerk PreparedBy opgeven.
  • Aangepaste voorwaarden voor ISV kunnen worden weergegeven, maar kunnen niet worden bewerkt door de verkooppartner. Ze worden vastgelegd in de resource originatorTermsAndConditionsDocs.
  • De verkooppartner kan een eigen aangepaste term en voorwaarde uploaden in de termenAndConditionsDocs-resource .
  • Verkooppartner kan hun eigen contactpersonen toevoegen om op de hoogte te worden gesteld van de aanbieding in de notificationContacts-resource .
  • Kenmerken van begunstigde en partners kunnen worden weergegeven, maar kunnen niet worden bewerkt door de verkooppartner.
  • Prijsresource wordt weergegeven als originatorPricing, markupPercentage is vereist en moet worden opgegeven door de verkooppartner bij het indienen, alle andere kenmerken in de prijsresource zijn alleen-lezen.

Respons

Het antwoord bevat de jobId die u later kunt gebruiken om de status te peilen:

{
    "$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
    "jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
    "jobStatus": "notStarted",
    "jobResult": "pending",
    "jobStart": "2021-12-21T21:29:54.9702903Z",
    "jobEnd": "0001-01-01",
    "errors": []
}

Foutcodes

HTTP-statuscode Beschrijving
401 Verificatiefout: zorg ervoor dat u een geldig Microsoft Entra-toegangstoken gebruikt.
400 Schemavalidatie. Zorg ervoor dat de hoofdtekst van de aanvraag het juiste schema volgt en alle vereiste velden bevat.