更改客户订阅计费周期
适用于:合作伙伴中心|由世纪互联运营的合作伙伴中心|Microsoft Cloud for US Government合作伙伴中心
更新订单从每月计费到按年计费,或从每年到每月计费。
在合作伙伴中心仪表板中,可以通过导航到客户的订阅详细信息页来执行此操作。 在那里,你将看到一个选项,用于定义订阅的当前计费周期,并能够更改并提交订阅。
本文的范围不足:
- 更改试用的计费周期
- 更改任何非年度套餐的计费周期 (每月、六年) & Azure 订阅
- 更改非活动订阅的计费周期
- 更改 Microsoft 联机服务基于许可证的订阅的计费周期
必备条件
合作伙伴中心身份验证中所述的凭据。 此方案支持使用独立应用和 App+用户凭据进行身份验证。
客户 ID (
customer-tenant-id)。 如果不知道客户的 ID,则可以在合作伙伴中心仪表板中查找它。 从“合作伙伴中心”菜单中选择“CSP” ,然后选择“客户” 。 从客户列表中选择客户,然后选择“帐户” 。 在客户的帐户页上,在“客户帐户信息”部分查找 Microsoft ID。 Microsoft ID 与客户 ID (customer-tenant-id) 相同。订单 ID。
C#
若要更改计费周期的频率,请更新 Order.BillingCycle 属性。
// IAggregatePartner partnerOperations;
// string customerId;
// string offerId;
// string orderId;
var order = new Order()
{
ReferenceCustomerId = customerId,
BillingCycle = BillingCycleType.Annual,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
LineItemNumber = 0,
OfferId = offerId,
SubscriptionId = "69829602-C219-40FD-A3D5-4150FCA41A19",
Quantity = 1
}
}
};
var createdOrder = partnerOperations.Customers.ById(customerId).Orders.ById(orderId).Patch(order);
REST 请求
请求语法
| 方法 | 请求 URI |
|---|---|
| PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
URI 参数
下表列出了更改订阅数量所需的查询参数。
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
| customer-tenant-id | GUID | Y | 标识客户的 GUID 格式的客户租户 ID |
| order-id | GUID | Y | 订单标识符 |
请求标头
有关详细信息,请参阅合作伙伴中心 REST 标头。
请求正文
下表描述了请求正文中的属性。
订单
| 属性 | 类型 | 必需 | 说明 |
|---|---|---|---|
| ID | 字符串 | N | 成功创建订单时提供的订单标识符 |
| ReferenceCustomerId | 字符串 | Y | 客户标识符 |
| BillingCycle | 字符串 | Y | 指示合作伙伴为此订单计费的频率。 支持的值是在 BillingCycleType 中找到的成员名称。 |
| LineItems | 对象数组 | Y | OrderLineItem 资源的数组 |
| CreationDate | datetime | N | 订单的创建日期(以日期时间格式) |
| 属性 | Object | N | 包含“ObjectType”:“OrderLineItem” |
OrderLineItem
| 属性 | 类型 | 必需 | 说明 |
|---|---|---|---|
| LineItemNumber | 数字 | Y | 行项编号,从 0 开始 |
| OfferId | 字符串 | Y | 产品/服务的 ID |
| SubscriptionId | 字符串 | Y | 订阅的 ID |
| FriendlyName | 字符串 | N | 合作伙伴定义的订阅的友好名称,以帮助消除歧义 |
| 数量 | 数字 | Y | 许可证或实例数 |
| PartnerIdOnRecord | 字符串 | N | 记录伙伴的 MPN ID |
| 属性 | Object | N | 包含“ObjectType”:“OrderLineItem” |
请求示例
更新到年度计费
PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: 60efdd24-17ef-4080-9b02-4fc315f916ff
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue
{
"Id": null,
"ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"BillingCycle" : "Annual",
"LineItems": [{
"LineItemNumber": 0,
"OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"SubscriptionId": "69829602-C219-40FD-A3D5-4150FCA41A19",
"FriendlyName": "Some friendly name",
"Quantity": 2,
"PartnerIdOnRecord": null,
"Attributes": {
"ObjectType": "OrderLineItem"
}
}
],
"CreationDate": null,
"Attributes": {
"ObjectType": "Order"
}
}
REST 响应
如果成功,此方法在响应正文中返回更新的订阅顺序。
响应的成功和错误代码
每个响应都带有一个 HTTP 状态代码,用于指示成功或失败以及其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 有关完整列表,请参阅错误代码。
响应示例
HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 60efdd24-17ef-4080-9b02-4fc315f916ff
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT
{
"id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"billingCycle": "Annual",
"lineItems": [{
"lineItemNumber": 0,
"offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
"subscriptionId": "1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
"friendlyName": "new offer purchase",
"quantity": 5,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/1C2B75C1-74A5-472A-A729-7F8CEFC477F9",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"subscriptionId": "69829602-C219-40FD-A3D5-4150FCA41A19",
"friendlyName": "Some friendly name",
"quantity": 2,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/69829602-C219-40FD-A3D5-4150FCA41A19",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2017-01-25T14:53:12.093-08:00",
"links": {
"self": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"method": "GET",
"headers": []
}
},
"attributes": {
"etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
"objectType": "Order"
}
}