次の方法で共有


顧客向けのマルチパーティ プライベート オファーを作成する

ISV (発信元) と共同作業パートナー (販売者) は、同じ API 呼び出しセットを使用して、顧客のプライベート オファーを作成する必要があります。 想定されるフローを次に示します。

  1. ISV はオファーを作成し、パートナーの可視性を販売するために送信します
  2. ISV は、販売パートナーに (電子メールまたはその他の方法を使用して) オファーを販売パートナーに通知し、パートナーの編集を販売できるようになりました
  3. 販売パートナーは、プライベート オファーの構成をレビューして完了し、エンド カスタマーの可視性のために送信します

オファーの作成を呼び出すメソッドを次に示します。

要求

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

要求ヘッダー

Header 説明
承認 String 必須。 形式 Bearer <token>の Microsoft Entra アクセス トークン。

省略可能: clientID

要求パラメーター

$version - 必須。 これは、要求で使用されているスキーマのバージョンです。

要求本文

次のオプションは、顧客のマルチパーティ プライベート オファーを作成するときのパートナー センターのオプションを反映しています。 これらのオプションは、次 の offerPricingType 値によって定義されます。

offerPricingType 値 パートナー センターのプライベート オファー作成オプションと同等
editExistingOfferPricingOnly 既存のパブリック オファーとプランの価格をカスタマイズする - このオプションを使用して、取引可能なすべてのオファーの種類 (SaaS、Azure Virtual Machines、Azure アプリlications) のプライベート オファーを作成します。 パートナーの価格は、絶対価格またはパーセンテージ割引を使用してカスタマイズできます。
saasNewCustomizedPlans SaaS オファー の価格、測定数量、およびユーザー制限をカスタマイズする - このオプションを使用して、絶対パートナー価格、測定ディメンションの数量、およびユーザー制限をカスタマイズして、SaaS プランのプライベート オファーを作成します。
vmSoftwareReservations VM ソフトウェア予約オファー の価格と特定の数量をカスタマイズする - このオプションを使用して、VM ソフトウェア予約 (1 年または 3 年) を販売するマルチパーティ プライベート オファーを作成し、絶対パートナーの価格、vCPU サイズ、数量、期間、支払いスケジュールをカスタマイズします。

前の 3 つの価格の種類のオプションでは、プラン固有のリソース要件が異なる場合があります。 詳細については、次の表を参照してください。

リソース名 editExistingOfferPricingOnly saasNewCustomizedPlans vmSoftwareReservations
プライシング。計画 これを、要求本文で構成するパブリック プランのプラン ID に設定します 適用なし 適用なし
pricing.basePlan 適用なし これを、要求本文で構成するパブリック プランのプラン ID に設定します これを、要求本文で構成するパブリック プランのプラン ID に設定します
pricing.newPlanDetails.name 適用なし これを、要求本文で顧客に表示される新しいプランの名前に設定します 要求本文には適用されず、システムによって生成され、完了時にジョブの応答で使用できるようになります。
pricing.newPlanDetails.description 適用なし これを、要求本文で新しいプランの顧客に表示される説明に設定します 要求本文には適用されず、システムによって生成され、完了時にジョブの応答で使用できるようになります。

要求本文は、呼び出し元ロールによって異なります。 privateOfferType を使用して、ISV 呼び出し元と販売パートナーの呼び出し元を区別します。

呼び出し元ロール privateOfferType 値
ISV (発信元) multipartyPromotionOriginator
販売パートナー (販売者) multipartyPromotionChannelPartner

要求本文のサンプル

ISV によるサンプル要求本文で、割引価格を使用してオファーを作成し、既存のパブリック プランのみの価格をカスタマイズする

ISV (発信元) は、オファーのすべての基本的な詳細を提供する必要があります。 これには名前を含める必要があります。

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

絶対価格を使用して既存のパブリック プランのみの価格をカスタマイズするサンプル要求本文

割合ベースの割引ではなく絶対価格を使用している場合は、絶対価格を定義するマルチパーティ プライベート オファー リソースの上に新しいリソースを作成し、その新しく作成されたリソースを構成スキーマのリソース一覧に別のオブジェクトとして含めることができます。

この方法を使用して、既存のパブリック プランの価格リソースを取得し、価格を編集してから、オファーの編集されたリソースを使用します。

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",
    "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
                }
            }
        }
    }
}

価格モジュールにそのリソースをオブジェクトとして含める

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

絶対価格を使用して VM ソフトウェア予約オファーの価格と特定の数量をカスタマイズするサンプル要求本文

オファーの絶対価格と可用性リソースを作成するには、次の方法を使用します。

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

価格と数量をカスタマイズする VM オファーの絶対価格リソースのサンプル

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

オファーの作成を完了するためのパートナーからの要求のサンプル

販売パートナーは、ISV によって提供されるマルチパーティプライベート オファー ID を使用して、顧客調整 % (マークアップ) を構成し、パートナーのカスタム契約を販売し、パートナーの連絡先によって準備され、販売する必要があります。

次の例は、オファー 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\"",
    }
  ]
}

前の例の主要なコールアウト

  • 販売パートナーは preparedBy 属性を指定する必要があります。
  • ISV カスタム使用条件は表示可能ですが、販売パートナーが編集することはできません。これらはリソース originatorTermsAndConditionsDocs にキャプチャされます。
  • 販売パートナーは、TermsAndConditionsDocs リソースに独自の カスタム用語と条件を アップロードできます。
  • 販売パートナーは、独自の連絡先を追加して、notificationContacts リソースでオファーの通知を 受け取 ることができます。
  • 受益者属性とパートナー属性は表示可能ですが、販売パートナーが編集することはできません。
  • 価格リソースは originatorPricing として表示されます。markupPercentage は必須であり、提出時に販売パートナーが提供する必要があります。価格リソース内の他のすべての属性は読み取り専用です。

回答

応答には、後で状態を ポーリングするために使用できる jobId が 含まれています。

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

エラー コード

HTTP 状態コード 説明
401 認証エラー: 有効な Microsoft Entra アクセス トークンを使用していることを確認します。
400 スキーマの検証。 要求本文が正しいスキーマに従っていることを確認し、すべての必須フィールドを含めます。

次のステップ