Cancelación de 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 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 más información, consulte Introducción a las nuevas experiencias comerciales.
Las nuevas suscripciones comerciales se pueden cancelar en un plazo de 7 días, excepto cuando lo exija la ley, la compra o la 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+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 . 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
).Un identificador de suscripción.
Método del Centro de partners
Para cancelar una suscripción de Marketplace comercial en el Centro de partners:
Seleccione la suscripción que desea cancelar.
Elija la opción Cancelar suscripción y, a continuación, seleccione Enviar.
C#
Para cancelar la suscripción de un cliente:
Obtenga la suscripción por identificador.
Cambie la propiedad Status de la suscripción. Para obtener información sobre los códigos Status, consulte la enumeración SubscriptionStatus.
Una vez realizado el cambio, use
IAggregatePartner.Customers
la colección y llame al método ById().Llame a la propiedad Subscriptions y al método ById().
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 | Type | 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: 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 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: 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"
}
}