Udostępnij za pośrednictwem


Tworzenie bezpośredniej oferty niezależnego dostawcy oprogramowania dla klienta

Ta metoda umożliwia utworzenie oferty prywatnej dla klienta bezpośrednio jako niezależnego dostawcy oprogramowania.

Żądanie

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

Nagłówek żądania

Nagłówek Type Opis
Autoryzacja String Wymagany. Token dostępu firmy Microsoft Entra w postaci Bearer <token>.

Opcjonalnie: clientID

Parametry żądania

$version — wymagane. Jest to wersja schematu używanego w żądaniu.

Treść żądania

Podaj szczegóły oferty prywatnej przy użyciu niezależnego dostawcy oprogramowania do prywatnego schematu oferty klienta. Musi to zawierać nazwę.

Poniższe opcje odzwierciedlają opcje w Centrum partnerskim podczas tworzenia oferty prywatnej dla klienta. Opcje są definiowane przez wartości offerPricingType wymienione tutaj:

offerPricingType wartość Odpowiednik opcji tworzenia oferty prywatnej w Centrum partnerskim
editExistingOfferPricingOnly Dostosowywanie cen dla istniejącej oferty publicznej i planów — ta opcja umożliwia utworzenie oferty prywatnej dla wszystkich typów ofert transakcyjnych: SaaS, Azure Virtual Machines i aplikacja systemu Azure. Cennik partnera można dostosować za pomocą bezwzględnych cen lub rabatów procentowych.
saasNewCustomizedPlans Dostosowywanie cen, ilości mierników i limitów użytkowników dla oferty SaaS — ta opcja umożliwia utworzenie oferty prywatnej dla planu SaaS przez dostosowanie bezwzględnej ceny partnera, ilości wymiarów pomiarów i limitów użytkowników.
vmSoftwareReservations Dostosowywanie cen i określonych ilości ofert rezerwacji oprogramowania maszyn wirtualnych — ta opcja umożliwia utworzenie wieloczęściowej oferty prywatnej do sprzedaży rezerwacji oprogramowania maszyn wirtualnych (1 rok lub 3 rok) i dostosowanie bezwzględnej ceny partnera, rozmiaru procesorów wirtualnych, ilości, czasu trwania i harmonogramu płatności.

W przypadku poprzednich trzech opcji typów cen wymagania dotyczące zasobów specyficznych dla planu mogą się różnić, zobacz poniższą tabelę, aby uzyskać szczegółowe informacje.

Nazwa zasobu editExistingOfferPricingOnly saasNewCustomizedPlans vmSoftwareReservations
Ceny. Plan Ustaw go na identyfikator planu publicznego, który ma zostać skonfigurowany w treści żądania Nie dotyczy Nie dotyczy
pricing.basePlan Nie dotyczy Ustaw go na identyfikator planu publicznego, który ma zostać skonfigurowany w treści żądania Ustaw go na identyfikator planu publicznego, który ma zostać skonfigurowany w treści żądania
pricing.newPlanDetails.name Nie dotyczy Ustaw tę wartość na nazwę nowego planu, który będzie wyświetlany klientowi w treści żądania Nie dotyczy treści żądania, zostanie wygenerowany system i dostępny w odpowiedzi zadania po zakończeniu.
pricing.newPlanDetails.description Nie dotyczy Ustaw tę wartość na opis, który zostanie wyświetlony klientowi dla nowego planu w treści żądania Nie dotyczy treści żądania, zostanie wygenerowany system i dostępny w odpowiedzi zadania po zakończeniu.
customerContractRenewal wartość opis
prawda Oferta prywatna to odnowienie istniejącej umowy klienta. 50% obniżonej opłaty agencji ma zastosowanie do oferty prywatnej na potrzeby odnawiania klientów
fałsz Oferta prywatna nie jest odnawianiem istniejącej umowy klienta. Obowiązuje opłata za agencję standardową.

Przykłady treści żądania

Przykładowa treść żądania przy użyciu cennika rabatu w celu dostosowania cen tylko dla istniejącego planu publicznego

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

Przykładowa treść żądania korzystająca z cen bezwzględnych w celu dostosowania cen tylko dla istniejącego planu publicznego

Jeśli używasz bezwzględnych cen zamiast rabatów opartych na procentach:

  1. Utwórz nowy zasób powyżej zasobu oferty prywatnej, który definiuje bezwzględne ceny
  2. Uwzględnij nowo utworzony zasób jako inny obiekt na liście zasobów schematu konfiguracji.

Użyj tej metody, aby uzyskać zasób cenowy dla istniejącego planu publicznego, edytować ceny, a następnie użyć edytowanego zasobu dla oferty prywatnej.

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

Przykładowy zasób cen bezwzględnych

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

Uwzględnij ten zasób jako obiekt w module cen

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

Przykładowa treść żądania korzystająca z cen bezwzględnych w celu dostosowania cen, ilości pomiarów i limitów użytkowników dla oferty SaaS

Użyj następującej metody, aby utworzyć bezwzględną cenę i zasób dostępności dla oferty.

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

Przykładowy bezwzględny zasób cenowy dla oferty SaaS z ryczałtowaną stawką, która dostosowuje ilości cen i mierników

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

Przykładowy bezwzględny zasób cenowy dla oferty SaaS dla użytkownika, która dostosowuje limity cen i użytkowników

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

Uwzględnij ten zasób jako obiekt w module cen

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

Przykładowa treść żądania korzystająca z cen bezwzględnych w celu dostosowania cen i określonych ilości ofert rezerwacji oprogramowania maszyn wirtualnych

Użyj następującej metody, aby utworzyć bezwzględną cenę i zasób dostępności dla oferty.

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

Przykładowy bezwzględny zasób cenowy dla oferty maszyny wirtualnej, który dostosowuje cenę i ilości

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

Uwzględnij ten zasób jako obiekt w module cen

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

Odpowiedź zawiera identyfikator jobId, którego można użyć później do sondowania stanu:

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

Kody błędów

Kod stanu HTTP opis
401 Błąd uwierzytelniania: Upewnij się, że używasz prawidłowego tokenu dostępu firmy Microsoft Entra.
400 Weryfikacja schematu. Upewnij się, że treść żądania jest zgodna z prawidłowym schematem i zawiera wszystkie wymagane pola.