Aracılığıyla paylaş


İş Ortağı Merkezi API'lerini kullanarak deneme aboneliğini ücretliye dönüştürme

Dekont

Bu adımlar Yeni Ticaret Ürünleri için geçerli değildir. Yeni Ticaret denemelerini ücretli aboneliklere dönüştürmek için Yeni bir ticaret aboneliği geçirme belgelerine bakın

Deneme aboneliğini ücretliye dönüştürebilirsiniz.

Ön koşullar

  • İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo yalnızca App+User 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.

  • Etkin bir deneme aboneliği için abonelik kimliği.

  • Kullanılabilir bir dönüştürme teklifi.

Deneme aboneliğini kod aracılığıyla ücretli aboneliğe dönüştürme

Deneme aboneliğini ücretli aboneliğe dönüştürmek için önce kullanılabilir deneme dönüştürmeleri koleksiyonunu edinmeniz gerekir. Ardından, satın almak istediğiniz dönüştürme teklifini seçmeniz gerekir.

Dönüştürme teklifleri, varsayılan olarak deneme aboneliğiyle aynı sayıda lisansa sahip bir miktar belirtir. Quantity özelliğini satın almak istediğiniz lisans sayısına ayarlayarak bu miktarı değiştirebilirsiniz.

Dekont

Satın alınan lisans sayısından bağımsız olarak, satın alınan lisanslar için deneme sürümünün abonelik kimliği yeniden kullanılır. Sonuç olarak, geçerli olan deneme sürümü kaybolur ve satın alma işlemiyle değiştirilir.

Deneme aboneliğini kod aracılığıyla dönüştürmek için aşağıdaki adımları kullanın:

  1. Kullanılabilir abonelik işlemleri için bir arabirim alın. Müşteriyi tanımlamanız ve deneme aboneliğinin abonelik tanımlayıcısını belirtmeniz gerekir.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. Kullanılabilir dönüştürme tekliflerinden oluşan bir koleksiyon alın. Bu yöntemin isteği/yanıtı hakkında daha fazla bilgi ve ayrıntılar için bkz . Deneme dönüştürme tekliflerinin listesini alma.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. Bir dönüştürme teklifi seçin. Aşağıdaki kod koleksiyondaki ilk dönüştürme teklifini seçer.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. İsteğe bağlı olarak, satın alınacak lisans sayısını belirtin. Varsayılan değer, deneme aboneliğindeki lisans sayısıdır.

    selectedConversion.Quantity = 10;
    
  5. Deneme aboneliğini ücretliye dönüştürmek için Create veya CreateAsync yöntemini çağırın.

    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
    

C#

Deneme aboneliğini ücretli aboneliğe dönüştürmek için:

  1. Müşteriyi tanımlamak için müşteri kimliğiyle IAggregatePartner.Customers.ById yöntemini kullanın.

  2. Deneme aboneliği kimliğiyle Subscriptions.ById yöntemini çağırarak abonelik işlemlerine yönelik bir arabirim alın. Abonelik işlemleri arabirimine bir başvuruyu yerel değişkene kaydedin.

  3. Dönüştürmeler özelliğini kullanarak dönüştürmelerdeki kullanılabilir işlemlere yönelik bir arabirim elde edin ve ardından kullanılabilir Dönüştürme tekliflerinden oluşan bir koleksiyonu almak için Get veya GetAsync yöntemini çağırın. Birini seçmelisiniz. Aşağıdaki örnek varsayılan olarak kullanılabilir ilk dönüştürmeyi kullanır.

  4. Yerel değişkene kaydettiğiniz abonelik işlemleri arabirimine ve Dönüştürmeler özelliğine yönelik başvuruyu kullanarak dönüştürmelerdeki kullanılabilir işlemlere yönelik bir arabirim elde edin.

  5. Deneme dönüştürmeyi deneme amacıyla seçilen dönüştürme teklifi nesnesini Create veya CreateAsync yöntemine geçirin.

C# örneği

// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;

// Get subscription operations for the trial subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);

// Get the available conversions.
var conversions = subscriptionOperations.Conversions.Get();

// If there are no conversions available, we're done.
// Otherwise, convert the trial to the first available conversion offer.
if (conversions.TotalCount <= 0)
{
    System.Console.WriteLine("This subscription has no conversions");
}
else
{
    // Default to the first conversion.
    var selectedConversion = conversions.Items.ToList()[0];

    // Convert the trial and return the result.
    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
}

REST isteği

İstek söz dizimi

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

URI parametresi

Müşteriyi ve deneme aboneliğini tanımlamak için aşağıdaki yol parametrelerini kullanın.

Ad Türü Gerekli Tanım
customer-id Dize Evet Müşteriyi tanımlayan GUID biçimli bir dize.
subscription-id Dize Evet Deneme aboneliğini tanımlayan GUID biçimli bir dize.

İstek üst bilgileri

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

Request body

Doldurulan dönüştürme kaynağı istek gövdesine eklenmelidir.

İstek örneği

POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 234
Expect: 100-continue

{
    "OfferId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "TargetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "OrderId": "D51A052E-043C-4A2A-AA37-2BB938CEF6C1",
    "Quantity": 25,
    "BillingCycle": "monthly",
    "Attributes": {
        "ObjectType": "Conversion"
    }
}

REST yanıtı

Başarılı olursa, yanıt gövdesi bir ConversionResult kaynağı içerir.

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 ek hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz . İş Ortağı Merkezi hata kodları.

Yanıt örneği

HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT

 {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "attributes": {
        "objectType": "ConversionResult"
    }
}