Cancelar um marketplace comercial ou uma nova assinatura de comércio usando APIs do Partner Center

Aplica-se a: Partner Center

Este artigo descreve como você pode usar a API do Partner Center para cancelar um marketplace comercial ou um novo recurso de assinatura de comércio que corresponda à ID do cliente e da assinatura.

Observação

As novas experiências de comércio para serviços baseados em licença incluem muitos recursos novos e estão disponíveis para todos os CSPs (provedores de soluções em nuvem). Para obter mais informações, confira a visão geral das novas experiências de comércio.

As novas assinaturas de comércio podem ser canceladas dentro de 7 dias, exceto quando exigido por lei, de compra ou renovação. Depois que essa janela for aprovada, as assinaturas não poderão mais ser canceladas e a API gerará um erro.

Pré-requisitos

  • Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.

  • Uma ID do cliente (customer-tenant-id). Se você não souber a ID do cliente, poderá pesquisá-la no Partner Center no workspace Clientes . Selecione o cliente na lista de clientes e selecione Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente . A ID da Microsoft é igual à ID do cliente (customer-tenant-id).

  • Uma ID de assinatura.

Método do Partner Center

Para cancelar uma assinatura do marketplace comercial no Partner Center:

  1. Selecione um cliente.

  2. Selecione a assinatura que você deseja cancelar.

  3. Escolha a opção Cancelar assinatura e selecione Enviar.

C#

Para cancelar a assinatura de um cliente:

  1. Obtenha a assinatura por ID.

  2. Altere a propriedade Status da assinatura. Para obter informações sobre os códigos Status, consulte Enumeração SubscriptionStatus.

  3. Depois que a alteração for feita, use sua IAggregatePartner.Customers coleção e chame o método ById().

  4. Chame a propriedade Subscriptions, seguida pelo método ById().

  5. Chame o 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);

Aplicativo de teste de console de exemplo

Exemplo: aplicativo de teste de console. Projeto: Classe PartnerSDK.FeatureSample: UpdateSubscription.cs

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
PATCH {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1

Parâmetro do URI

Esta tabela lista o parâmetro de consulta necessário para suspender a assinatura.

Nome Type Obrigatório Descrição
customer-tenant-id guid Y Um GUID correspondente ao cliente.
subscription-id guid Y Um GUID correspondente à assinatura.

Cabeçalhos de solicitação

Para obter mais informações, confira Cabeçalhos REST do Partner Center.

Corpo da solicitação

Um recurso de inscrição completa é necessário no corpo da solicitação. Para cancelar sua assinatura, verifique se a propriedade Status foi atualizada para o valor de deleted.

Campo Type Obrigatório Descrição
status cadeia de caracteres Y Status das assinaturas. As opções podem ser - active, suspended, , deleted

Exemplo de solicitação

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

Resposta REST

Se a solicitação for bem-sucedida, esse método retornará as propriedades de recurso de assinatura excluídas no corpo da resposta.

Códigos de êxito e de erro de resposta

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de Erro.

Exemplo de resposta

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