Softwareaankopen annuleren
U kunt de Partner Center-API's gebruiken om softwareabonnementen en permanente softwareaankopen te annuleren (zolang deze aankopen zijn gedaan in het annuleringsvenster vanaf de aankoopdatum). U hoeft geen ondersteuningsticket te maken om dergelijke annuleringen te maken en kunt in plaats daarvan de volgende selfservicemethoden gebruiken.
U kunt ook softwareabonnementen opzeggen (niet inclusief permanente software) met behulp van de Api voor het bijwerken van een abonnement .
Vereisten
- Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
C#
Als u een softwareorder wilt annuleren,
Geef uw accountreferenties door aan de methode CreatePartnerOperations om een IPartner-interface op te halen om partnerbewerkingen op te halen.
Selecteer een bepaalde bestelling die u wilt annuleren. Roep de methode Customers.ById() aan met de klant-id, gevolgd door Orders.ById() met order-id.
Roep de methode Get of GetAsync aan om de order op te halen.
Stel de eigenschap Order.Status in op
cancelled
.(Optioneel) Als u bepaalde regelitems wilt opgeven voor annulering, stelt u Order.LineItems in op een lijst met regelitems die u wilt annuleren.
Gebruik de Methode Patch() om de bestelling bij te werken.
// IPartnerCredentials accountCredentials;
// string customerTenantId;
IPartner accountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(accountCredentials);
// Cancel order
var order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order.LineItems = new List<OrderLineItem> {
order.LineItems.First()
};
order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);
REST-aanvraag
Aanvraagsyntaxis
Methode | Aanvraag-URI |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
URI-parameters
Gebruik de volgende queryparameters om een softwareorder te annuleren.
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
klant-tenant-id | Guid | J | De waarde is een tenant-id met GUID-indeling waarmee de reseller de resultaten kan filteren voor een bepaalde klant die deel uitmaakt van de reseller. |
order-id | Tekenreeks | J | De waarde is een tekenreeks die de id aangeeft van de volgorde die u wilt annuleren. |
Aanvraagheaders
Zie Rest-headers in Partnercentrum voor meer informatie.
Aanvraagtekst
{
"id": "c403d91b21d2",
status": "cancelled",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
}
]
}
Aanvraagvoorbeeld
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/orders/<order-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
"id": "c403d91b21d2",
"status": "cancelled",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
}
]
}
REST-antwoord
Als dit lukt, retourneert deze methode de order met geannuleerde regelitems.
De orderstatus wordt gemarkeerd als geannuleerd als alle regelitems in de order worden geannuleerd of voltooid als niet alle regelitems in de order worden geannuleerd.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en andere informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en de parameters te lezen. Zie rest-foutcodes in Partnercentrum voor de volledige lijst.
Responsvoorbeeld
In het volgende voorbeeldantwoord ziet u dat het aantal regelitems nul (0) is geworden. Deze wijziging betekent dat het regelitem dat is gemarkeerd voor annulering is geannuleerd. De voorbeeldvolgorde bevat andere regelitems die niet zijn geannuleerd, wat betekent dat de status van de algehele order wordt gemarkeerd als voltooid, niet geannuleerd.
HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
{
"id": "c403d91b21d2",
"alternateId": "c403d91b21d2",
"referenceCustomerId": "45411344-b09d-47e7-9653-542006bf9766",
"billingCycle": "one_time",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS",
"termDuration": "P3Y",
"transactionType": "New",
"friendlyName": "SQL Server Enterprise - 2 Core License Pack - 3 year",
"quantity": 0,
"links": {
"product": {
"uri": "/products/DG7GMGF0FKZV?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0FKZV/skus/0003?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0FKZV/skus/0003/availabilities/DG7GMGF0DWMS?country=US",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "DG7GMGF0DVT7:000C:DG7GMGF0FVZM",
"termDuration": "P3Y",
"transactionType": "New",
"friendlyName": "Windows Server CAL - 1 Device CAL - 3 year",
"quantity": 1,
"links": {
"product": {
"uri": "/products/DG7GMGF0DVT7?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0DVT7/skus/000C?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0DVT7/skus/000C/availabilities/DG7GMGF0FVZM?country=US",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2019-12-12T17:33:56.1306495Z",
"status": "completed",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
"method": "PATCH",
"headers": []
}
},
"client": {
"marketplaceCountry": "US",
"deviceFamily": "UniversalStore-PartnerCenter",
"name": "Partner Center API"
},
"attributes": {
"objectType": "Order"
}
}