パートナーセンター Api を使用して試用版サブスクリプションを有料に変換するConvert a trial subscription to paid using Partner Center APIs

適用対象:Applies to:

  • パートナー センターPartner Center

試用版のサブスクリプションを有料に変換することができます。You can convert a trial subscription to paid.

前提条件Prerequisites

  • パートナー センターの認証に関するページで説明している資格情報。Credentials as described in Partner Center authentication. このシナリオでは、アプリとユーザーの資格情報を使用した認証のみがサポートされます。This scenario supports authentication with App+User credentials only.

  • 顧客 ID です (customer-tenant-id)。A customer ID (customer-tenant-id). お客様の ID がわからない場合は、パートナー センターのダッシュボードで検索できます。If you don't know the customer's ID, you can look it up in the Partner Center dashboard. パートナー センター メニューの [CSP] を選択し、 [顧客] を選択します。Select CSP from the Partner Center menu, followed by Customers. 顧客一覧からお客様を選び、 [アカウント] を選択します。Select the customer from the customer list, then select Account. お客様のアカウント ページで、 [顧客のアカウント情報] セクションの Microsoft ID を探します。On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. Microsoft ID は、顧客 ID (customer-tenant-id) と同じです。The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • アクティブな試用版サブスクリプションのサブスクリプション ID。A subscription ID for an active trial subscription.

  • 使用可能な変換プラン。An available conversion offer.

試用版サブスクリプションをコードによって有料に変換するConvert a trial subscription to paid through code

試用版のサブスクリプションを有料のサブスクリプションに変換するには、最初に使用可能な試用変換のコレクションを取得する必要があります。To convert a trial subscription to a paid one, you must first obtain a collection of the trial conversions available. 次に、購入する変換プランを選択する必要があります。Then, you must choose the conversion offer that you want to purchase.

変換プランでは、既定で試用版のサブスクリプションと同じ数のライセンスを持つ数量が指定されます。The conversion offers will specify a quantity that defaults to the same number of licenses as the trial subscription. この数量を変更するには、 quantity プロパティに購入するライセンス数を設定します。You can change this quantity by setting the Quantity property to the number of licenses that you want to purchase.

注意

購入したライセンスの数に関係なく、購入したライセンスについては試用版のサブスクリプション ID が再利用されます。Regardless of the number of licenses purchased, the subscription ID of the trial is reused for the purchased licenses. 結果として、有効な評価版は消え、購入によって置き換えられます。As a result, the trial in effect disappears and is replaced by the purchase.

コードを使用して試用版のサブスクリプションを変換するには、次の手順に従います。Use the following steps to convert a trial subscription through code:

  1. 利用可能なサブスクリプション操作へのインターフェイスを取得します。Get an interface to the subscription operations available. 顧客を特定し、試用版サブスクリプションのサブスクリプション識別子を指定する必要があります。You must identify the customer and specify the subscription identifier of the trial subscription.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. 使用可能な変換プランのコレクションを取得します。Get a collection of the available conversion offers. このメソッドの要求/応答の詳細と詳細については、「 評価版変換プランの一覧を取得する」を参照してください。For more information and details on the request/response for this method, see Get a list of trial conversion offers.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. 変換プランを選択します。Choose a conversion offer. 次のコードは、コレクション内の最初の変換プランを選択します。The following code chooses the first conversion offer in the collection.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. 必要に応じて、購入するライセンス数を指定します。Optionally, specify the number of licenses to purchase. 既定値は、試用版サブスクリプションのライセンス数です。The default is the number of licenses in the trial subscription.

    selectedConversion.Quantity = 10;
    
  5. Createまたは createasyncメソッドを呼び出して、試用版サブスクリプションを有料に変換します。Call the Create or CreateAsync method to convert the trial subscription to paid.

    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
    

C#C#

試用版のサブスクリプションを有料のサブスクリプションに変換するには、次のようにします。To convert a trial subscription to a paid one:

  1. 顧客 ID を指定して ById メソッドを使用し、顧客を識別します。Use the IAggregatePartner.Customers.ById method with the customer ID to identify the customer.

  2. 試用版サブスクリプション ID を使用して ById メソッドを呼び出すことにより、サブスクリプション操作へのインターフェイスを取得します。Get an interface to subscription operations by calling the Subscriptions.ById method with the trial subscription ID. サブスクリプション操作インターフェイスへの参照をローカル変数に保存します。Save a reference to the subscription operations interface in a local variable.

  3. 変換に対して使用可能な操作へのインターフェイスを取得し、 Getまたは GetAsyncメソッドを呼び出して、使用可能な 変換の提供のコレクションを取得するには、変換プロパティを使用します。Use the Conversions property to obtain an interface to the available operations on conversions, and then call the Get or GetAsync method to retrieve a collection of available Conversion offers. 1 つを選択する必要があります。You must choose one. 次の例では、使用可能な最初の変換が既定値に設定されています。The following example defaults to the first conversion available.

  4. ローカル変数に保存したサブスクリプション操作インターフェイスへの参照と 変換 プロパティを使用して、変換で使用可能な操作へのインターフェイスを取得します。Use the reference to the subscription operations interface that you saved in a local variable and the Conversions property to obtain an interface to the available operations on conversions.

  5. 選択した変換オファーオブジェクトを Create または createasync メソッドに渡して、試用変換を試行します。Pass the selected conversion offer object to the Create or CreateAsync method to attempt the trial conversion.

C の # 例C# example

// 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 要求REST request

要求の構文Request syntax

認証方法Method 要求 URIRequest URI
POSTPOST {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1{baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1

URI パラメーターURI parameter

次のパスパラメーターを使用して、顧客と試用版のサブスクリプションを識別します。Use the following path parameters to identify the customer and trial subscription.

名前Name TypeType 必須Required 説明Description
customer-idcustomer-id stringstring はいYes 顧客を識別する GUID 形式の文字列。A GUID formatted string that identifies the customer.
subscription-idsubscription-id stringstring はいYes 評価版サブスクリプションを識別する GUID 形式の文字列。A GUID formatted string that identifies the trial subscription.

要求ヘッダーRequest headers

詳細については、「パートナー センター REST ヘッダー」を参照してください。For more information, see Partner Center REST headers.

[要求本文]Request body

設定された 変換 リソースが要求本文に含まれている必要があります。A populated Conversion resource must be included in the request body.

要求の例Request example

POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/488745B5-2086-4912-802C-6ABB9F7C3638/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: 8daa6d54-72ab-4d6b-9c7d-9266d3734a47
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 応答REST response

成功した場合、応答本文には ConversionResult リソースが含まれます。If successful, the response body contains a ConversionResult resource.

応答の成功とエラーのコードResponse success and error codes

各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。Each response comes with an HTTP status code that indicates success or failure and additional debugging information. このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。Use a network trace tool to read this code, error type, and additional parameters. 完全な一覧については、「 パートナーセンターのエラーコード」を参照してください。For the full list, see Partner Center error codes.

応答の例Response example

HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 8daa6d54-72ab-4d6b-9c7d-9266d3734a47
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT

 {
    "subscriptionId": "488745B5-2086-4912-802C-6ABB9F7C3638",
    "offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "attributes": {
        "objectType": "ConversionResult"
    }
}