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:
Passe suas credenciais de conta de gorjeta para o método CreatePartnerOperations para obter uma interface IPartner para operações de parceiro.
Use a interface de operações do parceiro para recuperar a coleção de direitos:
Chame o método Customers.ById() com o identificador do cliente para especificar o cliente.
Chame a propriedade Entitlements .
Chame o método Get ou GetAsync para recuperar a coleção Entitlement .
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:
Use o entitlement.ReferenceOrder.Id para obter uma cópia local do Pedido correspondente da coleção de pedidos do cliente.
Defina a propriedade Order.Status como "Canceled".
Use o método Patch() para atualizar o pedido.
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();
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: aaaa0000-bb11-2222-33cc-444444dddddd
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: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT