Share via


Yeni ticaret aboneliğine geçiş

Şunun için geçerlidir: İş Ortağı Merkezi | 21Vianet tarafından işletilen İş Ortağı Merkezi | ABD Kamu için Microsoft Bulut İş Ortağı Merkezi

Uygun roller

  • Genel yöneticisi
  • Yönetici aracısı

Bu yöntemler hem geleneksel hem de yeni ticaret kaynağı 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ış.

Müşterinin yeni ticaret aboneliğini hedef aboneliğe yükseltmek veya NCE deneme sürümünü ücretli aboneliğe dönüştürmek için kullanılır. Aboneliğin geçiş yapabilmesi için iki API isteğinde bulunulması gerekir. Yükseltme için kullanılabilir SKU'ları almak için ilk GET uygun geçişleri . Ardından GEÇIŞI yürütmek için POST geçişi.

Geçiş uygunluklarını alma

Belirli bir müşteri, abonelik ve istenen tür için uygun geçişlerin listesini döndürür. Ayrıca hedef abonelik yükseltme uygunluğunu döndürür. Geçiş uygunluğu, EndofSaleWithConversions durumundaki teklifleri içerebilir.

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

  • İlk abonelik için abonelik kimliği.

GDAP rolleri

Aşağıdaki GDAP rollerinden en az birine ihtiyacınız vardır:

  • Dizin Okuyucusu
  • Genel Okuyucu

Not

Bu API eski ve NCE için kullanılabilir olsa da, GDAP yalnızca eski için gereklidir.

REST isteği

İstek söz dizimi

