Delen via


Overgang naar een nieuw commerce-abonnement

Van toepassing op: Partnercentrum | Partnercentrum beheerd door 21Vianet | Partnercentrum voor Microsoft Cloud voor de Amerikaanse overheid

Juiste rollen

  • Beheerderagent

Deze methoden ondersteunen zowel traditionele als nieuwe commerce-bronabonnementen.

Notitie

De nieuwe commerce-ervaringen voor services op basis van licenties bevatten veel nieuwe mogelijkheden en zijn beschikbaar voor alle CSP's (Cloud Solution Provider). Zie het overzicht van nieuwe commerce-ervaringen voor meer informatie.

Wordt gebruikt om het nieuwe commerce-abonnement van een klant te upgraden naar een doelabonnement of om een NCE-proefversie te converteren naar een betaald abonnement. Als u een abonnement wilt overstappen, moeten er twee API-aanvragen worden gedaan. Eerste GET-in aanmerking komende overgangen om de SKU's beschikbaar te maken voor een upgrade. Vervolgens post-overgang om de overgang uit te voeren.

Overgangsproblemen ophalen

Retourneert een lijst met in aanmerking komende overgangen voor een bepaalde klant, abonnement en aangevraagd type. Retourneert ook geschiktheid voor de upgrade van het doelabonnement. Overgangsproblemen kunnen aanbiedingen bevatten die de status EndofSaleWithConversions hebben.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als 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 het eerste abonnement.

GDAP-rollen

U hebt ten minste een van de volgende GDAP-rollen nodig:

  • Maplezer
  • Algemene lezer

Notitie

Hoewel deze API beschikbaar is voor verouderd en NCE, is GDAP alleen vereist voor verouderde versies.

REST-aanvraag

Aanvraagsyntaxis

Wijze Aanvraag-URI
GET {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1

URI-parameter

Gebruik de volgende queryparameters om in aanmerking komende overgangen te retourneren.

Name Type Vereist Beschrijving
klant-tenant-id Guid J Een GUID die overeenkomt met de tenant van de klant.
subscription-id Guid J Een GUID die overeenkomt met het eerste abonnement.
eligibilityType snaar N Beschrijft wanneer de overgang moet worden uitgevoerd; kan direct of gepland worden. Standaard is Immediate.

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

Geen

Aanvraagvoorbeeld

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: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

REST-antwoord

Als dit lukt, retourneert deze methode een lijst met de in aanmerking komende overgangen voor het opgegeven abonnement in de hoofdtekst van het antwoord.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat het succes of de fout optreedt en meer informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en andere parameters te lezen. Zie Foutcodes voor de volledige lijst.

Geschiktheidsfouten

Foutbeschrijvingen en betekenis.

Foutbeschrijving Betekenis
Abonnement kan niet worden overgezet. Het bronabonnement is niet actief. Oorspronkelijke substatus niet actief
Abonnement kan niet worden overgezet. Het bronabonnement is nog niet ingericht. Oorspronkelijke sub FulfillmentState is niet geslaagd
Overgangstype is niet compatibel. Toewijzing van AzureAD-abonnementen is vereist. LegacyCannotConvertSubscriptionId-fout bij het aanroepen van GetSubscriptionUpgradeConflicts
Overgangstype is niet compatibel: conflicterende abonnementen voor licentieoverdracht bestaan. Als een Microsoft Entra-service abonnements-id's van een ander abonnement heeft, voegt u deze toe aan de lijst met conflicten (inclusief aankopen die zijn gedaan met een verouderde of moderne aankoopstroom)

Fouten in geschiktheid voor abonnementen

Als een doelabonnement niet in aanmerking komt om te worden geüpgraded naar, wordt een van de volgende redenen geretourneerd.

Lege lijsten worden geretourneerd als het bronabonnement een proefversie is of als het geschiktheidstype is opgegeven als Gepland. U kunt alleen overstappen naar een bestaand abonnement met een directe (ook wel 'midterm'-overgang genoemd), niet een geplande wijziging.

Foutbeschrijving Foutcode
Abonnement is niet actief. SubscriptionNotActive = 1
Abonnement bevindt zich in het annuleringsvenster. SubscriptionInCancellationWindow = 2
De duur van de abonnementsperiode is korter dan de duur van het bronabonnement. SubscriptionTermDurationShorterThanSourceTermDuration = 3
De einddatum van de abonnementsperiode valt vóór de einddatum van de term van het bronabonnement. De einddatum van de abonnementsperiode valt vóór de einddatum van de term van het bronabonnement. = 4

Responsvoorbeeld

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
          "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": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
          "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"
  }
}

Na de overgang

Plaatst een overgangsaanvraag voor een bepaalde klant en een bepaald abonnement. Retourneert de overgang met de oorspronkelijke status.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als 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 het eerste abonnement.

GDAP-rollen

U hebt ten minste een van de volgende GDAP-rollen nodig:

  • Maplezer of globale lezer (alleen overgang)
  • Directory Writer (overgang met licentieoverdracht)

Notitie

Hoewel deze API beschikbaar is voor verouderd en NCE, is GDAP alleen vereist voor verouderde versies.

REST-aanvraag

Aanvraagsyntaxis

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

URI-parameter

Gebruik de volgende queryparameters om een overgang uit te voeren.

Name Type Vereist Beschrijving
klant-tenant-id Guid J Een GUID die overeenkomt met de tenant van de klant.
subscription-id Guid J Een GUID die overeenkomt met het eerste abonnement.

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

In deze tabel worden de overgangseigenschappen in de aanvraagbody beschreven.

Eigenschap Type Vereist Beschrijving
fromCatalogItemId tekenreeks Nee Het catalogusitem waaruit u overstapt.
fromSubscriptionId tekenreeks Nee De abonnements-id van waaruit u overstapt.
toCatalogItemId tekenreeks Ja Het catalogusitem waarnaar u overstapt.
toSubscriptionId tekenreeks Nee De abonnements-id waarnaar u overstapt.
quantity geheel getal Ja Het aantal licenties dat moet worden overgedragen.
termDuration tekenreeks Nee De duur van het abonnement opgeven.
billingCycle tekenreeks Nee De factureringscyclus van het abonnement opgeven.
transitionType tekenreeks Ja Het overgangstype. Mogelijke waarden - transition_only, transition_with_license_transfer.

Aanvraagvoorbeeld

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: aaaa0000-bb11-2222-33cc-444444dddddd
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-antwoord

Als dit lukt, retourneert deze methode een overgangsresource met de oorspronkelijke status.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat het succes of de fout optreedt en meer informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en andere parameters te lezen. Zie Foutcodes voor de volledige lijst.

Responsvoorbeeld

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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" 
    }
}