Обновление частоты выставления счетов для подписок программного обеспечения
Область применения: Центр партнеров
Обновите частоту выставления счетов для ресурса подписки программного обеспечения, соответствующего идентификаторам клиента и подписки , запланированному изменению.
Вы также можете обратиться к документу Управление запланированными изменениями для новых коммерческих подписок, чтобы узнать, как проводить запланированные изменения. Для выполнения этой операции в Центре партнеров выполните указанные ниже действия.
- Выберите клиента.
- Выберите подписку software, которую вы хотите обновить.
- Выберите "Управление продлением" , чтобы указать параметры, нажмите кнопку "Сохранить ", чтобы сохранить изменения, а затем отправить страницу.
Необходимые компоненты
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочую область "Клиенты" , затем клиент из списка клиентов, а затем учетная запись. На странице учетной записи клиента найдите Идентификатор Майкрософт в разделе Сведения об учетной записи клиента. Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).Идентификатор подписки.
C#
Чтобы обновить подписку на программное обеспечение клиента, сначала получите подписку, а затем задайте свойство выставления счетовCycle подписки. После внесения изменений используйте коллекцию IAggregatePartner.Customers и вызовите метод ById(). Затем вызовите свойство Subscriptions , за которым следует метод ById( ). Затем выполните вызов метода Patch( ).
// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;
this.Context.ConsoleHelper.StartProgress("Updating subscription scheduled change");
selectedSubscription.ScheduledNextTermInstructions = new ScheduledNextTermInstructions
{
Product = new ProductTerm
{
ProductId = changeToProductId,
SkuId = changeToSkuId,
AvailabilityId = changeToAvailabilityId,
BillingCycle = changeToBillingCycle,
TermDuration = changeToTermDuration,
},
Quantity = changeToQuantity,
};
var updatedSubscription = subscriptionOperations.Patch(selectedSubscription);
Пример: тестовое приложение консоли. Проект: класс PartnerSDK.FeatureSample: UpdateSubscription.cs
Запрос REST
Синтаксис запроса
Способ | URI запроса |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{id-for-subscription} HTTP/1.1 |
Параметр универсального кода ресурса
В этой таблице перечислены необходимые параметры для обновления частоты выставления счетов для подписки.
Имя. | Type | Обязательно | Описание |
---|---|---|---|
customer-tenant-id | GUID | Y | GUID, соответствующий клиенту. |
id-for-subscription | GUID | Y | GUID, соответствующий подписке. |
Заголовки запросов
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
В тексте запроса требуется полный ресурс подписки коммерческой платформы. Убедитесь, что свойство AutoRenewEnabled обновлено.
Пример запроса для подписки на программное обеспечение
{
"id": "d3b7c9a2-9a4b-40b2-b075-6e442909e3e7",
"offerId": "DG7GMGF0DVSV:000P:DG7GMGF0F3Q9",
"offerName": "Windows Server Remote Desktop Services CAL - 1 User CAL – 3 year",
"friendlyName": "Windows Server Remote Desktop Services CAL - 1 User CAL – 3 year",
"productType": {
"id": "Software",
"displayName": "Software"
},
"quantity": 1,
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-09-14T16:44:14.1210743Z",
"effectiveStartDate": "2021-09-14T16:44:03.4609789Z",
"commitmentEndDate": "2024-09-13T00:00:00Z",
"cancellationAllowedUntilDate": "2021-10-14T23:59:00Z",
"status": "active",
"autoRenewEnabled": true,
"scheduledNextTermInstructions": {
"product": {
"productId": "DG7GMGF0DVSV",
"skuId": "000P",
"availabilityId": "DG7GMGF0F3Q9",
"billingCycle": "Annual",
"termDuration": "P3Y"
},
"quantity": 1
}, // original value = null
"isTrial": false,
"billingType": "license",
"billingCycle": "triennial",
"termDuration": "P3Y",
"renewalTermDuration": "",
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/DG7GMGF0DVSV?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0DVSV/skus/000P?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0DVSV/skus/000P/availabilities/DG7GMGF0F3Q9?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/1f53d7b3-cd04-43a3-a09f-e52f3eb3c205/subscriptions/d3b7c9a2-9a4b-40b2-b075-6e442909e3e7",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft",
"orderId": "123456789101",
"attributes": {
"objectType": "Subscription"
}
}
Ответ REST
В случае успешного выполнения этот метод возвращает обновленные свойства ресурса подписки в тексте ответа.
Коды успешного выполнения и ошибок в ответе
Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой, а также другие сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. См. полный список кодов ошибок.
Пример ответа
{
"id": "d3b7c9a2-9a4b-40b2-b075-6e442909e3e7",
"offerId": "DG7GMGF0DVSV:000P:DG7GMGF0F3Q9",
"offerName": "Windows Server Remote Desktop Services CAL - 1 User CAL – 3 year",
"friendlyName": "Windows Server Remote Desktop Services CAL - 1 User CAL – 3 year",
"productType": {
"id": "Software",
"displayName": "Software"
},
"quantity": 1,
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-09-14T16:44:14.1210743Z",
"effectiveStartDate": "2021-09-14T16:44:03.4609789Z",
"commitmentEndDate": "2024-09-13T00:00:00Z",
"cancellationAllowedUntilDate": "2021-10-14T23:59:00Z",
"status": "active",
"autoRenewEnabled": true,
"scheduledNextTermInstructions": {
"product": {
"productId": "DG7GMGF0DVSV",
"skuId": "000P",
"availabilityId": "DG7GMGF0F3Q9",
"billingCycle": "Annual",
"termDuration": "P3Y"
},
"quantity": 1
}, // original value = null
"isTrial": false,
"billingType": "license",
"billingCycle": "triennial",
"termDuration": "P3Y",
"renewalTermDuration": "",
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/DG7GMGF0DVSV?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0DVSV/skus/000P?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0DVSV/skus/000P/availabilities/DG7GMGF0F3Q9?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/1f53d7b3-cd04-43a3-a09f-e52f3eb3c205/subscriptions/d3b7c9a2-9a4b-40b2-b075-6e442909e3e7",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft",
"orderId": "123456789101",
"attributes": {
"objectType": "Subscription"
}
}