Udostępnij za pośrednictwem


Konwertowanie subskrypcji próbnej na płatną przy użyciu interfejsów API Centrum partnerskiego

Uwaga

Te kroki nie mają zastosowania w przypadku nowych produktów handlowych. Zapoznaj się z dokumentacją dotyczącą przenoszenia nowej subskrypcji handlowej na potrzeby konwertowania wersji próbnych na płatne subskrypcje

Subskrypcję próbną można przekonwertować na płatną.

Wymagania wstępne

  • Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie tylko przy użyciu poświadczeń aplikacji i użytkownika.

  • Identyfikator klienta (customer-tenant-id). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Centrum partnerskim, wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id).

  • Identyfikator subskrypcji aktywnej subskrypcji próbnej.

  • Dostępna oferta konwersji.

Konwertowanie subskrypcji próbnej na płatną subskrypcję za pomocą kodu

Aby przekonwertować subskrypcję próbną na płatną, musisz najpierw uzyskać kolekcję dostępnych konwersji wersji próbnej. Następnie musisz wybrać ofertę konwersji, którą chcesz kupić.

Oferty konwersji określą ilość, która domyślnie będzie mieć taką samą liczbę licencji, jak subskrypcja próbna. Możesz zmienić tę ilość, ustawiając właściwość Quantity na liczbę licencji, które chcesz kupić.

Uwaga

Niezależnie od liczby zakupionych licencji identyfikator subskrypcji wersji próbnej jest ponownie używany dla zakupionych licencji. W rezultacie okres próbny znika i zostaje zastąpiony zakupem.

Wykonaj następujące kroki, aby przekonwertować subskrypcję wersji próbnej za pomocą kodu:

  1. Pobierz interfejs do dostępnych operacji subskrypcji. Musisz zidentyfikować klienta i określić identyfikator subskrypcji wersji próbnej.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. Pobierz kolekcję dostępnych ofert konwersji. Aby uzyskać więcej informacji i szczegółowe informacje na temat żądania/odpowiedzi dla tej metody, zobacz Pobieranie listy ofert konwersji wersji próbnej.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. Wybierz ofertę konwersji. Poniższy kod wybiera pierwszą ofertę konwersji w kolekcji.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. Opcjonalnie określ liczbę licencji do zakupu. Wartość domyślna to liczba licencji w subskrypcji próbnej.

    selectedConversion.Quantity = 10;
    
  5. Wywołaj metodę Create lub CreateAsync, aby przekonwertować subskrypcję wersji próbnej na płatną.

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

C#

Aby przekonwertować subskrypcję wersji próbnej na płatną:

  1. Użyj metody IAggregatePartner.Customers.ById z identyfikatorem klienta, aby zidentyfikować klienta.

  2. Pobierz interfejs do operacji subskrypcji, wywołując metodę Subscriptions.ById przy użyciu identyfikatora subskrypcji wersji próbnej. Zapisz odwołanie do interfejsu operacji subskrypcji w zmiennej lokalnej.

  3. Użyj właściwości Konwersje, aby uzyskać interfejs do dostępnych operacji konwersji, a następnie wywołaj metodę Get lub GetAsync, aby pobrać kolekcję dostępnych ofert konwersji. Musisz wybrać jeden. Poniższy przykład domyślnie do pierwszej dostępnej konwersji.

  4. Użyj odwołania do interfejsu operacji subskrypcji zapisanego w zmiennej lokalnej i właściwości Konwersje , aby uzyskać interfejs do dostępnych operacji konwersji.

  5. Przekaż wybrany obiekt oferty konwersji do metody Create lub CreateAsync , aby spróbować przeprowadzić konwersję wersji próbnej.

Przykład w języku C#

// 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);
}

Żądanie REST

Składnia żądania

Metoda Identyfikator URI żądania
POST {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1

Parametr identyfikatora URI

Użyj następujących parametrów ścieżki, aby zidentyfikować subskrypcję klienta i wersji próbnej.

Imię i nazwisko/nazwa Type Wymagana opis
identyfikator klienta string Tak Identyfikator GUID sformatowany ciąg identyfikujący klienta.
subscription-id string Tak Identyfikator GUID sformatowany ciąg identyfikujący subskrypcję wersji próbnej.

Nagłówki żądań

Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.

Treść żądania

Wypełniony zasób konwersji musi być uwzględniony w treści żądania.

Przykład żądania

POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/488745B5-2086-4912-802C-6ABB9F7C3638/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: 8daa6d54-72ab-4d6b-9c7d-9266d3734a47
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"
    }
}

Odpowiedź REST

W przypadku powodzenia treść odpowiedzi zawiera zasób ConversionResult .

Kody powodzenia i błędów odpowiedzi

Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów Centrum partnerskiego.

Przykład odpowiedzi

HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 8daa6d54-72ab-4d6b-9c7d-9266d3734a47
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT

 {
    "subscriptionId": "488745B5-2086-4912-802C-6ABB9F7C3638",
    "offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "attributes": {
        "objectType": "ConversionResult"
    }
}