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. Deze API biedt ondersteuning voor nieuwe commerciële abonnementen op basis van licenties en softwareabonnementen.
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:
Selecteer het abonnement waarvoor u wijzigingen wilt plannen.
Schakel Automatisch verlengen in.
Selecteer Verlenging beheren.
Breng wijzigingen aan in het abonnement dat moet worden uitgevoerd bij verlenging.
Selecteer Ok om het zijpaneel te sluiten.
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:
- Haal het abonnement op id op.
- Vraag geschiktheid voor de overgang op voor het type geplande overgangs geschiktheid .
- Maak een ScheduledNextTermInstructions-object en stel het in op de eigenschap van het abonnement.
- 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);
Als u wijzigingen wilt plannen voor het abonnement van een klant, waarbij de gewenste geplande wijziging is ingesteld op een ander product:
- Haal het abonnement op id op.
- Vraag geschiktheid voor de overgang op voor het type geplande overgangs geschiktheid .
- Roep de Patch() -methode aan om het abonnement bij te werken met de geplande wijzigingen.
REST-aanvraag
Aanvraagsyntaxis
Wijze | Aanvraag-URI |
---|---|
LAP | {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.
Voor beschikbaarheids-id aan het einde van de verkoop met conversies (EndofSaleWithConversions) aanbiedingen:
GetTransitionEligibility om CatalogItemID te retourneren.
a. Zorg ervoor dat u het type Geplande geschiktheid instelt, anders is de standaardwaarde onmiddellijk.
Gebruik CatalogItemID om vervolgens availabilityID te extraheren.
Notitie
Als u GET-beschikbaarheid gebruikt om de beschikbaarheid voor de scheduledNextTerm Instructions te bepalen en als alle voorwaarden de STATUS VAN DE EOS hebben, ontvangt u een lege lijst. De beste manier om geldige paden te bepalen, is door de GetTransitionEligibilty-API aan te roepen om de geldige opties te retourneren.
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: aaaa0000-bb11-2222-33cc-444444dddddd
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: aaaa0000-bb11-2222-33cc-444444dddddd
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"},
}