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