次の方法で共有


プライベート オファー送信 API の概要

プライベート オファーでは、パブリッシャーは、カスタマイズした条件で期限付きの価格を作成し、Azure Marketplace で 1 つ以上の製品を顧客と取引できます。 プライベート オファー申請 API を使用すると、パブリッシャーは、顧客や CSP パートナーのプライベート オファーをプログラムで作成および管理できます。 この API は、Microsoft Entra ID を使用して、アプリまたはサービスからの呼び出しを認証します。

パートナー センターで利用できるプライベート オファーには、主に次の 3 種類があり、プライベート オファー申請 API でサポートされています。

  • ISV から顧客へのプライベート オファー – パートナー センターの顧客プライベート オファーとも呼ばれます。 これは、AZURE Marketplace の特定の製品に対してカスタマイズされた用語と価格を持つ、ISV と特定の顧客との間のカスタム取引です。 顧客のプライベート オファーへの ISV の詳細については
  • ISV から CSP パートナーへのプライベート オファー – パートナー センターの CSP パートナープライベート オファーとも呼ばれます。 この種類のプライベート オファーを使用すると、ISV は期限付きマージンを指定して、CSP パートナーの卸売価格を作成できます。 CSP パートナーのプライベート オファーへの ISV の詳細
  • マルチパーティ プライベート オファー (MPO) – AZURE Marketplace の特定の製品に対してカスタマイズされた条件と価格を使用して、ISV と特定の顧客の優先チャネル パートナーによって共同で構成されたカスタム 取引。 ISV は、パートナーが利用できる割引卸売価格を定義し、チャネル パートナーは卸売価格の上にマークアップを追加して最終的な顧客価格に到達し、受け入れと購入のためにオファーを顧客に提示します。 MPO の受け入れと購入は、顧客のプライベート オファーに対する ISV と同じフローに従います。 詳細については、 マルチパーティ プライベート オファーを参照してください。

用語

  • MPO 発信者 – MPO は、特定の顧客に対して同じカスタム 取引で ISV とチャネル パートナー間のコラボレーションであり、最初に MPO を作成する当事者は、オファーの "発信元" (通常は MPO に含まれる製品の ISV) に指定されます。 特定の MPO に対して使用できる発信元は 1 つだけです。
  • MPO 販売者 – 最終的な顧客価格でオファーを準備し、顧客にオファーを提示するチャネル パートナーは、MPO の販売者です。 特定の MPO の販売者は 1 つだけです。
  • 製品 – Azure Marketplace でのオファーを表す 1 つのユニット。 登録情報ページごとに 1 つの製品があります。
  • プラン – 特定の製品の 1 つのバージョン。 特定の製品には、さまざまなレベルの価格または条件を表す複数のプランが存在する場合があります。
  • ジョブ – この API で要求を行うときに作成されるタスク。 この API を使用してプライベート オファーとマルチパーティ プライベート オファーを管理する場合は、要求を完了するためのジョブが作成されます。 ジョブが完了すると、関連する (マルチパーティ) プライベート オファーに関する詳細情報を取得できます。

サポートされるシナリオ

この API を使用する準備をする

プライベート オファー API を呼び出すコードを書く前に、次の前提条件を満たしていることを確認してください。 すべての公開パートナーにも同じ前提条件が適用されます。

手順 1: Microsoft Product Ingestion API を使うための前提条件を満たす (1 回限り)

ユーザーまたは組織には、Microsoft Entra ディレクトリとグローバル管理者のアクセス許可が必要です。 Microsoft 365 または Microsoft の他のビジネス サービスを既に使用している場合は、Microsoft Entra ディレクトリが既にあります。 そうでない場合は、パートナー センターで新しい Microsoft Entra ID を無料で作成できます。

Microsoft Entra ID アプリケーションをパートナー センター アカウントに関連付けし、テナント ID、クライアント ID、およびキーを取得する必要があります。 プライベート オファー API の呼び出しで使用する Microsoft Entra アクセス トークンを取得するには、これらの値が必要です。

手順 2: Microsoft Entra アクセス トークンを取得する (毎回)

Microsoft Store 申請 API のいずれかのメソッドを呼び出す前に、API 内の各メソッドの承認ヘッダーに渡す Microsoft Entra アクセス トークンが必要です。 トークンは、60 分の有効期限が切れる前に使用します。 有効期限が切れた後は、トークンを更新してそれ以降の API 呼び出しで引き続き使用できます。

アクセス トークンを取得するには、「クライアント資格情報を使用したサービス間の呼び出し」を参照して、HTTP POST を https://login.microsoftonline.com/<tenant_id>/oauth2/token エンドポイントに送信します。 要求のサンプルを次に示します。

POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://graph.microsoft.com/

POST URI の tenant_id の値と client_id および client_secret のパラメーターには、前のセクションでパートナー センターから取得したアプリケーションのテナント ID、クライアント ID、キーを指定します。 リソース パラメーターには、 https://graph.microsoft.com/を指定する必要があります。

製品、プラン、プライベート オファー ID を確認する

ID 検索する場所
client_id パートナー センター アカウントを使用して Microsoft Entra アプリケーションを関連付けますを参照してください。
tenant_id パートナー センター アカウントを使用して Microsoft Entra アプリケーションを関連付けますを参照してください。
client_secret パートナー センター アカウントを使用して Microsoft Entra アプリケーションを関連付けますを参照してください。
productId この記事の Retrieve 製品 を参照してください。
planId この記事の「 特定の製品の計画を する」を参照してください。
privateofferId この記事の「 Retrieve プライベート オファー を参照してください。

製品を取得する

プライベート オファーは、パートナー センター アカウントの既存の製品に基づいています。 パートナー センター アカウントに関連付けられている製品の一覧を表示するには、この API 呼び出しを使用します。

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

