Udostępnij za pośrednictwem


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

Notatka

Te kroki nie mają zastosowania w przypadku nowych produktów handlowych. Zapoznaj się z dokumentacją Transition a new commerce subscription (Przejście nowej subskrypcji handlowej), aby przekonwertować wersje próbne nowego handlu na płatne subskrypcje

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

Warunki wstępne

  • Poświadczenia, jak opisano w sekcji uwierzytelnianie Partner Center. 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 klient z listy klientów, a następnie konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji informacje o koncie klienta . Identyfikator Firmy Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id).

  • Identyfikator 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. Tę ilość można zmienić, ustawiając właściwość Quantity na liczbę licencji, które chcesz kupić.

Notatka

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 dane na temat żądania/odpowiedzi dla tej metody, zobacz Zobacz listę 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 z identyfikatorem subskrypcji wersji próbnej. Zapisz odwołanie do interfejsu operacji subskrypcji w zmiennej lokalnej.

  3. Użyj właściwości Conversions, 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 wybiera pierwszą dostępną konwersję.

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

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

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ć klienta i subskrypcję próbną.

Nazwa Typ Wymagane Opis
identyfikator klienta struna Tak Sformatowany ciąg GUID, który identyfikuje klienta.
identyfikator subskrypcji struna Tak Ciąg sformatowany jako GUID, który identyfikuje subskrypcję wersji próbnej.

Nagłówki żądań

Aby uzyskać więcej informacji, zapoznaj się z nagłówkami REST Centrum Partnerskiego.

Treść żądania

W treści żądania musi zostać uwzględniony wypełniony zasób Konwersji .

Przykład żądania

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"
    }
}

Odpowiedź REST

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

Kody powodzenia i błędu 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: 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"
    }
}