Pianificare le modifiche per una nuova sottoscrizione commerciale usando le API del Centro per i partner
si applica a: Centro per i partner
Questo articolo descrive come usare l'API del Centro per i partner per pianificare le modifiche per una nuova sottoscrizione commerciale, che avviene solo al rinnovo. Questa API supporta nuove sottoscrizioni basate su licenza e software commerciali.
Nota
Le nuove esperienze commerciali per i servizi basati su licenza includono molte nuove funzionalità e sono disponibili per tutti i provider di soluzioni cloud. Per altre informazioni, vedere panoramica delle nuove esperienze commerciali.
La creazione di modifiche pianificate consente di modificare automaticamente la sottoscrizione quando si verifica il successivo rinnovo. Pianificando le modifiche, è possibile scegliere di aumentare o ridurre il numero di licenze, modificare il termine e la frequenza di fatturazione e persino scegliere di aggiornare lo SKU. La pianificazione delle modifiche consente di apportare modifiche alla sottoscrizione al rinnovo, anziché immediatamente durante il periodo corrente.
Importante
Se si apporta una modifica a medio termine (immediata) prima della data di rinnovo, vengono eliminate tutte le modifiche pianificate in precedenza pianificate durante il rinnovo.
Prerequisiti
Credenziali come descritto in autenticazione del Centro per i Partner. Questo scenario supporta l'autenticazione con le credenziali App autonome e App+Utente.
Un ID cliente (
customer-tenant-id
). Se non si conosce l'ID del cliente, è possibile cercarlo in Centro per i partner selezionando l'area di lavoro clienti, quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina Account del cliente, cercare il ID Microsoft nella sezione Informazioni sull'account cliente. L'ID Microsoft corrisponde all'ID cliente (customer-tenant-id
).ID sottoscrizione.
Il rinnovo automatico è abilitato nella sottoscrizione.
Metodo Partner Center
Per pianificare le modifiche per una sottoscrizione nel Centro per i partner:
Selezionare la sottoscrizione per cui si desidera pianificare le modifiche.
Abilitare Rinnovo automatico.
Selezionare: Gestisci rinnovo.
Apportare modifiche all'abbonamento affinché entrino in vigore al rinnovo.
Selezionare Ok per chiudere il pannello laterale.
selezionare Invia per salvare le modifiche.
Nota
I rinnovi vengono elaborati dopo il giorno finale di un periodo, a partire dalle 12:00 UTC del giorno successivo. I rinnovi vengono elaborati in una coda e possono richiedere fino a 24 ore per l'elaborazione.
C#
Per pianificare le modifiche per la sottoscrizione di un cliente:
- Ottenere la sottoscrizione in base all'ID.
- Ottenere l'idoneità per la transizione per il tipo di idoneità per la transizione pianificata.
- Creare un oggetto ScheduledNextTermInstructions e associarlo alla proprietà della sottoscrizione.
- Chiamare il metodo Patch() per aggiornare la sottoscrizione con le modifiche pianificate.
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);
Per pianificare le modifiche per la sottoscrizione di un cliente, in cui la modifica pianificata desiderata è un prodotto diverso:
- Ottenere la sottoscrizione in base all'ID.
- Ottenere l'idoneità alla transizione per il tipo di idoneità alla transizione pianificata.
- Chiamare il metodo Patch() per aggiornare la sottoscrizione con le modifiche pianificate.
Richiesta REST
Sintassi della richiesta
Metodo | URI della richiesta |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
Parametro URI
Questa tabella elenca i parametri di query necessari per chiamare l'API.
Nome | Digitare | Obbligatorio | Descrizione |
---|---|---|---|
id-tenant-cliente | guid | Y | Un GUID corrispondente a un cliente. |
id sottoscrizione | guid | Y | Un GUID corrispondente alla sottoscrizione. |
Intestazioni della richiesta
Per ulteriori informazioni, vedere intestazioni REST di Centro partner.
Corpo della richiesta
Nel corpo della richiesta è necessaria una risorsa sottoscrizione completa, con la proprietà scheduledNextTermInstructions
definita. Per pianificare le modifiche per la sottoscrizione, assicurarsi che la proprietà autoRenewEnabled sia impostata su true.
Per l'ID di disponibilità per le offerte alla fine della vendita con conversioni (EndofSaleWithConversions):
"GetTransitionEligibility" per restituire "CatalogItemID".
un. Assicurarsi di impostare il tipo di idoneità pianificato; in caso contrario, l'impostazione predefinita è immediata.
Usare CatalogItemID per estrarre quindi availabilityID.
Nota
Se si utilizza GET Availabilities per determinare la disponibilità per le istruzioni scheduledNextTerm e se tutti i termini sono dello stato EOS, si riceverà un elenco vuoto. Il modo migliore per determinare i percorsi validi consiste nel chiamare l'API GetTransitionEligibilty per restituire le opzioni valide.
Campo | Digitare | Obbligatorio | Descrizione |
---|---|---|---|
scheduledNextTermInstructions | oggetto | Y | Definisce le istruzioni per il termine successivo per la sottoscrizione. La proprietà contiene l'oggetto product e il campo quantity . |
Esempio di richiesta
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"},
}
Risposta REST
Se la richiesta ha esito positivo, questo metodo restituisce le proprietà aggiornate della risorsa di sottoscrizione nel corpo della risposta.
Codici di errore e esito positivo della risposta
Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere questo codice, il tipo di errore e altri parametri. Per l'elenco completo, vedere codici di errore .
Esempio di risposta
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"},
}