Sdílet prostřednictvím


Zrušení nákupů softwaru

Pomocí rozhraní API Partnerského centra můžete zrušit předplatná softwaru a časově neomezené nákupy softwaru (pokud byly tyto nákupy provedeny v okně zrušení od data nákupu). K provedení takových zrušení nemusíte vytvářet lístek podpory a místo toho můžete použít následující samoobslužné metody.

Můžete také zrušit předplatná softwaru (s výjimkou časově neomezeného softwaru) pomocí API pro aktualizaci předplatného podle ID .

Požadavky

  • Přihlašovací údaje, jak je popsáno v ověřování v Partnerském centru. Tento scénář podporuje ověřování pomocí přihlašovacích údajů samostatné aplikace i přihlašovacích údajů aplikace a uživatele.

C#

Zrušení objednávky softwaru:

  1. Předejte přihlašovací údaje k účtu do metody CreatePartnerOperations, abyste získali rozhraní IPartner pro získání partnerských operací.

  2. Vyberte konkrétní Objednávku, kterou chcete zrušit. Volejte metodu Customers.ById() s identifikátorem zákazníka, za kterou následuje Orders.ById() s identifikátorem objednávky.

  3. Zavolejte metodu Get nebo GetAsync k načtení pořadí.

  4. Nastavte vlastnost Order.Status na cancelled.

  5. (Volitelné) Pokud chcete zadat určité řádkové položky pro zrušení, nastavte Order.LineItems seznam položek řádku, které chcete zrušit.

  6. Pomocí metody Patch() aktualizujte pořadí.

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

Požadavek REST

Syntaxe požadavku

Metoda Požadovaná URI
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

Parametry identifikátoru URI

Pokud chcete zrušit objednávku softwaru, použijte následující parametry dotazu.

Jméno Typ Povinný Popis
id tenanta zákazníka GUID (globálně unikátní identifikátor) Y Hodnota je identifikátor tenanta zákazníka ve formátu GUID, který prodejci umožňuje filtrovat výsledky pro konkrétního zákazníka náležejícího k prodejci.
id objednávky řetězec Y Hodnota je řetězec, který označuje identifikátor objednávky, kterou chcete zrušit.

Hlavičky požadavku

Pro více informací viz záhlaví REST Centra pro partnery.

Text požadavku

{
    "id": "c403d91b21d2",
    "status": "cancelled",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
        }
    ]
}

Příklad požadavku

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

Odpověď REST

V případě úspěchu vrátí tato metoda objednávku se zrušenými řádkovými položkami.

Stav objednávky se označí jako zrušený pokud jsou zrušeny všechny řádkové položky v objednávce, nebo dokončené, pokud nejsou všechny řádkové položky v objednávce zrušené.

Kódy úspěšnosti a chyb odpovědi

Každá odpověď obsahuje stavový kód HTTP, který označuje úspěch nebo selhání a další informace o ladění. Ke čtení tohoto kódu, typu chyby a parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete viz kódy chyb rozhraní API REST v Partnerském centru.

Příklad odpovědi

V následující ukázkové odpovědi vidíte, že množství řádkové položky se změnilo na nulu (0). Tato změna znamená, že řádková položka označená ke zrušení byla úspěšně zrušena. Příklad objednávky obsahuje další řádkové položky, které nebyly zrušeny, což znamená, že stav celkové objednávky bude označen jako dokončeno, nikoli zrušena.

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