Share via


Een proefabonnement converteren naar betaald met partnercentrum-API's

Notitie

Deze stappen zijn niet van toepassing op New Commerce-producten. Raadpleeg de documentatie over overgang van een nieuw commerce-abonnement voor het converteren van Nieuwe commerce-proefversies naar betaalde abonnementen

U kunt een proefabonnement converteren naar betaald.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario biedt alleen ondersteuning voor verificatie met app+gebruikersreferenties.

  • Een klant-id (customer-tenant-id). Als u de klant-id niet weet, kunt u deze opzoeken in het Partnercentrum door de werkruimte Klanten te selecteren, vervolgens de klant in de lijst met klanten en vervolgens Account. Zoek op de pagina Account van de klant naar de Microsoft-id in de sectie Klantaccountgegevens . De Microsoft-id is hetzelfde als de klant-id (customer-tenant-id).

  • Een abonnements-id voor een actief proefabonnement.

  • Een beschikbare conversieaanbieding.

Een proefabonnement converteren naar een betaald abonnement via code

Als u een proefabonnement wilt converteren naar een betaald abonnement, moet u eerst een verzameling van de beschikbare proefconversies verkrijgen. Vervolgens moet u de conversieaanbieding kiezen die u wilt kopen.

Met de conversieaanbiedingen wordt een hoeveelheid opgegeven die standaard hetzelfde aantal licenties heeft als het proefabonnement. U kunt deze hoeveelheid wijzigen door de eigenschap Hoeveelheid in te stellen op het aantal licenties dat u wilt kopen.

Notitie

Ongeacht het aantal aangeschafte licenties, wordt de abonnements-id van de proefversie opnieuw gebruikt voor de aangeschafte licenties. Als gevolg hiervan verdwijnt het proefabonnement en wordt deze vervangen door de aankoop.

Gebruik de volgende stappen om een proefabonnement te converteren via code:

  1. Haal een interface op voor de abonnementsbewerkingen die beschikbaar zijn. U moet de klant identificeren en de abonnements-id van het proefabonnement opgeven.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. Haal een verzameling van de beschikbare conversieaanbiedingen op. Zie Een lijst met aanbiedingen voor proefconversie ophalen voor meer informatie en details over de aanvraag/reactie voor deze methode.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. Kies een conversieaanbieding. De volgende code kiest de eerste conversieaanbieding in de verzameling.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. Geef desgewenst het aantal licenties op dat moet worden gekocht. De standaardwaarde is het aantal licenties in het proefabonnement.

    selectedConversion.Quantity = 10;
    
  5. Roep de methode Create of CreateAsync aan om het proefabonnement te converteren naar betaald.

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

C#

Een proefabonnement converteren naar een betaald abonnement:

  1. Gebruik de methode IAggregatePartner.Customers.ById met de klant-id om de klant te identificeren.

  2. Haal een interface op voor abonnementsbewerkingen door de methode Subscriptions.ById aan te roepen met de id van het proefabonnement. Sla een verwijzing op naar de interface voor abonnementsbewerkingen in een lokale variabele.

  3. Gebruik de eigenschap Conversies om een interface te verkrijgen voor de beschikbare bewerkingen voor conversies en roep vervolgens de methode Get of GetAsync aan om een verzameling beschikbare conversieaanbiedingen op te halen. U moet er een kiezen. In het volgende voorbeeld wordt standaard de eerste beschikbare conversie gebruikt.

  4. Gebruik de verwijzing naar de interface voor abonnementsbewerkingen die u hebt opgeslagen in een lokale variabele en de eigenschap Conversies om een interface te verkrijgen voor de beschikbare bewerkingen voor conversies.

  5. Geef het geselecteerde conversieaanbiedingsobject door aan de methode Create of CreateAsync om de conversie van de proefversie uit te voeren.

C#-voorbeeld

// 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-aanvraag

Aanvraagsyntaxis

Wijze Aanvraag-URI
POST {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1

URI-parameter

Gebruik de volgende padparameters om het klant- en proefabonnement te identificeren.

Naam Type Vereist Beschrijving
klant-id tekenreeks Ja Een tekenreeks met GUID-indeling die de klant identificeert.
subscription-id tekenreeks Ja Een tekenreeks met GUID-indeling waarmee het proefabonnement wordt geïdentificeerd.

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

Een gevulde conversieresource moet worden opgenomen in de aanvraagbody.

Aanvraagvoorbeeld

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

REST-antwoord

Als dit lukt, bevat de hoofdtekst van het antwoord een ConversionResult-resource .

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie foutcodes in Partnercentrum voor de volledige lijst.

Responsvoorbeeld

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