注释
这些步骤不适用于 New Commerce 产品。 请参阅 转换新商业订阅 文档,了解如何将新商业试用版转换为付费订阅
您可以将试用订阅转换为付费订阅。
先决条件
合作伙伴中心身份验证中所述的凭据。 此方案仅支持使用 App+User 凭据进行身份验证。
客户编号 (
customer-tenant-id
)。 如果不知道客户的 ID,可以在合作伙伴中心查找,依次选择“客户”工作区,从客户列表中选择客户,然后选择“帐户”。 在客户的“帐户”页上,在“客户帐户信息”部分查找Microsoft ID。 Microsoft ID 与客户 ID (customer-tenant-id
) 相同。活动试用订阅的订阅 ID。
可用的转换选件。
通过代码将试用订阅转换为付费订阅
要将试用订阅转换为付费订阅,您必须先获取可用的试用转换的集合。 然后,您必须选择要购买的转换选件。
转换选件将指定一个数量,该数量默认为与试用订阅相同的许可证数量。 您可以通过将 Quantity 属性设置为要购买的许可证数量来更改此数量。
注释
无论购买的许可证数量如何,试用版的订阅 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 方法检索可用 转换 选件的集合。 必须选择一个。 以下示例默认为第一个可用的转换。
使用对保存在局部变量中的订阅作界面的引用和 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 参数
使用以下路径参数来识别客户订阅和试用订阅。
名称 | 类型 | 必选 | DESCRIPTION |
---|---|---|---|
客户 ID | 字符串 | 是的 | 标识客户的 GUID 格式字符串。 |
订阅编号 | 字符串 | 是的 | 标识试用订阅的 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"
}
}