Condividi tramite


Modificare un ciclo di fatturazione della sottoscrizione del cliente

Si applica a: Centro per i partner | Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud per il governo degli Stati Uniti

Suggerimento

Questa API consente di modificare la frequenza di fatturazione solo per le sottoscrizioni legacy.

Per modificare la frequenza di fatturazione per le sottoscrizioni di New Commerce Experience (NCE) e le sottoscrizioni legacy, è possibile usare Aggiornare una sottoscrizione in base all'ID - Sviluppatore di app partner | API Microsoft Learn.

Aggiorna un ordine da fatturazione mensile a annuale o da fatturazione annuale a mensile.

Nel Centro per i partner questa operazione può essere eseguita passando alla pagina dei dettagli della sottoscrizione di un cliente. Al termine, verrà visualizzata un'opzione che definisce il ciclo di fatturazione corrente per la sottoscrizione con la possibilità di modificarla e inviarla.

Non rientra nell'ambito di questo articolo:

  • Modifica del ciclo di fatturazione per le versioni di valutazione
  • Modifica dei cicli di fatturazione per qualsiasi offerta non annuale (mensile, sei anni) e sottoscrizioni di Azure
  • Modifica dei cicli di fatturazione per le sottoscrizioni inattive
  • Modifica dei cicli di fatturazione per le sottoscrizioni basate su licenza di Microsoft Servizi online

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

C#

Per modificare la frequenza del ciclo di fatturazione, aggiornare la proprietà Order.BillingCycle.

// IAggregatePartner partnerOperations;
// string customerId;
// string offerId;
// string orderId;

var order = new Order()
{
    ReferenceCustomerId = customerId,
    BillingCycle = BillingCycleType.Annual,
    LineItems = new List<OrderLineItem>()
    {
        new OrderLineItem()
        {
            LineItemNumber = 0,
            OfferId = offerId,
            SubscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            Quantity = 1
        }
    }
};

var createdOrder = partnerOperations.Customers.ById(customerId).Orders.ById(orderId).Patch(order);

Richiesta REST

Sintassi della richiesta

metodo URI della richiesta
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

Parametro URI

Questa tabella elenca il parametro di query necessario per modificare la quantità della sottoscrizione.

Nome Digita Obbligatorio Descrizione
customer-tenant-id GUID Y GUID formattato customer-tenant-id che identifica il cliente
order-id GUID Y Identificatore dell'ordine

Intestazioni delle richieste

Per altre informazioni, vedi Intestazioni REST del Centro per i partner.

Testo della richiesta

Le tabelle seguenti descrivono le proprietà nel corpo della richiesta.

Ordinamento

Proprietà Type Obbligatorio Descrizione
ID string N Identificatore dell'ordine fornito al termine della creazione dell'ordine
ReferenceCustomerId string Y Identificatore del cliente
BillingCycle string Y Indica la frequenza con cui il partner viene fatturato per questo ordine. I valori supportati sono i nomi di membro presenti in BillingCycleType.
LineItems matrice di oggetti Y Matrice di risorse OrderLineItem
CreationDate datetime N Data di creazione dell'ordine, in formato data/ora
Attributi Object N Contiene "ObjectType": "OrderLineItem"

OrderLineItem

Proprietà Type Obbligatorio Descrizione
LineItemNumber number Y Numero di voce, a partire da 0
OfferId string Y ID dell'offerta
SubscriptionId string Y ID della sottoscrizione
FriendlyName string N Nome descrittivo per la sottoscrizione definita dal partner per evitare ambiguità
Quantità number Y Numero di licenze o istanze
PartnerIdOnRecord string N PartnerID del partner del record
Attributi Object N Contiene "ObjectType": "OrderLineItem"

Esempio di richiesta

Aggiornamento alla fatturazione annuale

PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue

{
    "Id": null,
    "ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
    "BillingCycle" : "Annual",
    "LineItems": [{
            "LineItemNumber": 0,
            "OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
            "SubscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "FriendlyName": "Some friendly name",
            "Quantity": 2,
            "PartnerIdOnRecord": null,
            "Attributes": {
                "ObjectType": "OrderLineItem"
            }
        }
    ],
    "CreationDate": null,
    "Attributes": {
        "ObjectType": "Order"
    }
}

Risposta REST

In caso di esito positivo, questo metodo restituisce l'ordine di sottoscrizione aggiornato nel corpo della risposta.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore.

Risposta di esempio

HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT

{
    "id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
    "referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
    "billingCycle": "Annual",
    "lineItems": [{
            "lineItemNumber": 0,
            "offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
            "subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
            "friendlyName": "new offer purchase",
            "quantity": 5,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
                    "method": "GET",
                    "headers": []
                }
            }
        },
        {
            "lineItemNumber": 1,
            "offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
            "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "friendlyName": "Some friendly name",
            "quantity": 2,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2017-01-25T14:53:12.093-08:00",
    "links": {
        "self": {
            "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
        "objectType": "Order"
    }
}