Sdílet prostřednictvím


Zrušení nákupů předplatného

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 (včetně časově neomezeného softwaru) pomocí rozhraní API pro aktualizaci předplatného podle ID .

Předpoklady

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

C#

Zrušení objednávky softwaru:

  1. Předejte své přihlašovací údaje k účtu metodě 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 a potom Orders.ById() s identifikátorem objednávky.

  3. Zavolejte metodu Get nebo GetAsync , která načte pořadí.

  4. Nastavte vlastnost Order.Status na cancelledhodnotu .

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

  6. K aktualizaci pořadí použijte metodu Patch( ).

// 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 Identifikátor URI žádosti
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.

Name Typ Požadováno Popis
customer-tenant-id Identifikátor guid Y Hodnota je identifikátor tenanta zákazníka formátovaný identifikátorem GUID, který umožňuje prodejci filtrovat výsledky pro daného zákazníka, který patří k prodejci.
order-id string Y Hodnota je řetězec, který označuje identifikátor objednávky, kterou chcete zrušit.

Záhlaví žádosti

Další informace najdete v tématu Hlavičky REST Partnerského centra.

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: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd

{
    "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 bude označen 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šeny.

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 v tématu Kódy chyb 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čený, ne zrušen.

HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
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"
    }
}