Отмена подписки на коммерческую платформу или новую коммерческую подписку с помощью API Центра партнеров

Область применения: Центр партнеров

В этой статье описывается, как с помощью API Центра партнеров отменить коммерческую платформу или ресурс новой коммерческой подписки , соответствующий идентификатору клиента и подписки.

Примечание

Новые коммерческие возможности для служб на основе лицензий включают множество новых возможностей и доступны для всех поставщиков облачных решений (CSP). Дополнительные сведения см. в статье Общие сведения о новых коммерческих возможностях.

Подписки на новую коммерческую модель могут быть отменены в течение 7 дней, если иное не предусмотрено законодательством, после покупки или продления. После прохождения этого окна подписки больше не могут быть отменены, и API выдаст ошибку.

Предварительные условия

  • Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. В этом сценарии поддерживается проверка подлинности с использованием учетных данных автономного приложения и приложения и пользователя.

  • Идентификатор клиента (customer-tenant-id). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров в рабочей области Клиенты . Выберите клиента в списке клиентов и щелкните Учетная запись. На странице Учетная запись клиента найдите идентификатор Майкрософт в разделе Сведения об учетной записи клиента . Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id).

  • Идентификатор подписки.

Метод Центра партнеров

Чтобы отменить подписку на коммерческую платформу в Центре партнеров, выполните следующие действия.

  1. Выберите клиента.

  2. Выберите подписку, которую вы хотите отменить.

  3. Выберите вариант Отмена подписки , а затем нажмите кнопку Отправить.

C#

Чтобы отменить подписку клиента, выполните приведенные ниже действия.

  1. Получение подписки по идентификатору.

  2. Измените свойство Status подписки. Сведения о кодах состояния см. в перечислении SubscriptionStatus.

  3. После внесения изменений используйте коллекцию IAggregatePartner.Customers и вызовите метод ById().

  4. Вызовите свойство Subscriptions, а затем метод ById().

  5. Вызовите метод 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);

Пример тестового приложения консоли

Пример: консольное тестовое приложение. Проект: PartnerSDK.FeatureSample Класс: UpdateSubscription.cs

Запрос REST

Синтаксис запроса

Метод Универсальный код ресурса (URI) запроса
PATCH {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1

Параметр универсального кода ресурса (URI)

В этой таблице перечислены необходимые параметры запроса для приостановки подписки.

Имя Тип Обязательно Описание
customer-tenant-id guid Да Идентификатор GUID, соответствующий клиенту.
идентификатор подписки guid Да Идентификатор GUID, соответствующий подписке.

Заголовки запроса

Дополнительные сведения см. в статье о заголовках REST Центра партнеров.

Тело запроса

В тексте запроса нужно указать полный ресурс Subscription. Чтобы отменить подписку, убедитесь, что свойство Status обновлено до значения deleted.

Поле Тип Обязательно Описание
status строка Да Состояние подписок. Возможные параметры: , activesuspended,deleted

Пример запроса

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"},
}

Ответ REST

Если запрос выполнен успешно, этот метод возвращает свойства удаленного ресурса Subscription в тексте ответа.

Коды успешного выполнения и ошибок в ответе

Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. См. полный список кодов ошибок.

Пример ответа

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"
    }
}