Cancelar un marketplace comercial o una nueva suscripción comercial mediante las API del Centro de partners

Se aplica a: Centro de partners

En este artículo se describe cómo puede usar la API del Centro de partners para cancelar un marketplace comercial o un nuevo recurso de suscripción comercial que coincida con el identificador de cliente y suscripción .

Nota

Las nuevas experiencias comerciales para los servicios basados en licencias incluyen muchas funcionalidades nuevas y están disponibles para todos los Proveedores de soluciones en la nube (CSP). Para obtener más información, consulte la introducción a las experiencias comerciales.

Las nuevas suscripciones comerciales se pueden cancelar en un plazo de 7 días, excepto cuando lo exija la ley, de compra o renovación. Después de pasar esta ventana, las suscripciones ya no se pueden cancelar y la API producirá un error.

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 en el área de trabajo Clientes . En la lista de clientes, selecciona el cliente y, a continuación, elige Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente . El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • Identificador de suscripción.

Método del Centro de partners

Para cancelar una suscripción de Marketplace comercial en el Centro de partners:

  1. Seleccione un cliente.

  2. Seleccione la suscripción que desea cancelar.

  3. Elija la opción Cancelar suscripción y, a continuación, seleccione Enviar.

C#

Para cancelar la suscripción de un cliente:

  1. Obtenga la suscripción por identificador.

  2. Cambie la propiedad Status de la suscripción. Para obtener información sobre los códigos Status, consulte la enumeración SubscriptionStatus.

  3. Una vez realizado el cambio, use IAggregatePartner.Customers la colección y llame al método ById().

  4. Llame a la propiedad Subscriptions, seguida del método ById().

  5. Llame al método Patch().

// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;

selectedSubscription.Status = SubscriptionStatus.Deleted;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);

Aplicación de prueba de consola de ejemplo

Ejemplo: aplicación de prueba de consola. Project: PartnerSDK.FeatureSample (Clase): UpdateSubscription.cs

Solicitud REST

Sintaxis de la solicitud

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

Parámetro de URI

En esta tabla se muestra el parámetro de consulta necesario para suspender la suscripción.

Nombre Tipo Obligatorio Descripción
customer-tenant-id guid Y GUID correspondiente al cliente.
subscription-id guid Y GUID correspondiente a la suscripción.

Encabezados de solicitud

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

Cuerpo de la solicitud

Un recurso Subscription es necesario en el cuerpo de la solicitud. Para cancelar la suscripción, asegúrese de que la propiedad Status se ha actualizado al valor de deleted.

Campo Tipo Obligatorio Descripción
status string Y Estado de las suscripciones. Las opciones pueden ser : active, suspended, deleted

Ejemplo de solicitud

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "deleted",
    "autoRenewEnabled": false,
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}

Respuesta REST

Si la solicitud se realiza correctamente, este método devuelve las propiedades de recursos de suscripción eliminadas en el cuerpo de la respuesta.

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, consulte Códigos de error.

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
X-Locale: en-US

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "deleted",
    "autoRenewEnabled": false,
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [
        {
            "type": "Full",
            "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
        }
    ],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "links": {
        "product": {
            "uri": "/products/DZH318Z0BXWC?country=US",
            "method": "GET",
            "headers": []
        },
        "sku": {
            "uri": "/products/DZH318Z0BXWC/skus/0001?country=US",
            "method": "GET",
            "headers": []
        },
        "availability": {
            "uri": "/products/DZH318Z0BXWC/skus/0001/availabilities/DZH318Z0BMJX?country=US",
            "method": "GET",
            "headers": []
        },
        "self": {
            "uri": "/customers/5921f00a-32c0-4457-aaa1-e8018c650895/subscriptions/6e7aa601-629e-461b-8933-0898c3cc3c7c",
            "method": "GET",
            "headers": []
        }
    },
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {
        "etag": "",
        "objectType": "Subscription"
    }
}