Delen via


Een winkelwagen bijwerken

Een bestelling in een winkelwagen bijwerken voor een klant.

Houd er rekening mee dat winkelwagens zeven dagen na het maken verlopen.

Voorwaarden

  • Referenties zoals beschreven in Partnercentrum-verificatie. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.

  • Een klant-id (customer-tenant-id). Als u de klant-id niet weet, kunt u deze opzoeken in Partnercentrum door de werkruimte Klanten te selecteren, vervolgens de klant in de lijst met klanten en vervolgens Account. Zoek op de pagina Account van de klant naar de Microsoft-id in de sectie Klantaccountgegevens. De Microsoft-id is hetzelfde als de klant-id (customer-tenant-id).

  • Een winkelwagen-id voor een bestaande winkelwagen.

C#

Als u een bestelling voor een klant wilt bijwerken, haalt u de winkelwagen op met behulp van de methode Get() door de klant- en winkelwagen-id's door te geven met behulp van de ById() functie. Breng de benodigde wijzigingen aan in de winkelwagen. Roep nu de methode Put aan door de klant-ID en winkelwagen-ID's te gebruiken met de ById() methode.

Roep tot slot de methode Put() of PutAsync() aan om de volgorde te maken.

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);

Zie het volgende voorbeeld om attestation te voltooien en andere resellers op te nemen.

API-voorbeeld - Winkelwagen uitchecken

{
    "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-aanvraag

Aanvraagsyntaxis

Methode Aanvraag-URI
PUT- {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1

URI parameters

Gebruik de volgende padparameters om de klant te identificeren en geef de winkelwagen op die moet worden bijgewerkt.

Naam Type Vereist Beschrijving
klant-ID snaar Ja Een GUID-geformatteerde klant-ID die de klant identificeert.
cart-id string Ja Een met GUID opgemaakte winkelwagen-id die de winkelwagen identificeert.

Aanvraagheaders

Zie Partnercentrum REST-headersvoor meer informatie.

Aanvraaginhoud

In deze tabel worden de eigenschappen van de Cart in de verzoekbody beschreven.

Eigenschap Soort Vereist Beschrijving
identificatie snaar Nee Een winkelwagen-id die wordt opgegeven bij het maken van de winkelwagen.
creationTimeStamp Datum/tijd Nee De datum waarop de winkelwagen is gemaakt, in datum-tijdnotatie. Toegepast bij de succesvolle creatie van het winkelwagentje.
laatst gewijzigde tijdstempel Datum/tijd Nee De datum waarop de winkelwagen het laatst is bijgewerkt, in datum-tijdnotatie. Toegepast na succesvolle aanmaak van de winkelwagen.
vervaldatumstempel Datum/tijd Nee De datum waarop de winkelwagen verloopt, in datum-tijdnotatie. Wordt toegepast bij succesvolle aanmaak van de winkelwagen.
laatstGewijzigdeGebruiker snaar Nee De gebruiker die de winkelwagen voor het laatst heeft bijgewerkt. Toegepast bij succesvolle creatie van een winkelwagen.
lineItems Matrix van objecten Ja Een matrix van CartLineItem resources.

In deze tabel worden de eigenschappen CartLineItem in de aanvraagbody beschreven.

Eigenschap Soort Vereist Beschrijving
identificatie snaar Nee Een unieke id voor een winkelwagenregelitem. Toegepast na succesvolle creatie van de winkelwagen.
catalogId string Ja De identificatie van het catalogus item.
vriendelijkeNaam snaar Nee Facultatief. De vriendelijke naam voor het item dat door de partner is gedefinieerd om te helpen bij het verduidelijken.
promotionId snaar Nee Facultatief. De meeste NCE-promoties worden automatisch toegepast, maar voor optionele promoties (zoals Bridge to the Cloud 2) om toe te passen op een winkelwagenlijnitem, moeten partners de promotie-id opnemen in de add to cart-aanvraag.
hoeveelheid Int Ja Het aantal licenties of instanties.
valutacode (tekenreeks) Nee De valutacode.
billingCycle Object Ja Het type factureringscyclus dat is ingesteld voor de huidige periode.
Deelnemers Lijst van object-tekenreeksparen Nee Een verzameling deelnemers aan de aankoop.
provisioningContext Woordenlijst<tekenreeks, tekenreeks> Nee Een context die wordt gebruikt voor het verstrekken van aanbiedingen.
bestelgroep string Nee Een groep om aan te geven welke items samen kunnen worden geplaatst.
fout Object Nee Toegepast nadat er een fout is gemaakt bij het aanmaken van de winkelwagen.
AdditionalPartnerIdsOnRecord Snaar Nee Wanneer een indirecte provider een order plaatst namens een indirecte reseller, vult u dit veld in met de Partner-id van de Aanvullende indirecte reseller alleen (nooit de id van de indirecte provider). Incentives zijn niet van toepassing op deze andere resellers. Er kunnen maximaal vijf indirecte resellers worden ingevoerd. Dit zijn alleen van toepassing zijnde partners die handelen binnen EU/EVA-landen/regio's.

Aanvraagvoorbeeld

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

Belangrijk

Vanaf juni 2023 wordt de nieuwste Versie van Partner Center .NET SDK 3.4.0 gearchiveerd. U kunt de SDK-release downloaden van GitHub, samen met een leesmij-bestand met nuttige informatie.

Partners worden aangemoedigd om de Partner center REST API'ste blijven gebruiken.

REST-antwoord

Als dit lukt, retourneert deze methode de ingevulde Winkelwagen resource in de hoofdtekst van het antwoord.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft of er sprake is van succes of mislukking, en aanvullende foutopsporingsinformatie. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en meer parameters te lezen. Zie Foutcodesvoor de volledige lijst.

Voorbeeld van antwoord

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