Dela via


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:

  1. Skapa en ny resurs ovanför resursen för det privata erbjudandet som definierar den absoluta prissättningen
  2. 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.