Cancelar um pedido da área restrita de integração usando APIs do Partner Center

Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para o Microsoft Cloud for US Government

Este artigo descreve como usar as APIs do Partner Center para cancelar diferentes tipos de pedidos de assinatura de contas de área restrita de integração. Esses pedidos podem incluir instâncias reservadas, software e pedidos de assinatura de Software como Serviço (SaaS) do mercado comercial.

A tabela a seguir mostra a ordem de cancelamento na área restrita e na produção.

Tipo de Produto Ordem de atualização da área restrita Assinatura de atualização da área restrita Ordem de atualização de produção Assinatura de atualização de produção
Instâncias Reservadas do Azure N N N N
Software perpétuo N N Y N
Assinaturas de software N N N S
Novo comércio N Y N S
Marketplace comercial N Y N S
plano do Azure N Y N S

Observação

Cancelamentos de uma instância reservada ou pedidos de assinatura SaaS de marketplace comercial só são possíveis a partir de contas de área restrita de integração. Quaisquer pedidos de área restrita com mais de 60 dias não podem ser cancelados do Partner Center.

Para cancelar ordens de produção de software por meio de API, use cancel-software-purchases. Você também pode cancelar ordens de produção de software por meio de painel usando cancelar uma compra.

Pré-requisitos

  • Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.

  • Uma conta de parceiro sandbox de integração com um cliente com ordens de assinatura SaaS de instância/software/SaaS de terceiros ativas.

C#

Para cancelar um pedido da área restrita de integração, passe as credenciais da sua conta para o CreatePartnerOperations método para obter uma IPartner interface para obter operações de parceiros.

Para selecionar um pedido específico, use as operações do parceiro e o método de chamada Customers.ById() com o identificador do cliente para especificar o cliente, seguido pelo Orders.ById() identificador do pedido para especificar o pedido e, finalmenteGet, o método para GetAsync recuperá-lo.

Defina a propriedade como cancelled e use o Patch() método para atualizar a Order.Status ordem.

// IPartnerCredentials tipAccountCredentials;
// Customer tenant Id to be deleted.
// string customerTenantId;

IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);

// Cancel order
var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

Parâmetro do URI

Use o parâmetro de consulta a seguir para excluir um cliente.

Nome Digitar Obrigatória Descrição
id de locatário do cliente guid Y O valor é um ID de cliente-locatário formatado por GUID que permite ao revendedor filtrar os resultados de um determinado cliente que pertence ao revendedor.
ID do pedido cadeia de caracteres Y O valor é uma cadeia de caracteres que indica as IDs de ordem que precisam ser canceladas.

Cabeçalhos da solicitação

Para obter mais informações, confira Cabeçalhos REST do Partner Center.

Corpo da solicitação

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

Exemplo de solicitação

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": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

Resposta REST

Se for bem-sucedido, esse método retornará o pedido cancelado.

Códigos de êxito e de erro de resposta

Cada resposta vem com um código de status HTTP que indica sucesso ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e outros parâmetros. Para obter a lista completa, confira Códigos de erro REST do Partner Center.

Exemplo de resposta

HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "alternateId": "11fc4bdfd47a",
    "referenceCustomerId": "bd59b416-37f9-4d8f-8df3-5750111fc615",
    "billingCycle": "one_time",
    "currencyCode": "USD",
    "currencySymbol": "$",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0DWT0:0001:DG7GMGF0DSQR",
            "termDuration": "",
            "transactionType": "New",
            "friendlyName": "Microsoft Identity Manager 2016 - 1 User CAL",
            "quantity": 1,
            "links": {
                "product": {
                    "uri": "/products/DG7GMGF0DWT0?country=US",
                    "method": "GET",
                    "headers": []
                },
                "sku": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001?country=US",
                    "method": "GET",
                    "headers": []
                },
                "availability": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001/availabilities/DG7GMGF0DSQR?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2019-02-21T17:56:21.1335741Z",
    "status": "cancelled",
    "transactionType": "UserPurchase",
    "attributes": {
        "objectType": "Order"
    }
}