Cancelación de una suscripción de Microsoft Marketplace o de comercio nueva 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 recurso de suscripción de Microsoft Marketplace o una nueva suscripción que coincida con el identificador de suscripción y el cliente.

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 información general sobre las nuevas experiencias comerciales.

Consulte Nueva política de cancelación de experiencia comercial para conocer las nuevas políticas de cancelación comercial. Una vez transcurrido el período de cancelación, las suscripciones ya no se pueden cancelar y la API arrojará un error.

Prerrequisitos

  • Credenciales tal como se describe en Autenticación del Centro de asociados. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • 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 . Seleccione el cliente de la lista de clientes y, a continuación, seleccione Cuenta. En la página Cuenta del cliente, busque el Id. de Microsoft en la sección Información de la cuenta de cliente. El ID de Microsoft es el mismo que el ID de cliente (customer-tenant-id).

  • Un identificador de suscripción.

Método del Centro de partners

Para cancelar una suscripción de Microsoft Marketplace 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 ID.

  2. Cambie la propiedad Status de la suscripción. Para obtener información sobre los códigos de estado , vea Enumeración SubscriptionStatus.

  3. Una vez realizado el cambio, use la IAggregatePartner.Customers 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);

Ejemplo de aplicación de prueba de consola

Ejemplo: Aplicación de prueba de consola. Proyecto: PartnerSDK.FeatureSample Clase: UpdateSubscription.cs

Solicitud REST

Sintaxis de la solicitud

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

Parámetro de URI

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

Nombre Tipo Obligatorio Descripción
id de cliente-arrendatario Guid Y Un GUID correspondiente al cliente.
id-de-suscripción Guid Y Un GUID correspondiente a la suscripción.

Cabeceras de solicitud

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

Cuerpo de la solicitud

Se requiere un recurso de suscripción completo en el cuerpo de la solicitud. Para cancelar la suscripción, asegúrese de que la propiedad Status se haya actualizado al valor de deleted.

Campo Tipo Obligatorio Descripción
estado cadena 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: aaaa0000-bb11-2222-33cc-444444dddddd
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "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 del recurso de suscripción eliminado en el cuerpo de la respuesta.

Códigos de éxito y de error de la respuesta

Cada respuesta incluye un código de estado HTTP que indica el éxito o error y la información adicional de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y 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: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

{
    "id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "method": "GET",
            "headers": []
        }
    },
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {
        "etag": "",
        "objectType": "Subscription"
    }
}