Поделиться через


Создание прямого поставщика программного обеспечения для частного предложения клиента

Используйте этот метод для создания частного предложения для клиента непосредственно в качестве поставщика программного обеспечения.

Запросить

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 }
       ]
    }
  ]
}

Пример текста запроса с использованием абсолютных цен для настройки цен только для существующего общедоступного плана

Если вы используете абсолютные цены вместо скидки на основе процента:

  1. Создайте новый ресурс над ресурсом частного предложения, который определяет абсолютные цены
  2. Включите созданный ресурс в качестве другого объекта в список ресурсов схемы настройки.

Используйте этот метод, чтобы получить ресурс ценообразования для существующего общедоступного плана, изменить цены, а затем использовать измененный ресурс для вашего частного предложения.

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 Проверка схемы. Убедитесь, что текст запроса соответствует правильной схеме и включает все обязательные поля.