Müşteri aboneliğindeki lisans miktarını değiştirme
Şunlar için geçerlidir: İş Ortağı Merkezi | 21Vianet tarafından işletilen İş Ortağı Merkezi | ABD Kamu için Microsoft Bulut İş Ortağı Merkezi
Lisans miktarını artırmak veya azaltmak için aboneliği güncelleştirir.
Önkoşullar
İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.
Müşteri kimliği (
customer-tenant-id
). Müşterinin kimliğini bilmiyorsanız, İş Ortağı Merkezi'nde Müşteriler çalışma alanını, ardından müşteri listesinden müşteriyi ve ardından Hesap'ı seçerek bunu arayabilirsiniz. Müşterinin Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde Microsoft Kimliği'ni arayın. Microsoft Kimliği, müşteri kimliğiyle (customer-tenant-id
) aynıdır.Abonelik kimliği.
C#
Müşterinin aboneliğinin miktarını değiştirmek için önce aboneliği alın, ardından aboneliğin Quantity özelliğini değiştirin. Değişiklik yapıldıktan sonra IAggregatePartner.Customers koleksiyonunuzu kullanın ve ById() yöntemini çağırın. Ardından Subscriptions özelliğini ve ardından ById() yöntemini çağırın. Ardından Patch() yöntemini çağırarak işlemi tamamlayın.
// IAggregatePartner partnerOperations;
// var customerId;
// var subscriptionId;
//retrieving the subscription, for the purpose of the sample
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.Get();
Subscription selectedSubscription = customerSubscriptions.Items.FirstOrDefault(sub => sub.Status == SubscriptionStatus.Active);
//update selected subscription,
selectedSubscription.Quantity++;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);
Örnek: Konsol test uygulaması. Proje: PartnerSDK.FeatureSample Sınıfı: UpdateSubscription.cs
REST isteği
İstek söz dizimi
Metot | İstek URI'si |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
URI parametresi
Bu tabloda, aboneliğin miktarını değiştirmek için gerekli sorgu parametresi listelenir.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
customer-tenant-id | Guıd | Y | Müşteriye karşılık gelen GUID. |
subscription-id | Guıd | Y | Aboneliğe karşılık gelen GUID. |
İstek üst bilgileri
Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.
Request body
İstek gövdesinde tam abonelik kaynağı gereklidir. Quantity özelliğinin güncelleştirildiğinden emin olun.
İstek örneği
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<id-for-subscription> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
"FriendlyName": "nickname",
"Quantity": 2,
"UnitType": "none",
"ParentSubscriptionId": null,
"CreationDate": "2015-11-25T06:41:12Z",
"EffectiveStartDate": "2015-11-24T08:00:00Z",
"CommitmentEndDate": "2016-12-12T08:00:00Z",
"Status": "active",
"AutoRenewEnabled": false,
"BillingType": "none",
"PartnerId": null,
"ContractType": "subscription",
"OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
"Attributes": {
"Etag": "<etag>",
"ObjectType": "Subscription"
}
}
Miktarı azaltmak için yeni ticaret aboneliği için istek örneği
Not
Lisans tabanlı hizmetler için yeni ticaret deneyimleri birçok yeni özellik içerir ve tüm Bulut Çözümü Sağlayıcısı (CSP' ler) tarafından kullanılabilir. Daha fazla bilgi için bkz . Yeni ticaret deneyimlerine genel bakış.
Lisans miktarı, yasaların gerektirdiği durumlar dışında, aboneliğin satın alınması veya yenilenmesinden sonra yalnızca 7 gün içinde azaltılabilir. Benzer şekilde, ara sınava eklenen lisanslar da yalnızca 7 gün içinde azaltılabilir.
Aboneliğinizin azalmaya izin vererek izin vermediğini belirlemek için Kimlik - İş ortağı uygulama geliştiricisine göre abonelik alma konusuna ve API isteğindeki iade edilebilirQuantity alanına bakın.
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
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"offerName": "Microsoft 365 Business Basic",
"friendlyName": "Microsoft 365 Business Basic",
"productType": {
"id": "OnlineServicesNCE",
"displayName": "OnlineServicesNCE"
},
"quantity": 1, // original value = 10
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-01-14T16:57:15.0966728Z",
"effectiveStartDate": "2021-01-14T16:57:14.498252Z",
"commitmentEndDate": "2022-01-13T00:00:00Z",
"status": "active",
"autoRenewEnabled": true,
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1Y",
"renewalTermDuration": "",
"refundOptions": [
{
"type": "Full",
"expiresAt": "2021-01-15T00:00:00Z"
}
],
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH18?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft Corporation",
"refundableQuantity": {
"totalQuantity": 10,
"details": [
{
"quantity": 10,
"allowedUntilDateTime": "2021-01-24T20:39:17.182697Z"
}
]
},
"orderId": "34b37d7340cc",
"attributes": {
"objectType": "Subscription"
}
}
REST yanıtı
Başarılı olursa, bu yöntem yanıt gövdesinde bir HTTP durum 200 durum kodu ve güncelleştirilmiş abonelik kaynağı özellikleri döndürür.
Yanıt başarısı ve hata kodları
Her yanıt, başarılı veya başarısız olduğunu ve ek hata ayıklama bilgilerini gösteren bir HTTP durum kodu döndürür. Durum kodunu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz . Hata Kodları.
Düzeltme eki işlemi beklenen süreden uzun sürdüğünde, İş Ortağı Merkezi bir HTTP durum 202 durum kodu ve aboneliğin nereden alındığını gösteren bir konum üst bilgisi gönderir. Durum ve miktar değişikliklerini izlemek için aboneliği düzenli aralıklarla sorgulayabilirsiniz.
Yanıt örnekleri
Yanıt örneği #1
HTTP durum 200 durum koduyla başarılı istek:
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscriptionID> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-Contract-Version: v1
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
"FriendlyName": "nickname",
"Quantity": 2,
"UnitType": "none",
"ParentSubscriptionId": null,
"CreationDate": "2015-11-25T06:41:12Z",
"EffectiveStartDate": "2015-11-24T08:00:00Z",
"CommitmentEndDate": "2016-12-12T08:00:00Z",
"Status": "active",
"AutoRenewEnabled": false,
"BillingType": "none",
"PartnerId": null,
"ContractType": "subscription",
"Links": {
"Offer": {
"Uri": "/v1/offers/0CCA44D6-68E9-4762-94EE-31ECE98783B9",
"Method": "GET",
"Headers": []
},
"Entitlement": {
"Uri": "/entitlements?key=<key>",
"Method": "GET",
"Headers": []
},
"Self": {
"Uri": "/subscriptions?key=<key>",
"Method": "GET",
"Headers": []
}
},
"OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
"Attributes": {
"Etag": "<etag>",
"ObjectType": "Subscription"
}
}
Yanıt örneği #2
HTTP durum 202 durum koduyla başarılı istek:
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
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"offerName": "Microsoft 365 Business Basic",
"friendlyName": "Microsoft 365 Business Basic",
"productType": {
"id": "OnlineServicesNCE",
"displayName": "OnlineServicesNCE"
},
"quantity": 1, // original value = 10
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-01-14T16:57:15.0966728Z",
"effectiveStartDate": "2021-01-14T16:57:14.498252Z",
"commitmentEndDate": "2022-01-13T00:00:00Z",
"status": "active",
"autoRenewEnabled": true,
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1Y",
"renewalTermDuration": "",
"refundOptions": [
{
"type": "Full",
"expiresAt": "2021-01-15T00:00:00Z"
}
],
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH18?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft Corporation",
"refundableQuantity": {
"totalQuantity": 1,
"details": [
{
"quantity": 1,
"allowedUntilDateTime": "2021-01-24T20:39:17.182697Z"
}
]
},
"orderId": "34b37d7340cc",
"attributes": {
"objectType": "Subscription"
}
}
Yeni ticari lisans azaltma için yanıt örneği
Not
Lisans tabanlı hizmetler için yeni ticaret deneyimleri birçok yeni özellik içerir ve tüm Bulut Çözümü Sağlayıcısı (CSP' ler) tarafından kullanılabilir. Daha fazla bilgi için bkz . Yeni ticaret deneyimlerine genel bakış.
Yeni ticaret aboneliklerinin lisans miktarlarını 7 günlük iptal penceresi dışında azaltmaya çalışırken örnek API yanıtı.
{
"code": 800090,
"description": "Subscription quantity cannot be decreased.",
"data": [],
"source": "PartnerFD"
}