Een winkelwagen bijwerken
Een bestelling bijwerken voor een klant in een winkelwagen.
Houd er rekening mee dat winkelwagens zeven dagen na het maken verlopen.
Vereisten
Referenties zoals beschreven in verificatie in partnercentrum. 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 het 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 functie ById(). Breng de benodigde wijzigingen aan in de winkelwagen. Roep nu de Put-methode aan met behulp van klant- en winkelwagen-id's met behulp van de ById() -methode.
Roep tot slot de methode Put() of PutAsync() aan om de order 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.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
klant-id | tekenreeks | Ja | Een door DE GUID opgemaakte klant-id die de klant identificeert. |
cart-id | tekenreeks | Ja | Een met GUID opgemaakte winkelwagen-id die de winkelwagen identificeert. |
Aanvraagheaders
Zie Rest-headers in Partnercentrum voor meer informatie.
Aanvraagtekst
In deze tabel worden de eigenschappen van winkelwagen in de aanvraagbody beschreven.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
id | tekenreeks | Nee | Een winkelwagen-id die wordt opgegeven bij het maken van de winkelwagen. |
creationTimeStamp | Datum en tijd | Nee | De datum waarop de winkelwagen is gemaakt, in datum-tijdnotatie. Toegepast bij het maken van de winkelwagen. |
lastModifiedTimeStamp | Datum en tijd | Nee | De datum waarop de winkelwagen het laatst is bijgewerkt, in datum-tijdnotatie. Toegepast bij het maken van de winkelwagen. |
expirationTimeStamp | Datum en tijd | Nee | De datum waarop de winkelwagen verloopt, in datum-tijdnotatie. Toegepast bij het maken van een winkelwagen. |
lastModifiedUser | tekenreeks | Nee | De gebruiker die de winkelwagen voor het laatst heeft bijgewerkt. Toegepast bij het maken van een winkelwagen. |
lineItems | Matrix van objecten | Ja | Een matrix van CartLineItem-resources . |
In deze tabel worden de eigenschappen cartLineItem in de aanvraagtekst beschreven.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
id | tekenreeks | Nee | Een unieke id voor een winkelwagenregelitem. Toegepast bij het maken van een winkelwagen. |
catalogId | tekenreeks | Ja | De id van het catalogusitem. |
Friendlyname | tekenreeks | Nee | Optioneel. De beschrijvende naam voor het item dat door de partner is gedefinieerd om te helpen ondubbelzinnig te zijn. |
promotionId | tekenreeks | Nee | Optioneel. 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. |
quantity | int | Ja | Het aantal licenties of exemplaren. |
currencyCode | tekenreeks | Nee | De valutacode. |
billingCycle | Object | Ja | Het type factureringscyclus dat is ingesteld voor de huidige periode. |
Deelnemers | Lijst met objectreeksparen | Nee | Een verzameling deelnemers aan de aankoop. |
provisioningContext | Woordenlijsttekenreeks<, tekenreeks> | Nee | Een context die wordt gebruikt voor het inrichten van aanbiedingen. |
orderGroup | tekenreeks | Nee | Een groep om aan te geven welke items samen kunnen worden geplaatst. |
error | Object | Nee | Toegepast nadat de winkelwagen is gemaakt in een fout. |
AdditionalPartnerIdsOnRecord | String | Nee | Wanneer een indirecte provider een order plaatst namens een indirecte reseller, vult u dit veld in met de PartnerID van de aanvullende indirecte reseller (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 dat nuttige informatie bevat.
Partners worden aangemoedigd om de REST API's van partnercentrum te blijven gebruiken.
REST-antwoord
Als dit lukt, retourneert deze methode de gevulde winkelwagenresource in de hoofdtekst van het antwoord.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en meer parameters te lezen. Zie Foutcodes voor de volledige lijst.
Responsvoorbeeld
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"
}
}