Controllare un ordine per un cliente in un carrello
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
Come controllare un ordine per un cliente in un carrello.
Questa API è idempotente. I partner possono chiamare l'API CheckoutCart più volte per un ID carrello. In uno scenario in cui un ordine non riesce a causa di un errore, è possibile effettuare di nuovo la chiamata per ripetere l'estrazione. Se un carrello è stato estratto correttamente in precedenza e viene effettuata una successiva chiamata di checkout allo stesso carrello, la risposta DELL'API ripeterà le informazioni restituite dopo il checkout iniziale.
Nota
I carrelli scadono 7 giorni dalla creazione iniziale.
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 carrello per un carrello esistente.
C#
Per controllare un ordine per un cliente, ottenere un riferimento al carrello usando il carrello e l'identificatore del cliente. Infine, chiamare le funzioni Create o CreateAsync per completare l'ordine.
// IAggregatePartner partnerOperations;
// string customerId;
// string cartId;
var cart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Checkout();
Java
L'SDK Java del Centro per i partner può essere usato per gestire le risorse del Centro per i partner. Si tratta di un progetto open source gestito dalla community partner e non ufficialmente supportato da Microsoft. In caso di problemi, puoi richiedere assistenza alla community o aprire un problema in GitHub.
Per controllare un ordine per un cliente, ottenere un riferimento al carrello usando il carrello e l'identificatore del cliente. Chiamare infine la funzione create per completare l'ordine.
// IAggregatePartner partnerOperations;
// String customerId;
// String cartId;
Cart cart = partnerOperations.getCustomers().byId(customerId).getCart().byId(cartId).checkout();
PowerShell
Il modulo PowerShell del Centro per i partner può essere usato per gestire le risorse del Centro per i partner. Si tratta di un progetto open source gestito dalla community partner e non ufficialmente supportato da Microsoft. In caso di problemi, puoi richiedere assistenza alla community o aprire un problema in GitHub.
Per controllare un ordine per un cliente, eseguire Submit-PartnerCustomerCart per completare l'ordine.
# $customerId
# $cartId
Submit-PartnerCustomerCart -CartId $cartId -CustomerId $customerId
Richiesta REST
Sintassi della richiesta
metodo | URI della richiesta |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/carts/{cart-id}/checkout HTTP/1.1 |
Parametri URI
Usare i parametri di percorso seguenti per identificare il cliente e specificare il carrello da archiviare.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
customer-id | string | Sì | GUID formattato con ID cliente che identifica il cliente. |
cart-id | string | Sì | ID carrello formattato con GUID che identifica il carrello. |
Intestazioni delle richieste
Per altre informazioni, vedi Intestazioni REST del Centro per i partner.
Corpo della richiesta
Nessuno.
Esempio di richiesta
POST /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/b4c8fdea-cbe4-4d17-9576-13fcacbf9605/checkout HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 0
Expect: 100-continue
No-Content-Body
Importante
A partire da giugno 2023, la versione più recente di .NET SDK del Centro per i partner 3.4.0 è ora archiviata. È possibile scaricare la versione dell'SDK da GitHub, insieme a un file leggimi che contiene informazioni utili.
I partner sono invitati a continuare a usare le API REST del Centro per i partner.
Risposta REST
In caso di esito positivo, il corpo della risposta contiene la risorsa CartCheckoutResult popolata.
Se il carrello contiene una o più sottoscrizioni, i rispettivi valori id sottoscrizione vengono visualizzati nella risposta REST solo se viene effettuato il provisioning delle sottoscrizioni corrispondenti al momento della chiamata API. Il provisioning delle sottoscrizioni viene eseguito in modo asincrono e pertanto i valori dell'ID sottoscrizione potrebbero non essere sempre visibili nella risposta REST della chiamata carrello checkout. Tuttavia, dopo aver effettuato il provisioning delle rispettive sottoscrizioni, è possibile accedere ai valori dell'ID sottoscrizione tramite le chiamate API Get Orders e Get Order by ID.
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.
Esempio di risposta per software, più prenotazioni, piano di Azure e SKU di prodotto di terze parti
HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
?{
"orders": [
{
"id": "3c6f2530-1e31-4088-8230-dd1c31a18bce",
"alternateId": "3c6f2530-1e31-4088-8230-dd1c31a18bce",
"referenceCustomerId": "28045616-f6b9-462f-9701-0d89b5e65c44",
"billingCycle": "monthly",
"currencyCode": "USD",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "MS-AZR-0145P",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"termDuration": "P1Y",
"transactionType": "New",
"friendlyName": "Microsoft Azure",
"quantity": 1,
"links": {...}
}
],
"creationDate": "2019-01-16T00:48:44.76+00:00",
"status": "completed",
"transactionType": "UserPurchase",
"links": {...},
...
},
{
"id": "311qiN8iFwkv-XARWMvXRYAwYKMACVqv1",
"alternateId": "0a3624c6e47d",
"referenceCustomerId": "28045616-f6b9-462f-9701-0d89b5e65c44",
"billingCycle": "one_time",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
"termDuration": "P1Y",
"transactionType": "New",
"friendlyName": "Reserved VM Instance, Standard_NV12, US East 2, 1 Year",
"quantity": 1,
"links": {...}
},
{
"lineItemNumber": 1,
"offerId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
"termDuration": "P3Y",
"transactionType": "New",
"friendlyName": "Reserved VM Instance, Standard_NV12, US East 2, 3 Years",
"quantity": 1,
"links": {...}
},
{
"lineItemNumber": 2,
"offerId": "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
"transactionType": "New",
"friendlyName": "BizTalk Server 2016 Branch",
"quantity": 1,
"links": {...}
}
],
"creationDate": "2019-01-16T00:48:51.6578126Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {...},
...
},
{
"id": "HVu_cO8Ea7fNRQP4ia1QTpZap-kg_7P71",
"alternateId": "55a4e6854d54",
"referenceCustomerId": "28045616-f6b9-462f-9701-0d89b5e65c44",
"billingCycle": "monthly",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
"termDuration": "P1M",
"transactionType": "New",
"friendlyName": "Barracuda WaaS - Medium Plan",
"quantity": 1,
"links": {...}
}
],
"creationDate": "2019-01-16T00:48:44.4514129Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {...},
...
}
],
...
}
Esempio di risposta per una nuova sottoscrizione basata su licenza commerciale
{
"id": "a68736758d9c",
"alternateId": "a68736758d9c",
"referenceCustomerId": "94cd6638-11b6-4323-8c9f-6ae3088adc59",
"billingCycle": "monthly",
"currencyCode": "USD"
"currencySymbol": "US$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "CFQ7TTC0LF8S:0001:CFQ7TTC0N81H",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"termDuration": "P1M",
"transactionType": "New",
"friendlyName": "Office 365 E5 without Audio Conferencing",
"quantity": 1,
"pricing": {
"listPrice": 36.48,
"discountedPrice": 36.48,
"proratedPrice": 36.48,
"price": 36.48,
"extendedPrice": 36.48
},
"links": {
"product": {
"uri": "/products/CFQ7TTC0LF8S?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LF8S/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LF8S/skus/0001/availabilities/CFQ7TTC0N81H?country=US",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2023-04-18T22:03:45.4505136Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/94cd6638-11b6-4323-8c9f-6ae3088adc59/orders/a68736758d9c",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/94cd6638-11b6-4323-8c9f-6ae3088adc59/orders/a68736758d9c/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/94cd6638-11b6-4323-8c9f-6ae3088adc59/orders/a68736758d9c",
"method": "PATCH",
"headers": []
}
},
"totalPrice": 36.48,
"client": {},
"attributes": {
"objectType": "Order"
}
}