Dela via


Uppdatera en kundvagn

Så här uppdaterar du en beställning för en kund i en kundvagn.

Observera att kundvagnar upphör att gälla sju dagar från det att de först skapades.

Förutsättningar

  • Autentiseringsuppgifter enligt beskrivningen i PartnerCenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.

  • Ett kund-ID (customer-tenant-id). Om du inte känner till kundens ID kan du leta upp det i Partnercenter genom att välja arbetsytan Kunder, sedan kunden från kundlistan och sedan konto. På kundens kontosida letar du efter Microsoft-ID i avsnittet Kundkontoinformation. Microsoft-ID:t är detsamma som kund-ID :t (customer-tenant-id).

  • Ett kundvagns-ID för en befintlig kundvagn.

C#

Om du vill uppdatera en beställning för en kund hämtar du kundvagnen med hjälp av metoden Get() genom att skicka kund- och kundvagns-ID:t med hjälp av funktionen ById(). Gör nödvändiga ändringar i kundvagnen. Anropa nu Put-metoden med kund- och kundvagns-ID genom att använda ById()-metoden.

Anropa slutligen metoden Put() eller PutAsync() för att skapa ordningen.

IAggregatePartner partnerOperations;
string customerId;
string cartId;

var cart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Get();

cart.LineItems.ToArray()[0].Quantity++;

var updatedCart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Put(cart);

Information om hur du slutför attesteringen och inkludera andra återförsäljare finns i följande exempel.

API-exempel – Gå till kassan

{
    "orders": [
        {
            "id": "f76c6b7f449d",
            "alternateId": "f76c6b7f449d",
            "referenceCustomerId": "f81d98dd-c2f4-499e-a194-5619e260344e",
            "billingCycle": "monthly",
            "currencyCode": "USD",
            "currencySymbol": "$",
            "lineItems": [
                {
                    "lineItemNumber": 0,
                    "offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
                    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
                    "termDuration": "P1M",
                    "transactionType": "New",
                    "friendlyName": "AI Builder Capacity add-on",
                    "quantity": 1,
                    "links": {
                        "product": {
                            "uri": "/products/CFQ7TTC0LH0Z?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "sku": {
                            "uri": "/products/CFQ7TTC0LH0Z/skus/0001?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "availability": {
                            "uri": "/products/CFQ7TTC0LH0Z/skus/0001/availabilities/CFQ7TTC0K18P?country=US",
                            "method": "GET",
                            "headers": []
                        }
                    }
                },
                {
                    "lineItemNumber": 1,
                    "offerId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
                    "subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
                    "termDuration": "P1Y",
                    "transactionType": "New",
                    "friendlyName": "Azure Active Directory Premium P1",
                    "quantity": 2,
                    "partnerIdOnRecord": "517285",
                    "additionalPartnerIdsOnRecord": 
                        "5357564",
                        "5357563"
                    ],
                 
   "links": {
                        "product": {
                            "uri": "/products/CFQ7TTC0LFLS?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "sku": {
                            "uri": "/products/CFQ7TTC0LFLS/skus/0002?country=US",
                            "method": "GET",
                            "headers": []
                        },
                        "availability": {
                            "uri": "/products/CFQ7TTC0LFLS/skus/0002/availabilities/CFQ7TTC0KDLJ?country=US",
                            "method": "GET",
                            "headers": []
                        }
                    }
                }
            ],
            "creationDate": "2021-08-18T07:52:23.1921872Z",
            "status": "pending",
            "transactionType": "UserPurchase",
            "links": {
                "self": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
                    "method": "GET",
                    "headers": []
                },
                "provisioningStatus": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d/provisioningstatus",
                    "method": "GET",
                    "headers": []
                },
                "patchOperation": {
                    "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
                    "method": "PATCH",
                    "headers": []
                }
            },
            "client": {},
            "attributes": {
                "objectType": "Order"
            }
        }
    ],
    "attributes": {
        "objectType": "CartCheckoutResult"
    }
}

REST-begäran

Syntax för begäran

