Wijzigingen plannen voor een nieuw commerce-abonnement met behulp van Partner center-API's

Van toepassing op: Partnercentrum

In dit artikel wordt beschreven hoe u partnercentrum-API kunt gebruiken om wijzigingen voor een nieuw commerce-abonnement te plannen, die alleen plaatsvinden bij verlenging.

Notitie

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

Als u geplande wijzigingen maakt, kunt u uw abonnement automatisch wijzigen wanneer de volgende verlenging plaatsvindt. Door wijzigingen te plannen, kunt u ervoor kiezen om het aantal licenties te verhogen of te verlagen, de factureringstermijn en -frequentie te wijzigen en zelfs de SKU te upgraden. Met het plannen van wijzigingen kunt u wijzigingen aanbrengen in uw abonnement bij verlenging, in plaats van onmiddellijk tijdens de huidige termijn.

Belangrijk

Als u een tussentijdse (onmiddellijke) wijziging aanbrengt vóór de verlengingsdatum, worden alle geplande wijzigingen die eerder zijn gepland bij verlenging verwijderd.

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.

  • Automatisch verlengen is ingeschakeld voor het abonnement.

Partnercentrummethode

Ga als volgende te werk om wijzigingen voor een abonnement in partnercentrum te plannen:

  1. Selecteer een klant.

  2. Selecteer het abonnement waarvoor u wijzigingen wilt plannen.

  3. Schakel Automatisch verlengen in.

  4. Selecteer Verlenging beheren.

  5. Breng wijzigingen aan in het abonnement dat moet worden uitgevoerd bij verlenging.

  6. Selecteer Ok om het zijpaneel te sluiten.

  7. selecteer Verzenden om de wijzigingen op te slaan.

Notitie

Verlengingen worden verwerkt na de laatste dag van een termijn, beginnend om 12:00 uur UTC de volgende dag. Vernieuwingen worden verwerkt in een wachtrij en het kan tot 24 uur duren voordat ze worden verwerkt.

C#

Wijzigingen plannen voor het abonnement van een klant:

  1. Haal het abonnement op id op.

  2. Maak een ScheduledNextTermInstructions-object en stel het in op de eigenschap van het abonnement.

  3. Roep de Patch() -methode aan om het abonnement bij te werken met de geplande wijzigingen.

var selectedSubscription = subscriptionOperations.Get();
selectedSubscription.ScheduledNextTermInstructions = new ScheduledNextTermInstructions
{
    Product = new ProductTerm
    {
        ProductId = changeToProductId,
        SkuId = changeToSkuId,
        AvailabilityId = changeToAvailabilityId,
        BillingCycle = changeToBillingCycle,
        TermDuration = changeToTermDuration,
    },
    Quantity = changeToQuantity,
    customTermEndDate = DateTime,
};
var updatedSubscription = subscriptionOperations.Patch(selectedSubscription);

REST-aanvraag

Aanvraagsyntaxis

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

URI-parameter

Deze tabel bevat de vereiste queryparameters voor het aanroepen van de API.

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

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

Een volledige abonnementsresource is vereist in de aanvraagbody, waarbij de scheduledNextTermInstructions eigenschap is gedefinieerd. Als u wijzigingen voor uw abonnement wilt plannen, moet u ervoor zorgen dat de eigenschap AutoRenewEnabled is ingesteld op true.

Veld Type Vereist Beschrijving
scheduledNextTermInstructions Object J Hiermee definieert u de volgende termijninstructies voor het abonnement. De eigenschap bevat het product object en het quantity veld.

Aanvraagvoorbeeld

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate" : "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}

REST-antwoord

Als de aanvraag is geslaagd, retourneert deze methode de bijgewerkte resource-eigenschappen van het abonnement in de hoofdtekst van het antwoord.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat deze is geslaagd of mislukt, en andere 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: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
X-Locale: en-US

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "customTermEndDate": "2019-01-09T00:21:45.9263727",
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "active",
    "autoRenewEnabled": true,
    "scheduledNextTermInstructions": { 
      "product": { 
         "productId":  "DG7GMGF0DVSV", 
         "skuId":  "000P", 
         "availabilityId":  "DG7GMGF0F3Q9", 
         "billingCycle":  "Annual", 
         "termDuration":  "P3Y",
         "promotionId": "39NFJQT1PFPJ:000H:39NFJQT1Q5DK"
        }, 
      "quantity":  1 
      "customTermEndDate": "2019-01-09T00:21:45.9263727",
     },  // original value = null 
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}