Aracılığıyla paylaş


İş Ortağı Merkezi API'lerini kullanarak yeni bir ticaret aboneliği için değişiklik zamanlama

Şunun için geçerlidir: İş Ortağı Merkezi

Bu makalede, iş ortağı merkezi API'sini kullanarak yalnızca yenilemede gerçekleşen yeni bir ticaret aboneliği için değişiklikleri nasıl zamanlayabileceğiniz açıklanmaktadır. Bu API, yeni ticari lisanslı ve yazılım aboneliklerini destekler.

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ış.

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ı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.

  • Abonelikte otomatik yenileme etkinleştirilir.

İş Ortağı Merkezi yöntemi

İş Ortağı Merkezi'nde abonelik değişikliklerini zamanlamak için:

  1. Bir müşteri seçin.

  2. Değişiklik zamanlamak istediğiniz aboneliği seçin.

  3. Otomatik yenilemeyi etkinleştirin.

  4. Yenilemeyi yönet'i seçin.

  5. Yenileme işleminin gerçekleşmesi için abonelikte değişiklikler yapın.

  6. Yan paneli kapatmak için Tamam'ı seçin.

  7. 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:

  1. Kimliğine göre aboneliği alın.
  2. Zamanlanmış geçiş uygunluğu türü için geçiş uygunluğu elde edin.
  3. ScheduledNextTermInstructions nesnesi oluşturun ve bunu aboneliğin özelliğine ayarlayın.
  4. 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şikliğin farklı bir üründe olduğu değişiklikleri zamanlamak için:

  1. Kimliğine göre aboneliği alın.
  2. Zamanlanmış geçiş uygunluğu türü için geçiş uygunluğu elde edin.
  3. Aboneliği zamanlanmış değişikliklerle güncelleştirmek için Patch() yöntemini çağırın.

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 API'yi çağırmak için gerekli sorgu parametreleri 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övdesindescheduledNextTermInstructions, ö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:

  1. CatalogItemID döndürmek için GetTransitionEligibility.

    a. Zamanlanan uygunluk türünü ayarladığınızdan emin olun, aksi takdirde varsayılan hemen olur.

  2. 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 Type Zorunlu Açıklama
scheduledNextTermInstructions object Y Abonelik için sonraki terim yönergelerini tanımlar. özelliği nesnesini ve quantity alanını içerirproduct.

İ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övdesinde güncelleştirilmiş Abonelik kaynağı ö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"},
}