Partilhar via


Eliminar uma conta de cliente do sandbox de integração

Aplica-se a: Centro de Parceiros | Centro de Parceiros operado pela 21Vianet | Centro de Parceiros para Microsoft Cloud for US Government

Este artigo explica como interromper a relação entre o parceiro e a conta de cliente e recuperar a quota do sandbox de integração Test in Production (Tip).

Importante

Quando elimina uma conta de cliente, todos os recursos associados a esse inquilino do cliente serão removidos.

Pré-requisitos

  • Credenciais conforme descrito na autenticação do Centro de Parceiros. Este cenário suporta a autenticação com credenciais autónomas da Aplicação e da Aplicação+Utilizador.

  • Um ID de cliente (customer-tenant-id). Se não souber o ID do cliente, pode procurá-lo no Centro de Parceiros selecionando a área de trabalho Clientes e, em seguida, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure o ID Microsoft na secção Informações da Conta de Cliente . O ID da Microsoft é o mesmo que o ID do cliente (customer-tenant-id).

  • Todas as Instâncias de Máquinas Virtuais Reservadas do Azure e as encomendas de compra de software têm de ser canceladas antes de eliminar um cliente do sandbox de integração de sugestões.

C#

Para eliminar um cliente do sandbox de integração de sugestões:

  1. Transmita as credenciais da sua conta de Sugestão para o método CreatePartnerOperations para obter uma interface IPartner para operações de parceiros.

  2. Utilize a interface de operações do parceiro para obter a coleção de direitos:

    1. Chame o método Customers.ById() com o identificador do cliente para especificar o cliente.

    2. Chame a propriedade Elegibilidades .

    3. Chame o método Get ou GetAsync para obter a coleção elegibilidade .

  3. Certifique-se de que todas as Instâncias de Máquinas Virtuais Reservadas do Azure e as encomendas de compras de software para esse cliente são canceladas. Para cada Elegibilidade na coleção:

    1. Utilize o entitlement.ReferenceOrder.Id para obter uma cópia local da Encomenda correspondente a partir da coleção de encomendas do cliente.

    2. Defina a propriedade Order.Status como "Cancelado".

    3. Utilize o método Patch() para atualizar a encomenda.

  4. Cancelar todas as encomendas. Por exemplo, o seguinte exemplo de código utiliza um ciclo para consultar cada encomenda até que o respetivo estado seja "Cancelado".

    // IPartnerCredentials tipAccountCredentials;
    // Customer tenant Id to be deleted.
    // string customerTenantId;
    
    IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);
    
    // Get all entitlements whose order must be canceled.
    ResourceCollection<Entitlement> entitlements = tipAccountPartnerOperations.Customers.ById(customerTenantId).Entitlements.Get();
    
    // Cancel all orders
    foreach (var entitlement in entitlements)
    {
        var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get();
        order.Status = "Cancelled";
        order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(order.Id).Patch(order);
    }
    
    // Keep polling until the status of all orders is "Cancelled".
    bool proceed = true;
    do
    {
        // Check if all the orders were canceled.
        foreach (var entitlement in entitlements)
        {
            var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get();
            if (!order.Status.Equals("Cancelled", StringComparison.OrdinalIgnoreCase))
            {
                proceed = false;
            }
        }
    
        // Wait for a few seconds.
        Thread.Sleep(5000);
    }
    while (proceed == false);
    
    tipAccountPartnerOperations.Customers.ById(customerTenantId).Delete();
    
  5. Certifique-se de que todas as encomendas são canceladas ao chamar o método Delete para o cliente.

Exemplo: aplicação de teste da consola. Project: Partner Center PartnerCenterSDK.FeaturesSamples Class: DeleteCustomerFromTipAccount.cs

Pedido REST

Sintaxe do pedido

Método URI do pedido
DELETE {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Parâmetro URI

Utilize o seguinte parâmetro de consulta para eliminar um cliente.

Nome Tipo Necessário Descrição
customer-tenant-id GUID Y O valor é um ID cliente-inquilino formatado por GUID que permite ao revendedor filtrar os resultados de um determinado cliente que pertence ao revendedor.

Cabeçalhos do pedido

Para obter mais informações, veja Cabeçalhos REST do Centro de Parceiros.

Corpo do pedido

Nenhum.

Exemplo de pedido

DELETE https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Length: 0

Resposta do REST

Se for bem-sucedido, este método devolve uma resposta vazia.

Códigos de erro e êxito da resposta

Cada resposta inclui um código de estado HTTP que indica êxito ou falha e informações adicionais de depuração. Utilize uma ferramenta de rastreio de rede para ler este código, tipo de erro e parâmetros adicionais. Para obter a lista completa, veja Códigos de erro REST do Centro de Parceiros.

Exemplo de resposta

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT