パートナー センター API を使用して試用版サブスクリプションを有料に変換する
Note
これらの手順は、新しいコマース製品には適用されません。 新しいコマース試用版を有料サブスクリプションに 変換するには、新しいコマース サブスクリプション のドキュメントを参照してください
試用版サブスクリプションを有料に変換できます。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、アプリとユーザーの資格情報を使用した認証のみがサポートされます。
顧客 ID です (
customer-tenant-id
)。 顧客の ID がわからない場合は、[顧客] ワークスペースを選択し、顧客の一覧から顧客を選択し、[アカウント] を選択して、パートナー センターで検索できます。 顧客の [アカウント] ページで、[顧客アカウント情報] セクションで Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id
) と同じです。アクティブな試用版サブスクリプションのサブスクリプション ID。
利用可能な変換オファー。
コードを使用して試用版サブスクリプションを有料サブスクリプションに変換する
試用版サブスクリプションを有料サブスクリプションに変換するには、まず、利用可能な試用版の変換のコレクションを取得する必要があります。 次に、購入するコンバージョン オファーを選択する必要があります。
変換オファーでは、試用版サブスクリプションと同じ数のライセンスに既定で設定される数量が指定されます。 この数量を変更するには、Quantity プロパティを購入するライセンス数に設定します。
Note
購入したライセンスの数に関係なく、試用版のサブスクリプション ID は購入したライセンスに再利用されます。 その結果、実際の試用版は消え、購入に置き換えられます。
コードを使用して試用版サブスクリプションを変換するには、次の手順に従います。
使用可能なサブスクリプション操作へのインターフェイスを取得します。 顧客を識別し、試用版サブスクリプションのサブスクリプション識別子を指定する必要があります。
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
利用可能な変換オファーのコレクションを取得します。 このメソッドの要求/応答の詳細と詳細については、「試用版の変換オファーの一覧を取得する」を参照してください。
var conversions = subscriptionOperations.Conversions.Get();
コンバージョン オファーを選択します。 次のコードは、コレクション内の最初の変換オファーを選択します。
var selectedConversion = conversions.Items.ToList()[0];
必要に応じて、購入するライセンスの数を指定します。 既定値は、試用版サブスクリプション内のライセンスの数です。
selectedConversion.Quantity = 10;
Create メソッドまたは CreateAsync メソッドを呼び出して、試用版サブスクリプションを有料に変換します。
var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
C#
試用版サブスクリプションを有料サブスクリプションに変換するには:
IAggregatePartner.Customers.ById メソッドと顧客 ID を使用して顧客を指定します。
試用版サブスクリプション ID を使用して Subscriptions.ById メソッドを呼び出して、サブスクリプション操作へのインターフェイスを取得します。 サブスクリプション操作インターフェイスへの参照をローカル変数に保存します。
Conversions プロパティを使用して、変換で使用可能な操作へのインターフェイスを取得し、Get メソッドまたは GetAsync メソッドを呼び出して、使用可能な Conversion オファーのコレクションを取得します。 1 つを選択する必要があります。 次の例では、既定で使用可能な最初の変換が使用されます。
ローカル変数に保存したサブスクリプション操作インターフェイスへの参照と Conversions プロパティを使用して、変換で使用可能な操作へのインターフェイスを取得します。
選択した変換オファー オブジェクトを Create メソッドまたは CreateAsync メソッドに渡して、試用版の変換を試みます。
C# の例
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
// Get subscription operations for the trial subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
// Get the available conversions.
var conversions = subscriptionOperations.Conversions.Get();
// If there are no conversions available, we're done.
// Otherwise, convert the trial to the first available conversion offer.
if (conversions.TotalCount <= 0)
{
System.Console.WriteLine("This subscription has no conversions");
}
else
{
// Default to the first conversion.
var selectedConversion = conversions.Items.ToList()[0];
// Convert the trial and return the result.
var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
}
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
投稿 | {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1 |
URI パラメーター
次のパス パラメーターを使用して、顧客と試用版のサブスクリプションを識別します。
名前 | 種類 | 必須 | 説明 |
---|---|---|---|
customer-id | string | はい | 顧客を識別する GUID 形式の文字列。 |
subscription-id | string | はい | 試用版サブスクリプションを識別する GUID 形式の文字列。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
リクエストの本文
入力された Conversion リソースは、要求本文に含まれている必要があります。
要求の例
POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 234
Expect: 100-continue
{
"OfferId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
"TargetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
"OrderId": "D51A052E-043C-4A2A-AA37-2BB938CEF6C1",
"Quantity": 25,
"BillingCycle": "monthly",
"Attributes": {
"ObjectType": "Conversion"
}
}
REST 応答
成功した場合、応答本文には ConversionResult リソースが含まれます。
応答の成功とエラーのコード
各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。 このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。 完全な一覧については、パートナー センターのエラー コードを参照してください。
応答の例
HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT
{
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
"targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
"attributes": {
"objectType": "ConversionResult"
}
}