Compartir a través de


Eliminar una cuenta de cliente desde el espacio aislado de integración

Se aplica a: Centro de partners | Centro de partners operado por 21Vianet | Centro de partners para Microsoft Cloud for US Government

En este artículo se explica cómo interrumpir la relación entre el asociado y la cuenta de cliente y recuperar la cuota de pruebas en el espacio aislado de integración de producción (sugerencia).

Importante

Al eliminar una cuenta de cliente, se purgarán todos los recursos asociados a ese inquilino de cliente.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+user.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , el cliente de la lista de clientes y, a continuación, Cuenta. En la página Cuenta del cliente, busca el Id. de Microsoft en la sección Información de la cuenta del cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • Todas las instancias reservadas de máquina virtual de Azure y los pedidos de compra de software deben cancelarse antes de eliminar un cliente del espacio aislado de integración de propinas.

C#

Para eliminar un cliente del espacio aislado de integración de propinas:

  1. Pase las credenciales de la cuenta de propina al método CreatePartnerOperations para obtener una interfaz IPartner a las operaciones de asociados.

  2. Use la interfaz de operaciones del asociado para recuperar la colección de derechos:

    1. Llame al método Customers.ById() con el identificador de cliente para especificar el cliente.

    2. Llame a la propiedad Entitlements .

    3. Llame al método Get o GetAsync para recuperar la colección Entitlement .

  3. Asegúrese de que todas las instancias reservadas de máquina virtual de Azure y los pedidos de compra de software para ese cliente se cancelan. Para cada entitlement de la colección:

    1. Utilice el entitlement.ReferenceOrder.Id para obtener una copia local del pedido correspondiente de la colección de pedidos del cliente.

    2. Establezca la propiedad Order.Status en "Canceled".

    3. Use el método Patch() para actualizar el pedido.

  4. Cancele todos los pedidos. Por ejemplo, el ejemplo de código siguiente usa un bucle para sondear cada orden hasta que su estado sea "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. Asegúrese de que todos los pedidos se cancelan llamando al método Delete para el cliente.

Ejemplo: aplicación de prueba de consola. Project: PartnerCenterSDK.FeaturesSamples (Clase: DeleteCustomerFromTipAccount.cs)

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
Delete {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Parámetro de URI

Use el siguiente parámetro de consulta para eliminar un cliente.

Nombre Tipo Obligatorio Descripción
customer-tenant-id GUID Y El valor es un GUID con formato customer-tenant-id que permite al revendedor filtrar los resultados de un cliente determinado que pertenece al revendedor.

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

Ninguno.

Ejemplo de solicitud

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

Respuesta REST

Si se ejecuta correctamente, este método devuelve una respuesta vacía.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.

Ejemplo de respuesta

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