次の方法で共有


パートナー センター API を使用して試用版サブスクリプションを有料に変換する

これらの手順は、新しいコマース商品には適用されません。 新しい コマースサブスクリプションの移行 を参照して、新しいコマーストライアルを有料サブスクリプションに変換するためのドキュメントを作成します

試用版サブスクリプションを有料版に変換できます。

[前提条件]

  • パートナー センター認証で説明されている資格証明。 このシナリオでは、App+User 資格情報のみを使用した認証がサポートされます。

  • 顧客 ID です (customer-tenant-id)。 顧客の ID がわからない場合は、パートナー センター[顧客] ワークスペースを選び、顧客一覧から顧客を選び、[アカウント] を選んで調べることができます。 顧客の [アカウント] ページで、[顧客アカウント情報] セクションで Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id) と同じです。

  • アクティブな試用版サブスクリプションのサブスクリプション ID。

  • 利用可能なコンバージョン オファー。

コードによる試用版サブスクリプションを有料サブスクリプションに変換する

試用版サブスクリプションを有料サブスクリプションに変換するには、まず利用可能な試用版の変換のコレクションを取得する必要があります。 次に、購入するコンバージョンオファーを選択する必要があります。

変換オファーでは、試用版サブスクリプションと同じ数のライセンスが既定で設定される数量が指定されます。 この数量を変更するには、 Quantity プロパティを購入するライセンスの数に設定します。

購入したライセンスの数に関係なく、試用版のサブスクリプション ID は購入したライセンスに再利用されます。 その結果、有効な試用版は表示されなくなり、購入に置き換えられます。

コードを使用して試用版サブスクリプションを変換するには、次の手順に従います。

  1. 使用可能なサブスクリプション操作へのインターフェイスを取得します。 顧客を識別し、試用版サブスクリプションのサブスクリプション識別子を指定する必要があります。

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. 利用可能なコンバージョンオファーのコレクションを取得します。 このメソッドの要求/応答の詳細と詳細については、「 試用版変換オファーの一覧を取得する」を参照してください

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. コンバージョン オファーを選択します。 次のコードでは、コレクション内の最初のコンバージョン オファーを選択します。

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. 必要に応じて、購入するライセンスの数を指定します。 デフォルトは、試用版サブスクリプションのライセンス数です。

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

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

C#

試用版サブスクリプションを有料サブスクリプションに変換するには:

  1. IAggregatePartner.Customers.ById メソッドを顧客 ID と共に使用して、顧客を識別します。

  2. 試用版サブスクリプション ID を使用して Subscriptions.ById メソッドを呼び出すことにより、サブスクリプション操作へのインターフェイスを取得します。 サブスクリプション操作インターフェイスへの参照をローカル変数に保存します。

  3. Conversions プロパティを使用して、変換で使用可能な操作へのインターフェイスを取得し、Get メソッドまたは GetAsync メソッドを呼び出して、使用可能な Conversion オファーのコレクションを取得します。 いずれかを選択する必要があります。 次の例では、デフォルトで使用可能な最初の変換が使用されます。

  4. ローカル変数に保存したサブスクリプション操作インターフェイスへの参照と Conversions プロパティを使用して、変換で使用可能な操作へのインターフェイスを取得します。

  5. 選択したコンバージョン オファー オブジェクトを 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 パラメーター

次のパス パラメーターを使用して、顧客と試用版のサブスクリプションを識別します。

名前 タイプ 必須 説明
お客様ID ひも イエス 顧客を識別する GUID 形式の文字列。
サブスクリプションID ひも イエス 試用版サブスクリプションを識別する 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"
    }
}