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.

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:

  1. Selezionare un cliente.

  2. Selezionare la sottoscrizione per cui si desidera pianificare le modifiche.

  3. Abilitare Rinnovo automatico.

  4. Selezionare Gestisci rinnovo.

  5. Apportare modifiche alla sottoscrizione in modo che avvenga al rinnovo.

  6. Selezionare Ok per chiudere il pannello laterale.

  7. 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:

  1. Ottenere la sottoscrizione in base all'ID.

  2. Creare un oggetto ScheduledNextTermInstructions e impostarlo sulla proprietà della sottoscrizione.

  3. 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);

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.

Corpo 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.

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: 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"},
}

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: 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"},
}