新しいコマース サブスクリプションを移行する
適用対象: パートナー センター |21Vianet が運営するパートナー センター |Microsoft Cloud for US Government のパートナー センター
適切なロール
- 管理エージェント
これらの方法では、従来のコマース ソース サブスクリプションと新しいコマース ソース サブスクリプションの両方がサポートされます。
Note
ライセンス ベースのサービスの新しいコマース エクスペリエンスには、多くの新機能が含まれており、すべてのクラウド ソリューション プロバイダー (CSP) が利用できます。 詳細については、新しいコマース エクスペリエンスの概要を参照してください。
顧客の新しいコマース サブスクリプションをターゲット サブスクリプションにアップグレードしたり、NCE 試用版を有料サブスクリプションに変換したりするために使用されます。 サブスクリプションを移行するには、2 つの API 要求を行う必要があります。 最初 GET の対象となる移行 アップグレードに使用できる SKU を取得します。 次に、POST 遷移をして遷移を実行します。
移行の資格を取得する
特定の顧客、サブスクリプション、および要求された種類の対象となる移行の一覧を返します。 また、移行先サブスクリプションのアップグレード資格も返されます。 移行の対象には、EndofSaleWithConversions 状態のオファーが含まれる場合があります。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロン アプリとアプリ + ユーザーの両方の資格情報を使った認証がサポートされています。
顧客 ID です (
customer-tenant-id
)。 顧客の ID がわからない場合は、パートナー センターで [顧客] ワークスペースを選び、顧客一覧から顧客を選び、[アカウント] を選んで調べることができます。 顧客の [アカウント] ページの [顧客のアカウント情報] セクションで Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id
) と同じです。初期サブスクリプションのサブスクリプション ID。
GDAP ロール
以下の GDAP ロールのうち少なくとも 1 つが必要です。
- ディレクトリ閲覧者
- グローバル閲覧者
Note
この API はレガシと NCE で使用できます。GDAP はレガシでのみ必要です。
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1 |
URI パラメーター
次のクエリ パラメーターを使用して、適格な遷移を返します。
名前 | タイプ | Required | 説明 |
---|---|---|---|
customer-tenant-id | guid | 年 | 顧客のテナントに対応する GUID。 |
subscription-id | guid | 年 | 初期サブスクリプションに対応する GUID。 |
eligibilityType | string | N | 遷移を実行するタイミングについて説明します。は、即時またはスケジュールできます。 既定値は Immediate です。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
なし
要求の例
GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType=immediate HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
REST 応答
成功した場合、このメソッドは、応答本文で特定のサブスクリプションの適格な遷移の一覧を返します。
応答の成功とエラーのコード
各応答には、成功または失敗とより多くのデバッグ情報を示す HTTP 状態コードが付属しています。 ネットワーク トレース ツールを使用して、このコード、エラーの種類、およびその他のパラメーターを読み取ります。 完全な一覧については、エラー コードに関するページを参照してください。
適格性エラー
エラーの説明と意味。
エラーの説明 | 意味 |
---|---|
サブスクリプションを移行できません。 ソース サブスクリプションはアクティブではありません。 | 元のサブステータスがアクティブではない |
サブスクリプションを移行できません。 ソース サブスクリプションはまだプロビジョニングされていません。 | 元のサブ FulfillmentState が成功しない |
移行の種類に互換性がありません- AzureAD サブスクリプションのマッピングが必要です。 | GetSubscriptionUpgradeConflicts を呼び出すときの LegacyCannotConvertSubscriptionId エラー |
移行の種類に互換性がありません。ライセンス転送のサブスクリプションが競合しています。 | Microsoft Entra サービスに別のサブスクリプションのサブスクリプション ID がある場合は、競合リストに追加します (従来または最新の購入フローで行われた購入を含む) |
サブスクリプションの適格性エラー
移行先サブスクリプションをアップグレードする資格がない場合は、次のいずれかの理由が返されます。
ソース サブスクリプションが試用版の場合、または eligibilityType が Scheduled として指定されている場合、空のリストが返されます。 既存のサブスクリプションに移行できるのは、スケジュールされた変更ではなく、即時 ("中間" とも呼ばれます) の移行のみです。
エラーの説明 | エラー コード |
---|---|
サブスクリプションがアクティブではありません。 | SubscriptionNotActive = 1 |
サブスクリプションはキャンセル期間内です。 | SubscriptionInCancellationWindow = 2 |
サブスクリプション期間がソース サブスクリプションの期間より短くなっています。 | SubscriptionTermDurationShorterThanSourceTermDuration = 3 |
サブスクリプション有効期限がソース サブスクリプション有効期限より前になっています。 | サブスクリプション有効期限がソース サブスクリプション有効期限より前になっています。 = 4 |
応答の例
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT
{
"totalCount": 2,
"items": [
{
"operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
"catalogItemId": "CFQ7TTC0KZCR:0001:CFQ7TTC0K71H",
"title": "Microsoft 365 E5 Test Sku Title",
"description": "Microsoft 365 E5 Test Sku Description",
"quantity": 1,
"subscriptionEligibilities": [
{
"isEligible": false,
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionFriendlyName": "Microsoft 365 Business Premium",
"subscriptionTermDuration": "P1M",
"subscriptionBillingCycle": "monthly",
"errors": [
{
"code": 3,
"description": "The subscription's term duration is shorter than the source subscription's term duration."
}
]
},
{
"isEligible": true,
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"subscriptionFriendlyName": "Microsoft 365 Business Premium",
"subscriptionTermDuration": "P1Y",
"subscriptionBillingCycle": "monthly",
"errors": []
}
],
"eligibilities": [
{
"isEligible": true,
"transitionType": "transition_only",
"errors": []
},
{
"isEligible": false,
"transitionType": "transition_with_license_transfer",
"errors": [
{
"code": 3,
"description": "Subscription cannot be transitioned because there are conflicting services."
}
]
}
],
"attributes": {
"objectType": "TransitionEligibility"
}
},
{
"operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
"catalogItemId": "CFQ7TTC0L4M3:0001:CFQ7TTC0K78T",
"title": "Business Premium Test Sku Title",
"description": "Business Premium Test Sku Description",
"quantity": 1,
"eligibilities": [
{
"isEligible": false,
"transitionType": "transition_with_license_transfer",
"errors": [
{
"code": 3,
"description": "Subscription cannot be transitioned because there are conflicting services."
}
]
}
],
"attributes": {
"objectType": "TransitionEligibility"
}
}
],
"attributes": {
"objectType": "Collection"
}
}
移行後
特定の顧客とサブスクリプションの移行要求を投稿します。 初期状態の遷移を返します。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロン アプリとアプリ + ユーザーの両方の資格情報を使った認証がサポートされています。
顧客 ID です (
customer-tenant-id
)。 顧客の ID がわからない場合は、パートナー センターで [顧客] ワークスペースを選び、顧客一覧から顧客を選び、[アカウント] を選んで調べることができます。 顧客の [アカウント] ページの [顧客のアカウント情報] セクションで Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id
) と同じです。初期サブスクリプションのサブスクリプション ID。
GDAP ロール
以下の GDAP ロールのうち少なくとも 1 つが必要です。
- ディレクトリ リーダーまたはグローバル リーダー (移行のみ)
- ディレクトリ ライター (ライセンス転送による移行)
Note
この API はレガシと NCE で使用できます。GDAP はレガシでのみ必要です。
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
投稿 | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1 |
URI パラメーター
遷移を実行するには、次のクエリ パラメーターを使用します。
名前 | タイプ | Required | 説明 |
---|---|---|---|
customer-tenant-id | guid | 年 | 顧客のテナントに対応する GUID。 |
subscription-id | guid | 年 | 初期サブスクリプションに対応する GUID。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
次の表では、要求本文の Transition プロパティについて説明します。
プロパティ | タイプ | Required | 説明 |
---|---|---|---|
fromCatalogItemId | string | いいえ | 切り替えの対象となるカタログ アイテム。 |
fromSubscriptionId | string | いいえ | 移行するサブスクリプション ID。 |
toCatalogItemId | string | はい | 切り替えるカタログアイテム。 |
toSubscriptionId | string | いいえ | 移行するサブスクリプション ID。 |
quantity | integer | はい | 移行するライセンスの数。 |
termDuration | string | いいえ | サブスクリプションの期間を指定します。 |
billingCycle | string | いいえ | サブスクリプションの支払いサイクルを指定します。 |
transitionType | string | はい | 遷移の種類。 使用可能な値 - transition_only 、 transition_with_license_transfer 。 |
要求の例
POST https://api.partnercenter.microsoft.com/v1/customers/{customerId}/subscriptions/{subscriptionId}/transitions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
{
"fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
"fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
"toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
"toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
"quantity": 2,
"termDuration": "P1M",
"billingCycle": "Monthly",
"transitionType": "transition_only"
}
REST 応答
成功した場合、このメソッドは初期状態の Transition リソースを返します。
応答の成功とエラーのコード
各応答には、成功または失敗とより多くのデバッグ情報を示す HTTP 状態コードが付属しています。 ネットワーク トレース ツールを使用して、このコード、エラーの種類、およびその他のパラメーターを読み取ります。 完全な一覧については、エラー コードに関するページを参照してください。
応答の例
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT
{
"fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
"fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
"toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
"toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
"quantity": 2,
"termDuration": "P1M",
"billingCycle": "Monthly",
"transitionType": "transition_only"
"Events": [
{
"name": "Conversion",
"status": "Started ",
"timestamp": "2021-01-08T18:01:14.7488618Z",
"attributes":
{
"objectType": "TransitionEvent"
}
}
],
"attributes":
{
"objectType": "Transition"
}
}