Metot İstek URI'si
GET {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1

URI parametresi

Uygun geçişleri döndürmek için aşağıdaki sorgu parametrelerini kullanın.

Adı Tür Zorunlu Açıklama
customer-tenant-id Guıd Y Müşterinin kiracısına karşılık gelen GUID.
subscription-id Guıd Y İlk aboneliğe karşılık gelen GUID.
eligibilityType string N Geçişin ne zaman yürütülecek olduğunu açıklar; hemen veya zamanlanmış olabilir. Varsayılan Immediate değeridir.

İstek üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

Hiçbiri

İstek örneği

GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType=immediate HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US

REST yanıtı

Başarılı olursa, bu yöntem yanıt gövdesinde verilen abonelik için uygun geçişlerin listesini 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 daha fazla hata ayıklama bilgisi ile 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ı.

Uygunluk hataları

Hata açıklamaları ve anlamı.

Hata açıklaması Anlamı
Abonelik geçirilemiyor- kaynak abonelik etkin değil. Özgün alt durum Etkin değil
Abonelik geçirilemiyor- kaynak abonelik henüz sağlanmadı. Özgün alt FulfillmentState başarılı değil
Geçiş türü uyumlu değil - AzureAD abonelik eşlemesi gereklidir. GetSubscriptionUpgradeConflicts çağrılırken LegacyCannotConvertSubscriptionId hatası
Geçiş türü uyumlu değil; lisans aktarımı için çakışan abonelikler var. Herhangi bir Microsoft Entra hizmetinin farklı bir abonelikten abonelik kimlikleri varsa, bunu çakışma listesine ekleyin (eski veya modern satın alma akışıyla yapılan satın almaları içerir)

Abonelik uygunluğu hataları

Bir hedef abonelik yükseltilmeye uygun değilse aşağıdaki nedenlerden biri döndürülür.

Kaynak abonelik deneme sürümüyse veya eligibilityType Zamanlanmış olarak belirtilmişse boş listeler döndürülür. Zamanlanmış bir değişiklikle değil, yalnızca anlık ("ara sınav" olarak da bilinir) geçişle var olan bir aboneliğe geçiş yapabilirsiniz.

Hata açıklaması Hata kodu
Abonelik etkin değil. SubscriptionNotActive = 1
Abonelik iptal penceresindedir. SubscriptionInCancellationWindow = 2
Abonelik dönemi süresi, kaynak aboneliğin terim süresinden daha kısadır. SubscriptionTermDurationShorterThanSourceTermDuration = 3
Abonelik dönemi bitiş tarihi, kaynak aboneliğin terim bitiş tarihinden öncedir. Abonelik dönemi bitiş tarihi, kaynak aboneliğin terim bitiş tarihinden öncedir. = 4

Yanıt örneği

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

{
  "totalCount": 2,
  "items": [
    {
      "operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
      "catalogItemId": "CFQ7TTC0KZCR:0001:CFQ7TTC0K71H",
      "title": "Microsoft 365 E5 Test Sku Title",
      "description": "Microsoft 365 E5 Test Sku Description",
      "quantity": 1,
      "subscriptionEligibilities": [
        {
          "isEligible": false,
          "subscriptionId": "92301b7d-7598-4938-d6f2-d31e080e9da6",
          "subscriptionFriendlyName": "Microsoft 365 Business Premium",
          "subscriptionTermDuration": "P1M",
          "subscriptionBillingCycle": "monthly",
          "errors": [
            {
              "code": 3,
              "description": "The subscription's term duration is shorter than the source subscription's term duration."
            }
          ]
        },
        {
          "isEligible": true,
          "subscriptionId": "151467a1-4246-4a00-da7b-3405463d9b78",
          "subscriptionFriendlyName": "Microsoft 365 Business Premium",
          "subscriptionTermDuration": "P1Y",
          "subscriptionBillingCycle": "monthly",
          "errors": []
        }
      ],
      "eligibilities": [
        {
          "isEligible": true,
          "transitionType": "transition_only",
          "errors": []
        },
        {
          "isEligible": false,
          "transitionType": "transition_with_license_transfer",
          "errors": [
            {
              "code": 3,
              "description": "Subscription cannot be transitioned because there are conflicting services."
            }
          ]
        }
      ],
      "attributes": {
        "objectType": "TransitionEligibility"
      }
    },
    {
      "operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
      "catalogItemId": "CFQ7TTC0L4M3:0001:CFQ7TTC0K78T",
      "title": "Business Premium Test Sku Title",
      "description": "Business Premium Test Sku Description",
      "quantity": 1,
      "eligibilities": [
        {
          "isEligible": false,
          "transitionType": "transition_with_license_transfer",
          "errors": [
            {
              "code": 3,
              "description": "Subscription cannot be transitioned because there are conflicting services."
            }
          ]
        }
      ],
      "attributes": {
        "objectType": "TransitionEligibility"
      }
    }
  ],
  "attributes": {
    "objectType": "Collection"
  }
}

Geçiş Sonrası

Belirli bir müşteri ve abonelik için geçiş isteği gönderin. Geçişi ilk durumuyla döndürür.

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

  • İlk abonelik için abonelik kimliği.

GDAP rolleri

Aşağıdaki GDAP rollerinden en az birine ihtiyacınız vardır:

  • Dizin Okuyucusu veya Genel okuyucu (yalnızca geçiş)
  • Dizin Yazıcı (lisans aktarımı ile geçiş)

Not

Bu API eski ve NCE için kullanılabilir olsa da, GDAP yalnızca eski için gereklidir.

REST isteği

İstek söz dizimi

Metot İstek URI'si
POST {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1

URI parametresi

Geçişi yürütmek için aşağıdaki sorgu parametrelerini kullanın.

Adı Tür Zorunlu Açıklama
customer-tenant-id Guıd Y Müşterinin kiracısına karşılık gelen GUID.
subscription-id Guıd Y İlk aboneliğe karşılık gelen GUID.

İstek üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

Bu tabloda, istek gövdesindeki Geçiş özellikleri açıklanmaktadır.

Özellik Type Zorunlu Açıklama
fromCatalogItemId Dize Hayır Geçiş yaptığınız katalog öğesi.
fromSubscriptionId Dize Hayır Geçiş yaptığınız abonelik kimliği.
toCatalogItemId string Yes Geçiş yaptığınız katalog öğesi.
toSubscriptionId Dize Hayır Geçiş yaptığınız abonelik kimliği.
quantity integer Yes Geçiş için lisans sayısı.
termDuration Dize Hayır Aboneliğin terim süresini belirtme.
billingCycle Dize Hayır Aboneliğin faturalama döngüsünü belirtme.
transitionType string Yes Geçiş türü. Olası değerler - transition_only, transition_with_license_transfer.

İstek örneği

POST https://api.partnercenter.microsoft.com/v1/customers/{customerId}/subscriptions/{subscriptionId}/transitions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US

{
    "fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
    "fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
    "toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
    "toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
    "quantity": 2,
    "termDuration": "P1M",
    "billingCycle": "Monthly",
    "transitionType": "transition_only"
}

REST yanıtı

Başarılı olursa, bu yöntem ilk durumuyla bir Geçiş kaynağı 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 daha fazla hata ayıklama bilgisi ile 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: 138
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

{
    "fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
    "fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
    "toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
    "toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
    "quantity": 2,
    "termDuration": "P1M",
    "billingCycle": "Monthly",
    "transitionType": "transition_only"
    "Events": [
        {
            "name": "Conversion",
            "status": "Started ",
            "timestamp": "2021-01-08T18:01:14.7488618Z",
            "attributes":
            {
                "objectType": "TransitionEvent"
            }
        }
    ],
    "attributes":
    {
        "objectType": "Transition" 
    }
}