Cancelar um marketplace comercial ou uma nova subscrição comercial com as APIs do Centro de Parceiros
Aplica-se a: Centro de Parceiros
Este artigo descreve como pode utilizar a API do Centro de Parceiros para cancelar um marketplace comercial ou um novo recurso de subscrição comercial que corresponda ao ID do cliente e da subscrição.
Nota
As novas experiências comerciais para serviços baseados em licenças incluem muitas novas capacidades e estão disponíveis para todos os Fornecedores de Soluções Cloud (CSPs). Para obter mais informações, veja New commerce experiences overview (Descrição geral das novas experiências comerciais).
As novas subscrições comerciais podem ser canceladas no prazo de 7 dias, exceto quando exigido por lei, de compra ou renovação. Após a passagem desta janela, as subscrições já não podem ser canceladas e a API gerará um erro.
Pré-requisitos
Credenciais conforme descrito na autenticação do Centro de Parceiros. Este cenário suporta a autenticação com credenciais de Aplicação e Aplicação+Utilizador autónomas.
Um ID de cliente (
customer-tenant-id
). Se não souber o ID do cliente, pode procurá-lo no Centro de Parceiros na área de trabalho Clientes . Selecione o cliente na lista de clientes e, em seguida, selecione Conta. Na página Conta do cliente, procure o ID Microsoft na secção Informações da Conta de Cliente . O ID da Microsoft é o mesmo que o ID do cliente (customer-tenant-id
).Um ID de subscrição.
Método do Centro de Parceiros
Para cancelar uma subscrição do marketplace comercial no Centro de Parceiros:
Selecione a subscrição que pretende cancelar.
Selecione a opção Cancelar subscrição e, em seguida, selecione Submeter.
C#
Para cancelar a subscrição de um cliente:
Obtenha a subscrição por ID.
Altere a propriedade Estado da subscrição. Para obter informações sobre os Códigos de estado, veja SubscriptionStatus enumeration (Enumeração SubscriptionStatus).
Depois de efetuar a alteração, utilize a coleção
IAggregatePartner.Customers
e chame o método ById( ).Chame a propriedade Subscrições , seguido do método ById( ).
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);
Aplicação de teste da consola de exemplo
Exemplo: aplicação de teste da consola. Project: PartnerSDK.FeatureSample Class: UpdateSubscription.cs
Pedido REST
Sintaxe do pedido
Método | URI do pedido |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
Parâmetro URI
Esta tabela lista o parâmetro de consulta necessário para suspender a subscrição.
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
customer-tenant-id | guid | Y | Um GUID correspondente ao cliente. |
subscription-id | guid | Y | Um GUID correspondente à subscrição. |
Cabeçalhos do pedido
Para obter mais informações, veja Cabeçalhos REST do Centro de Parceiros.
Corpo do pedido
É necessário um recurso de Subscrição completo no corpo do pedido. Para cancelar a sua subscrição, certifique-se de que a propriedade Estado foi atualizada para o valor de deleted
.
Campo | Tipo | Necessário | Descrição |
---|---|---|---|
estado | string | Y | Estado das subscrições. As opções podem ser - active , suspended , deleted |
Exemplo de pedido
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 do REST
Se o pedido for bem-sucedido, este método devolve as propriedades do recurso subscrição eliminadas no corpo da resposta.
Códigos de erro e êxito da resposta
Cada resposta inclui um código de estado HTTP que indica êxito ou falha e informações adicionais de depuração. Utilize uma ferramenta de rastreio de rede para ler este código, tipo de erro e parâmetros adicionais. Para obter a lista completa, veja 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"
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários