次の方法で共有


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

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

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

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

要求

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

要求ヘッダー

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

省略可能: 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 適用なし これを、要求本文で新しいプランの顧客に表示される説明に設定します 要求本文には適用されず、システムによって生成され、完了時にジョブの応答で使用できるようになります。
customerContractRenewal 値 説明
true プライベート オファーは、既存の顧客契約の更新です。 顧客更新のプライベート オファーには、50% の割引された代理店料金が適用されます
false プライベート オファーは 既存の顧客契約の更新 できません。 標準の代理店料金が適用されます。

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

呼び出し元ロール 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/2024-09-30", 
"resourceName": "privateOffer",
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "editExistingOfferPricingOnly",
       "customerContractRenewal": false, 
       "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/2024-09-30", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "newSimpleAbsolutePricing",
       "customerContractRenewal": false,
       "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/2024-09-30", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "vmSoftwareReservations",
       "customerContractRenewal": false,
       "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/2024-09-30", 
"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 スキーマの検証。 要求本文が正しいスキーマに従っていることを確認し、すべての必須フィールドを含めます。