Excluir uma conta de cliente da área restrita de integraçãoDelete a customer account from the integration sandbox

Aplica-se a:Applies to:

  • Partner CenterPartner Center
  • Partner Center operado pela 21VianetPartner Center operated by 21Vianet
  • Partner Center do Microsoft Cloud GermanyPartner Center for Microsoft Cloud Germany
  • Partner Center do Microsoft Cloud for US GovernmentPartner Center for Microsoft Cloud for US Government

Este artigo explica como dividir a relação entre o parceiro e a conta do cliente e obter a cota para o teste na área restrita de integração da dica de produção (TIP).This article explains, how to break the relationship between the partner and the customer account and regain the quota for Testing in Production (Tip) integration sandbox.

Importante

Quando você exclui uma conta de cliente, todos os recursos associados a esse locatário do cliente serão limpos.When you delete a customer account, all resources associated with that customer tenant will be purged.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Esse cenário dá suporte à autenticação com aplicativos autônomos e aplicativos + credenciais de usuário.This scenario supports authentication with both standalone App and App+User credentials.

  • Uma ID do cliente (customer-tenant-id).A customer ID (customer-tenant-id). Se você não souber a ID do cliente, poderá procurar no painel do Partner Center.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecione CSP no menu do Partner Center e, em seguida, Clientes.Select CSP from the Partner Center menu, followed by Customers. Selecione o cliente na lista de clientes e selecione Conta.Select the customer from the customer list, then select Account. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • Todas as instâncias de máquinas virtuais reservadas do Azure e pedidos de compra de software devem ser cancelados antes de excluir um cliente da área restrita de integração de gorjeta.All Azure Reserved Virtual Machine Instances and software purchase orders must be cancelled before deleting a customer from the Tip integration sandbox.

C#C#

Para excluir um cliente da área restrita da integração de gorjeta:To delete a customer from the Tip integration sandbox:

  1. Passe as credenciais da sua conta TIP para o método CreatePartnerOperations para obter uma interface IPartner para operações de parceiro.Pass your Tip account credentials to the CreatePartnerOperations method to get an IPartner interface to partner operations.

  2. Use a interface de operações de parceiro para recuperar a coleção de direitos:Use the partner operations interface to retrieve the collection of entitlements:

    1. Chame o método Customers. ById () com o identificador Customer para especificar o cliente.Call the Customers.ById() method with the customer identifier to specify the customer.

    2. Chame a propriedade de direitos .Call the Entitlements property.

    3. Chame o método Get ou getasync para recuperar a coleção de direitos .Call the Get or GetAsync method to retrieve the Entitlement collection.

  3. Verifique se todas as instâncias de máquinas virtuais reservadas do Azure e os pedidos de compra de software para esse cliente foram cancelados.Make sure that all Azure Reserved Virtual Machine Instances and software purchase orders for that customer are cancelled. Para cada direito na coleção:For each Entitlement in the collection:

    1. Use o direito. ReferenceOrder.Id para obter uma cópia local da ordem correspondente da coleção de pedidos do cliente.Use the entitlement.ReferenceOrder.Id to get a local copy of the corresponding Order from the customer's collection of orders.

    2. Defina a propriedade Order. status como "cancelada".Set the Order.Status property to "Cancelled".

    3. Use o método patch () para atualizar a ordem.Use the Patch() method to update the order.

  4. Cancelar todos os pedidos.Cancel all orders. Por exemplo, o exemplo de código a seguir usa um loop para sondar cada pedido até que seu status seja "cancelado".For example, the following code sample uses a loop to poll each order until its status is "Cancelled".

    // IPartnerCredentials tipAccountCredentials;
    // Customer tenant Id to be deleted.
    // string customerTenantId;
    
    IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);
    
    // Get all entitlements whose order must be cancelled.
    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 cancelled.
        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 todos os pedidos sejam cancelados chamando o método delete para o cliente.Make sure all orders are cancelled by calling the Delete method for the customer.

Exemplo: aplicativo de teste do console.Sample: Console test app. Projeto: classePartnerCenterSDK. FeaturesSamples do Partner Center: DeleteCustomerFromTipAccount.csProject: Partner Center PartnerCenterSDK.FeaturesSamples Class: DeleteCustomerFromTipAccount.cs

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
Delete (excluir)DELETE {baseURL}/v1/Customers/{Customer-Tenant-ID} http/1.1{baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Parâmetro do URIURI parameter

Use o parâmetro de consulta a seguir para excluir um cliente.Use the following query parameter to delete a customer.

NomeName TipoType NecessáriaRequired DescriçãoDescription
customer-tenant-idcustomer-tenant-id GUIDGUID SY O valor é um GUID formatado Customer-Tenant-ID que permite ao revendedor filtrar os resultados de um determinado cliente que pertence ao revendedor.The value is a GUID formatted customer-tenant-id that allows the reseller to filter the results for a given customer that belongs to the reseller.

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

Nenhum.None.

Exemplo de solicitaçãoRequest example

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 RESTREST response

Se for bem-sucedido, esse método retornará uma resposta vazia.If successful, this method returns an empty response.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, confira Códigos de erro REST do Partner Center.For the full list, see Partner Center REST error codes.

Exemplo de respostaResponse example

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