Создание прямого поставщика программного обеспечения для частного предложения клиента
Используйте этот метод для создания частного предложения для клиента непосредственно в качестве поставщика программного обеспечения.
Запросить
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
Заголовок запроса
Верхний колонтитул | Тип | Описание |
---|---|---|
Авторизация | Строка | Обязательный. Маркер доступа Microsoft Entra в форме Bearer <token> . |
Необязательно: clientID
Параметры запроса
$version — обязательный. Это версия схемы, которая используется в запросе.
Текст запроса
Предоставьте сведения о частном предложении с помощью поставщика программного обеспечения для схемы частного предложения клиента. Это должно содержать имя.
Следующие параметры отражают параметры в Центре партнеров при создании частного предложения для клиента. Параметры определяются значениями offerPricingType , перечисленными здесь:
значение offerPricingType | Эквивалентный вариант создания частного предложения в Центре партнеров |
---|---|
editExistingOfferPricingOnly | Настройка цен на существующее общедоступное предложение и планы. Используйте этот параметр, чтобы создать частное предложение для всех типов транзакций: SaaS, Azure Виртуальные машины и приложение Azure. Вы можете настроить цены партнера с помощью абсолютных цен или процентных скидок. |
saasNewCustomizedPlans | Настройка цен, количества счетчиков и ограничений пользователей для предложения SaaS. Используйте этот параметр, чтобы создать частное предложение для плана SaaS, настроив абсолютную цену партнера, измерения измерений и ограничения пользователей. |
vmSoftwareReservations | Настройка цен и определенных объемов для предложений резервирования программного обеспечения виртуальных машин. Используйте этот параметр, чтобы создать многопартийное частное предложение для продажи резервирования программного обеспечения виртуальной машины (1-летний или 3-летний) и настроить абсолютную цену партнера, размер виртуального ЦП, количество, длительность и расписание оплаты. |
Для предыдущих трех вариантов ценообразования требования к ресурсам для конкретного плана могут отличаться, см. в следующей таблице подробных сведений.
Имя ресурса | editExistingOfferPricingOnly | saasNewCustomizedPlans | vmSoftwareReservations |
---|---|---|---|
ценообразование. План | Задайте для этого идентификатор плана общедоступного плана, который будет настроен в тексте запроса. | Неприменимо | Неприменимо |
pricing.basePlan | Нет данных | Задайте для этого идентификатор плана общедоступного плана, который будет настроен в тексте запроса. | Задайте для этого идентификатор плана общедоступного плана, который будет настроен в тексте запроса. |
pricing.newPlanDetails.name | Нет данных | Задайте для этого имя нового плана, который будет отображаться клиенту в тексте запроса. | Не применимо к тексту запроса, будет создан и доступен в ответе задания при завершении. |
pricing.newPlanDetails.description | Нет данных | Задайте для этого описание, которое будет отображаться клиенту для нового плана в тексте запроса. | Неприменимо к тексту запроса, будет создан и доступен в ответе задания при завершении. |
значение customerContractRenewal | Description |
---|---|
true | Частное предложение — это продление существующего контракта клиента. Скидка на 50% агентства применяется к вашему частному предложению для продления клиентов |
false | Частное предложение не является продлением существующего контракта клиента. Ваша стандартная плата за агентство применяется. |
Примеры текста запроса
Пример текста запроса с помощью цен на скидку для настройки цен только для существующего общедоступного плана
{
"$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 }
]
}
]
}
Пример текста запроса с использованием абсолютных цен для настройки цен только для существующего общедоступного плана
Если вы используете абсолютные цены вместо скидки на основе процента:
- Создайте новый ресурс над ресурсом частного предложения, который определяет абсолютные цены
- Включите созданный ресурс в качестве другого объекта в список ресурсов схемы настройки.
Используйте этот метод, чтобы получить ресурс ценообразования для существующего общедоступного плана, изменить цены, а затем использовать измененный ресурс для вашего частного предложения.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Пример абсолютного ресурса ценообразования
{
"$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
}
}
}
}
}
Включите этот ресурс в качестве объекта в модуль ценообразования
[
{
"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"
}
}
]
Пример текста запроса с использованием абсолютных цен для настройки цен, количества измерения и ограничений пользователей для предложения SaaS
Используйте следующий метод, чтобы создать абсолютный ресурс цены и доступности для предложения.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Выборка абсолютного ресурса ценообразования для предложения SaaS с плоской ставкой, которая настраивает количество цен и счетчиков
{
"$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
}
]
}
}
}
}
}
Пример абсолютного ресурса ценообразования для предложения SaaS для каждого пользователя, который настраивает ограничения цен и пользователей
{
"$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
}
]
}
}
}
Включите этот ресурс в качестве объекта в модуль ценообразования
{
"$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"
}
]
}
]
}
Пример текста запроса с использованием абсолютных цен для настройки цен и конкретных количеств для предложений резервирования программного обеспечения виртуальной машины
Используйте следующий метод, чтобы создать абсолютный ресурс цены и доступности для предложения.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Пример абсолютного ресурса ценообразования для предложения виртуальной машины, который настраивает цену и количество
{
"$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
}
}
}
}
Включите этот ресурс в качестве объекта в модуль ценообразования
{
"$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
Ответ содержит идентификатор задания, который можно использовать позже для опроса состояния:
{
"$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": []
}
Коды ошибок
Код состояния HTTP | Description |
---|---|
401 | Ошибка проверки подлинности. Убедитесь, что вы используете действительный маркер доступа Microsoft Entra. |
400 | Проверка схемы. Убедитесь, что текст запроса соответствует правильной схеме и включает все обязательные поля. |