Metod Begärande-URI
PUT {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1

URI-parametrar

Använd följande sökvägsparametrar för att identifiera kunden och ange vilken kundvagn som ska uppdateras.

Namn Typ Krävs Beskrivning
kund-ID sträng Ja Ett GUID-formaterat kund-ID som identifierar kunden.
kundvagns-ID sträng Ja Ett GUID-formaterat kundvagns-ID som identifierar kundvagnen.

Begäranhuvuden

Mer information finns i Partnercenter REST-huvuden.

Begärandetext

I den här tabellen beskrivs egenskaperna Cart i begärandetexten.

Egenskap Typ Krävs Beskrivning
Id sträng Nej En kundvagnsidentifierare som tillhandahålls när kundvagnen har skapats.
creationTimeStamp DatumTid Nej Det datum då kundvagnen skapades i datum-tid-format. Tillämpas när kundvagnen har skapats.
lastModifiedTimeStamp DatumTid Nej Datumet då kundvagnen senast uppdaterades, i datum-tid-format. Tillämpas när kundvagnen har skapats.
utgångstidsstämpel Datum och tid Nej Datumet då kundvagnen upphör att gälla, i datum-tid-format. Tillämpas när kundvagnen har skapats.
senastModifieradAnvändare sträng Nej Användaren som senast uppdaterade kundvagnen. Tillämpas när kundvagnen har skapats.
lineItems Matris med objekt Ja En matris med CartLineItem resurser.

I den här tabellen beskrivs egenskaperna CartLineItem i begärandetexten.

Egenskap Typ Krävs Beskrivning
Id sträng Nej En unik identifierare för ett kundvagnsradobjekt. Tillämpas när kundvagnen har skapats.
catalogId sträng Ja Katalogobjektidentifieraren.
vänligtNamn sträng Nej Valfri. Det vänliga namnet på det objekt som definierats av partnern för att undvika tvetydighet.
promotionId sträng Nej Valfri. De flesta NCE-kampanjer tillämpas automatiskt, men för valfria kampanjer (till exempel Bridge to the Cloud 2) för att gälla för ett kundvagnslinjeobjekt måste partner inkludera kampanj-ID:t i begäran om att lägga till i kundvagnen.
kvantitet Int Ja Antalet licenser eller instanser.
valutakod sträng Nej Valutakoden.
billingCycle Objekt Ja Typ av faktureringsperiod som angetts för den aktuella perioden.
Deltagare Lista över objektsträngspar Nej En samling deltagare vid köpet.
försörjningskontext Ordlista<sträng, sträng> Nej En kontext som används för provisionering av erbjudande.
beställningsgrupp sträng Nej En grupp som anger vilka objekt som kan placeras tillsammans.
fel Objekt Nej Tillämpas efter att kundvagnen har skapats i ett fel.
Ytterligare Partner-ID:n i register Sträng Nej När en indirekt leverantör gör en beställning åt en indirekt återförsäljare fyller du i det här fältet med PartnerID för Ytterligare indirekt återförsäljare endast (aldrig ID:t för den indirekta leverantören). Incitament gäller inte för dessa andra återförsäljare. Endast fem indirekta återförsäljare kan anges. Detta är endast tillämpliga partner som handlar inom EU/EFTA-länder/regioner.

Exempel på begäran

PUT /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/65faf57b-0205-47ee-92b3-08dcf233ea73/ 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: 496
Expect: 100-continue

{
    {
        "Id":"b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
        "CreationTimestamp":"2018-03-15T17:15:02.3840528Z",
        "LastModifiedTimestamp":"2018-03-15T17:15:02.3840528Z",
        "ExpirationTimestamp":"0001-01-01T00:00:00",
        "LastModifiedUser":"2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
        "LineItems":[
            {
                "Id":0,
                "CatalogItemId":"DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
                "FriendlyName":"A_sample_Azure_RI",
                "Quantity":2,
                "BillingCycle":"one_time",
                "ProvisioningContext": {
                    "SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
                    "Scope": "shared",
                    "Duration": "1Year"
                }
            }
        ],
    }
}

Viktig

Från och med juni 2023 arkiveras nu den senaste Partner Center .NET SDK-versionen 3.4.0. Du kan ladda ned SDK-versionen från GitHub, tillsammans med en readme-fil som innehåller användbar information.

Partner uppmanas att fortsätta att använda rest-API:erna för Partnercenter.

REST-svar

Om det lyckas returnerar den här metoden den ifyllda resursen Cart i svarstexten.

Svarsframgång och felkoder

Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och ytterligare felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och fler parametrar. Den fullständiga listan finns i Felkoder.

Svarsexempel

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
{
    "id": "b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
    "creationTimestamp": "2018-03-15T17:15:02.3840528Z",
    "lastModifiedTimestamp": "2018-03-15T17:15:02.3840528Z",
    "lastModifiedUser": "2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
            "friendlyName": "A_sample_Azure_RI",
            "quantity": 2,
            "currencyCode": "USD",
            "billingCycle": "one_time",
            "ProvisioningContext": {
                "subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
                "scope": "shared",
                "duration": "1Year"
            }
            "orderGroup": "0"
        }
    ],
    "links": {
        "self": {
            "uri": "/v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/b4c8fdea-cbe4-4d17-9576-13fcacbf9605/",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}