応答は、次のサンプル形式で表示されます。

{
  "value": [
    {
      "$schema": "https://schema.mp.microsoft.com/schema/product/2022-07-01",
      "id": "string",
      "identity": {
        "externalId": "string"
      },
      "type": "enum",
      "alias": "string"
    }
  ],
  "@nextLink": "opaque_uri"
}

特定の製品のプランを取得する

複数のプランを含む製品の場合は、1 つの特定のプランに基づいてプライベート オファーを作成できます。 その場合は、そのプランの ID が必要です。 次の API 呼び出しを使用して、製品のプラン (バリアントや SKU など) の一覧を取得します。

GET https://graph.microsoft.com/rp/product-ingestion/plan?product=<product-id>&$version=2022-07-01

応答は、次のサンプル形式で表示されます。

{
  "value": [
    {
      "$schema": "https://schema.mp.microsoft.com/schema/plan/2022-07-01",
      "product": "string",
      "id": "string",
      "identity": {
        "externalId": "string"
      },
      "alias": "string"
    }
  ]
}

プライベート オファーを取得する

アカウントに関連付けられているマルチパーティ プライベート オファーを含むすべてのプライベート オファーの一覧を表示するには、次の API 呼び出しを使用します。

GET https://graph.microsoft.com/rp/product-ingestion/private-offer/query?$version=2023-07-15

API の使用方法

プライベート オファー API を使用すると、パートナー センター アカウント内の製品とプランに関連付けられているプライベート オファーを作成および管理できます。 この API を使用する場合の一般的な呼び出しパターンの概要を次に示します。

マルチパーティ プライベート オファーの手順を示すフローチャート。

手順 1: 要求を行う

プライベート オファーを作成、削除、取り消し、またはアップグレードするための API 呼び出しを行うと、要求したタスクを完了するための新しいジョブが作成されます。 API 応答には、ジョブに関連付けられている jobId が含まれています。

手順 2: ジョブの状態をポーリングする

最初の API 応答から jobId を使用してポーリングし、ジョブの状態を取得します。 ジョブの状態は Running または Completed になります。 ジョブが完了すると、結果は Succeeded または Failed になります。 パフォーマンスの問題を回避するために、ジョブのポーリングは 1 分間に 1 回までにしてください。

ジョブ ステータス 説明
NotStarted ジョブはまだ開始されていません。これは最初の要求の応答の一部です。
実行中 ジョブはまだ実行中です。
完了済み ジョブが完了しました。 詳細については、 jobResult を参照してください。
jobResult 説明
保留中 ジョブはまだ完了していません。
Succeeded ジョブが正常に完了しました。 このジョブは、ジョブに関連するプライベート オファーを参照する resourceURI も返します。 この resourceURI は、プライベート オファーのすべての詳細を取得するために使用します。
Failed ジョブは失敗しました。 これにより、エラーの原因を特定するのに役立つ関連するエラーも返されます。

詳細については、「 既存のジョブの状態を照会するを参照してください。

手順 3: 完了したジョブから情報を取得する

成功したジョブは、関連するプライベート オファーを参照する resourceUri を返します。 このリソース URI は、今後、プライベート オファーに関する詳細 (privateofferId など) を取得するために使用します。

失敗したジョブには、ジョブが失敗した理由と問題を解決する方法の詳細を示すエラーが含まれています。

詳細については、「 既存のプライベート オファーの詳細を確認するを参照してください。

ISV とチャネル パートナーがマルチパーティ プライベート オファーに API を共同で使用する方法

ISV とチャネル パートナーはどちらも、特定の MPO の作成と管理に同じ API を使用できます。 ただし、API に影響を与える可能性がある MPO 内のリソースは、API の呼び出し元が MPO の ISV (発信元) かチャネル パートナー (販売者) かによって異なります。 同じ ISV/チャネル パートナー発行フローとパートナー センターを管理するビジネス ルールが API にミラーリングされます。 概要を次に示します。

API 操作 ISV (発信元) チャネル パートナー (販売者)
作成​​
  • 対象ユーザーは、API 呼び出しが投稿されたときに 販売 パートナー (販売者) であり、エンド カスタマーはチャネル パートナーが送信するまでプライベート オファーを表示しません
編集可能なリソース:
  • 発効日
  • 対象の受益者 (顧客)
  • チャネル パートナーがオファーで共同作業を行う(プライベート オファーあたり 1 個に制限)
  • プライベート オファーの状態を通知する追加の ISV 連絡先
  • ISV カスタム使用条件
  • プライベート オファーに含まれる製品/プラン
  • 各製品/プランの契約期間
  • 各製品に含まれる数量 (該当する場合)
  • 予測不可能なプラン属性 (該当する場合)
  • 含まれる製品/プランでチャネル パートナーが利用できる割引卸売価格
  • ISV 販売ノート
  • API 呼び出しが投稿されたときに、対象ユーザーが顧客
編集可能なリソース:
  • チャネル パートナーのカスタム使用条件
  • 次の方法で準備します。
  • プライベート オファーに含まれる各製品/プランの ISV 卸売価格に加える顧客調整 (マークアップ率) は、最終的なエンド カスタマー価格を決定します
  • プライベート オファーの状態を通知する追加のチャネル パートナーの連絡先
  • チャネル パートナーの販売メモ
削除
  • ドラフト状態のプライベート オファーでサポートされます
  • サポートされていません
引き上げる
  • ISV によって公開されたプライベート オファーでサポートされていますが、チャネル パートナーによってまだ公開されていないか、チャネル パートナーによって取り消された場合
  • 公開され、エンド カスタマーが利用できるプライベート オファーでサポートされていますが、まだ受け入れられません