Compartilhar via


Excluir uma conta de cliente da área restrita de integração

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

Este artigo explica como interromper a relação entre o parceiro e a conta do cliente e recuperar a cota para a área restrita de integração teste em produção (Dica).

Importante

Quando você excluir uma conta de cliente, todos os recursos associados a esse locatário do cliente serão limpos.

Pré-requisitos

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

  • Uma ID do cliente (customer-tenant-id). Se você não souber a ID do cliente, poderá pesquisá-la no Partner Center selecionando o workspace Clientes e, em seguida, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).

  • Todas as Instâncias de Máquina Virtual Reservadas do Azure e os pedidos de compra de software devem ser cancelados antes de excluir um cliente da área restrita de integração de gorjetas.

C#

Para excluir um cliente da área restrita de integração de gorjetas:

  1. Passe suas credenciais de conta de gorjeta para o método CreatePartnerOperations para obter uma interface IPartner para operações de parceiro.

  2. Use a interface de operações do parceiro para recuperar 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 Entitlements .

    3. Chame o método Get ou GetAsync para recuperar a coleção Entitlement .

  3. Certifique-se de que todas as Instâncias de Máquina Virtual Reservadas do Azure e os pedidos de compra de software para esse cliente sejam cancelados. Para cada direito na coleção:

    1. Use o entitlement.ReferenceOrder.Id para obter uma cópia local do Pedido correspondente da coleção de pedidos do cliente.

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

    3. Use o método Patch() para atualizar o pedido.

  4. Cancelar todos os pedidos. Por exemplo, o exemplo de código a seguir usa um loop para sondar cada ordem até que sua status seja "Cancelada".

    // 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. Verifique se todos os pedidos foram cancelados chamando o método Delete para o cliente.

Exemplo: aplicativo de teste de console. Projeto: Partner Center PartnerCenterSDK.FeaturesSamples Classe: DeleteCustomerFromTipAccount.cs

Solicitação REST

Sintaxe da solicitação

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

Parâmetro do URI

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

Nome Type Obrigatório Descrição
customer-tenant-id GUID Y O valor é um GUID formatado customer-tenant-id que permite que o revendedor filtre os resultados para um determinado cliente que pertence ao revendedor.

Cabeçalhos de solicitação

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

Corpo da solicitação

Nenhum.

Exemplo de solicitação

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

Resposta REST

Se tiver êxito, esse método retornará uma resposta vazia.

Códigos de êxito e de erro de resposta

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

Exemplo de resposta

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT