Partner Center API'lerini kullanarak yeni bir ticaret aboneliği için değişiklikleri programlama.
için geçerlidir: İş Ortağı Merkezi
Bu makalede, yeni bir ticaretaboneliğinde yalnızca yenilemede gerçekleşen değişiklikleri zamanlamak için İş Ortağı Merkezi API'sini nasıl kullanabileceğiniz açıklanmaktadır. Bu API, yeni ticari lisanslı ve yazılım aboneliklerini destekler.
Not
Lisans tabanlı hizmetlere yönelik 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ış.
Zamanlanmış değişiklikler oluşturmak, bir sonraki yenileme gerçekleştiğinde aboneliğinizi otomatik olarak değiştirmenize olanak tanır. Değişiklikleri zamanlayarak lisans sayısını artırmayı veya azaltmayı, faturalama süresini ve sıklığını değiştirmeyi ve hatta SKU'yu yükseltmeyi seçebilirsiniz. Değişiklikleri zamanlamak, geçerli dönem boyunca hemen yerine yenileme sırasında aboneliğinizde değişiklik yapmanıza olanak tanır.
Önemli
Yenileme tarihinizden önce orta vadeli (anında) bir değişiklik yaparsanız, daha önce yenileme sırasında gerçekleşmesi planlanan tüm zamanlanmış değişiklikler silinir.
Önkoşullar
İş Ortağı Merkezi kimlik doğrulaması'nde açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.
Bir müşteri kimliği (
customer-tenant-id
). Müşterinin kimliğini bilmiyorsanız, İş Ortağı Merkezi içinde Müşteriler çalışma alanını seçip müşteri listesinden ilgili müşteriyi ve ardından Hesap'ı seçerek kimliğini bulabilirsiniz. Müşterinin Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde Microsoft Kimliği için göz atın. Microsoft kimliği, müşteri kimliğiyle (customer-tenant-id
) aynıdır.Abonelik kimliği.
Abonelikte otomatik yenileme etkinleştirilir.
İş Ortağı Merkezi yöntemi
İş Ortağı Merkezi'nde abonelik değişikliklerini zamanlamak için:
Değişiklik zamanlamak istediğiniz aboneliği seçin.
Otomatik yenilemeyi etkinleştirin.
seçin yenilemeyi yönet.
Yenileme işleminin gerçekleşmesi için abonelikte değişiklikler yapın.
Yan paneli kapatmak için Tamam'ı seçin.
Değişiklikleri kaydetmek için gönder'i seçin.
Not
Yenilemeler, bir dönemin son gününden sonra, ertesi gün saat 12:00 UTC'den başlayarak işlenir. Yenilemeler bir kuyrukta işlenir ve işlenmesi 24 saate kadar sürebilir.
C#
Müşterinin aboneliğinde değişiklik zamanlamak için:
- kimliğine göre aboneliği alın.
- Zamanlanmış geçiş uygunluğu türü için geçiş uygunluğu alın.
- bir ScheduledNextTermInstructions nesnesi oluşturun ve bunu aboneliğin özelliğine ayarlayın.
- Aboneliği zamanlanmış değişikliklerle güncelleştirmek için Patch() yöntemini çağırın.
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);
Müşterinin aboneliğinde, istenen zamanlanmış değişiklik farklı bir ürüne geçişi içeriyorsa, bu değişikliği planlamak için:
- ID'sine göre aboneliği alın.
- Planlanmış geçiş uygunluğu türü için geçiş uygunluğu elde edin.
- Aboneliği zamanlanmış değişikliklerle güncelleştirmek için Patch() yöntemini çağırın.
REST isteği
İstek söz dizimi
Yöntem | İstek URI'si |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
URI parametresi
Bu tabloda API'yi çağırmak için gerekli sorgu parametreleri listelenir.
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
customer-tenant-id | guid | Y | Müşteriye karşılık gelen GUID. |
abonelik kimliği | guid | Y | Aboneliğe karşılık gelen GUID. |
İstek üst bilgileri
Daha fazla bilgi için bkz. İş Ortağı Merkezi REST başlıkları.
İstek gövdesi
Talep gövdesinde, scheduledNextTermInstructions
özelliği tanımlanmış tam bir Abonelik kaynağı gereklidir. Aboneliğinizde değişiklikleri zamanlamak için, AutoRenewEnabled özelliğinin true olarak ayarlandığından emin olun.
Dönüşümler (EndofSaleWithConversions) teklifleriyle satış sonunda kullanılabilirlik kimliği için:
GetTransitionEligibility'nin CatalogItemID'yi döndürmesi.
a. Planlanan uygunluk türünü ayarladığınızdan emin olun, aksi takdirde varsayılan hemen etkilidir.
Ardından availabilityID'yi ayıklamak için CatalogItemID kullanın.
Not
GET Kullanılabilirliklerini kullanarak scheduledNextTerm Yönergelerinin kullanılabilirliğini belirlerseniz ve tüm terimler EOS durumuysa boş bir liste alırsınız. Geçerli yolları belirlemenin en iyi yolu, geçerli seçenekleri döndürmek için GetTransitionEligibilty API'sini çağırmaktır.
Alan | Tür | Gerekli | Açıklama |
---|---|---|---|
planlanmışSonrakiDönemTalimatları | nesne | Y | Abonelik için sonraki dönem yönergelerini tanımlar. özelliği, product nesnesini ve quantity alanını içerir. |
İstek örneği
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 yanıtı
İstek başarılı olursa, bu yöntem yanıt gövdesindeki güncelleştirilmiş Aboneliği kaynak özelliklerini 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 belirten bir HTTP durum kodu ve diğer hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve diğer parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. Hata Kodları.
Yanıt örneği
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"},
}