Condividi tramite


Modificare il ciclo di fatturazione dell'abbonamento 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

Mancia

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 l'API Aggiornare una sottoscrizione in base all'ID - Sviluppatore di app partner | Microsoft Learn.

Aggiorna un Order 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.

, fuori ambito per questo articolo:

  • Modifica del ciclo di fatturazione per le prove
  • Modifica dei cicli di fatturazione per qualsiasi offerta a termine non annuale (mensile, sei anni) & 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 Online Services

Prerequisiti

  • Credenziali descritte in 'autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali dell'app standalone e App+Utente.

  • 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).

  • Un 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 Digitare Obbligatorio Descrizione
id-cliente-inquilino GUID Y Un customer-tenant-id formato GUID che identifica il cliente
id ordine GUID Y Identificatore dell'ordine

Intestazioni della richiesta

Per altre informazioni, vedere intestazioni REST del Centro per i partner.

Corpo della richiesta

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

Ordine

Proprietà Digitare Obbligatorio Descrizione
Id corda N Identificatore dell'ordine fornito al termine della creazione dell'ordine
ReferenceCustomerId corda Y Identificatore del cliente
BillingCycle corda Y Indica la frequenza con cui il partner viene fatturato per questo ordine. I valori supportati sono i nomi dei membri disponibili in BillingCycleType.
LineItems matrice di oggetti Y Matrice di risorse di OrderLineItem
Data di Creazione data e ora N Data di creazione dell'ordine, in formato data/ora
Attributi Oggetto N Contiene "ObjectType": "OrderLineItem"

OrderLineItem

Proprietà Tipo Obbligatorio Descrizione
LineItemNumber numero Y Numero dell'elemento di riga, a partire da 0
OfferId corda Y ID dell'offerta
ID Sottoscrizione corda Y ID della sottoscrizione
NomeAmichevole corda N Nome amichevole per la sottoscrizione definita dal partner per evitare ambiguità
Quantità numero Y Numero di licenze o istanze
PartnerIdOnRecord corda N L'ID del partner ufficiale
Attributi Oggetto 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 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 il codice, il tipo di errore e i parametri aggiuntivi. Per l'elenco completo, vedere codici di errore .

Esempio di risposta

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