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 la 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 descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali app autonome e App+Utente.
ID cliente (
customer-tenant-id
). Se non si conosce l'ID del cliente, è possibile cercarlo nel 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 l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id
).ID sottoscrizione.
Il rinnovo automatico è abilitato nella sottoscrizione.
Metodo del Centro per i partner
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 alla sottoscrizione in modo che avvenga 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 impostarlo sulla 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à per la transizione per il tipo di idoneità per la 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 | Digita | Obbligatorio | Descrizione |
---|---|---|---|
customer-tenant-id | guid | Y | GUID corrispondente al cliente. |
subscription-id | guid | Y | GUID corrispondente alla sottoscrizione. |
Intestazioni delle richieste
Per altre informazioni, vedi Intestazioni REST del Centro per i partner.
Testo della richiesta
Nel corpo della richiesta è necessaria una risorsa di sottoscrizione completa, con la scheduledNextTermInstructions
proprietà definita. Per pianificare le modifiche per la sottoscrizione, assicurarsi che la proprietà AutoRenewEnabled sia impostata su true.
Per l'ID di disponibilità alla fine della vendita con conversioni (EndofSaleWithConversions) offerte:
GetTransitionEligibility per restituire CatalogItemID.
a. 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 | Type | Obbligatorio | Descrizione |
---|---|---|---|
scheduledNextTermInstructions | object | Y | Definisce le istruzioni per il termine successivo per la sottoscrizione. La proprietà contiene l'oggetto product e il quantity campo. |
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 sottoscrizione nel corpo della risposta.
Codici di errore e di esito 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, vedi Codici di errore.
Risposta di esempio
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"},
}