適用於:合作夥伴中心
本文介紹如何使用合作夥伴中心 API 計劃新商業 訂閱的更改,這些更改僅在續訂時進行。 此 API 支援基於許可的新商業訂閱和軟體訂閱。
備註
授權型服務的新商務體驗包含許多新功能,可供所有 雲端解決方案提供者 (CSP) 使用。 如需詳細資訊,請參閱 新的商務體驗概觀。
通過創建計劃的更改,您可以在下次續訂時自動修改訂閱。 通過計劃更改,您可以選擇增加或減少許可證數量、修改計費期限和頻率,甚至選擇升級 SKU。 通過安排更改,您可以在續訂時對訂閱進行修改,而不是在當前期限內立即進行修改。
這很重要
如果您在續訂日期之前進行中期(即時)更改,則之前計劃在續訂時發生的所有計劃更改都將被刪除。
先決條件
合作夥伴中心身份驗證中所述的憑證。 此案例支援使用獨立應用程式和 App+使用者認證進行驗證。
客戶識別碼 (
customer-tenant-id)。 如果您不知道客戶的標識碼,您可以在 合作夥伴中心 中選取 [客戶] 工作區,然後從客戶清單中找到該客戶,接著選取 [帳戶]。 在客戶的 [帳戶] 頁面上,在 [客戶帳戶資訊] 區段中尋找 Microsoft ID。 Microsoft ID 與客戶 ID (customer-tenant-id) 相同。訂用帳戶標識碼。
在訂閱上啟用了自動續訂。
合作夥伴中心方法論
若要在合作夥伴中心計劃訂閱的更改,請執行以下作:
選取客戶。
選擇要為其計劃更改的訂閱。
啟用 Auto-renew。
選擇 管理續訂。
對訂閱進行修改,以便在續訂時進行。
選擇 Ok關閉 側面板。
選擇 提交 以保存更改。
備註
續訂將在學期的最後一天后處理,從第二天的 12:00 AM UTC 開始。 續訂在佇列中處理,最多可能需要 24 小時才能處理。
C#
要為客戶的訂閱安排更改,請執行以下作:
- 按ID獲取訂閱。
- 獲取 Scheduled transition eligibility type 的過渡資格。
- 創建一個 ScheduledNextTermInstructions 物件並將其設置為訂閱的屬性。
- 調用 Patch() 方法以使用計畫的更改更新訂閱。
var selectedSubscription = subscriptionOperations.Get();
selectedSubscription.ScheduledNextTermInstructions = new ScheduledNextTermInstructions
{
Product = new ProductTerm
{
ProductId = changeToProductId,
SkuId = changeToSkuId,
AvailabilityId = changeToAvailabilityId,
BillingCycle = changeToBillingCycle,
TermDuration = changeToTermDuration,
},
Quantity = changeToQuantity,
customTermEndDate = DateTime,
};
var updatedSubscription = subscriptionOperations.Patch(selectedSubscription);
要為客戶的訂閱安排更改,其中所需的計劃更改是針對其他產品:
REST 要求
請求語法
| 方法 | 請求網址識別碼 (URI) |
|---|---|
| 補丁 | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
URI 參數
下表列出了調用 API 所需的查詢參數。
| 名稱 | 類型 | 為必填項目 | 說明 |
|---|---|---|---|
| 客戶租戶識別碼 (customer-tenant-id) | 全域唯一識別碼 (GUID) | 是 | 與客戶對應的 GUID。 |
| 訂閱ID | 全域唯一識別碼 (GUID) | 是 | 與訂閱對應的 GUID。 |
請求標頭
如需詳細資訊,請參閱合作夥伴中心 REST 標頭。
請求主體
請求正文中需要一個完整的 Subscription 資源,並 scheduledNextTermInstructions 定義了 property。 要為您的訂閱安排更改,請確保將 AutoRenewEnabled 屬性設置為 true。
有關具有轉化的銷售結束 (EndofSaleWithConversions) 選件的可用性 ID:
GetTransitionEligibility 返回 CatalogItemID。
一。 確保設置 Scheduled eligibility type (計劃資格類型),否則預設為 immediate。
然後使用 CatalogItemID 提取 availabilityID。
備註
如果您使用 GET 可用性來確定 scheduledNextTerm 說明的可用性,並且所有條款都處於 EOS 狀態,您將收到一個空清單。 確定有效路徑的最佳方法是調用 GetTransitionEligibilty API 以返回有效選項。
| 領域 | 類型 | 為必填項目 | 說明 |
|---|---|---|---|
| scheduledNextTerm說明 | 物件 | 是 | 定義訂閱的 next term 說明。 該屬性包含 product 物件和 quantity 欄位。 |
範例請求
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
"offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
"offerName": "offer Name",
"friendlyName": "friendly Name",
"quantity": 1,
"customTermEndDate": "2019-01-09T00:21:45.9263727",
"unitType": "License(s)",
"hasPurchasableAddons": false,
"creationDate": "2019-01-04T01:00:12.6647304Z",
"effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
"commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
"status": "active",
"autoRenewEnabled": true,
"scheduledNextTermInstructions": {
"product": {
"productId": "DG7GMGF0DVSV",
"skuId": "000P",
"availabilityId": "DG7GMGF0F3Q9",
"billingCycle": "Annual",
"termDuration": "P3Y",
"promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
},
"quantity": 1
"customTermEndDate" : "2019-01-09T00:21:45.9263727",
}, // original value = null
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1M",
"refundOptions": [{
"type": "Full",
"expiresAt": "2019-01-10T00:21:45.9263727+00:00"
}],
"isMicrosoftProduct": false,
"partnerId": "",
"contractType": "subscription",
"publisherName": "publisher Name",
"orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
"attributes": {"objectType": "Subscription"},
}
REST 響應
如果請求成功,此方法將在回應正文中返回更新的 Subscription 資源屬性。
回應成功和錯誤碼
每個回應都附帶一個指示成功或失敗的 HTTP 狀態代碼,以及其他調試資訊。 使用網路追蹤工具來讀取此程式代碼、錯誤類型和其他參數。 如需完整清單,請參閱錯誤代碼。
回應範例
HTTP/1.1 200 OK
Content-Length: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
{
"id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
"offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
"offerName": "offer Name",
"friendlyName": "friendly Name",
"quantity": 1,
"customTermEndDate": "2019-01-09T00:21:45.9263727",
"unitType": "License(s)",
"hasPurchasableAddons": false,
"creationDate": "2019-01-04T01:00:12.6647304Z",
"effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
"commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
"status": "active",
"autoRenewEnabled": true,
"scheduledNextTermInstructions": {
"product": {
"productId": "DG7GMGF0DVSV",
"skuId": "000P",
"availabilityId": "DG7GMGF0F3Q9",
"billingCycle": "Annual",
"termDuration": "P3Y",
"promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
},
"quantity": 1
"customTermEndDate": "2019-01-09T00:21:45.9263727",
}, // original value = null
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1M",
"refundOptions": [{
"type": "Full",
"expiresAt": "2019-01-10T00:21:45.9263727+00:00"
}],
"isMicrosoftProduct": false,
"partnerId": "",
"contractType": "subscription",
"publisherName": "publisher Name",
"orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
"attributes": {"objectType": "Subscription"},
}