Fazer a transição de uma assinatura
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para o Microsoft Cloud for US Government
Atualiza a assinatura de um cliente para uma assinatura de destino especificada.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário oferece 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á procurá-la no Partner Center selecionando o espaço de trabalho Clientes, o cliente na lista de clientes e, em seguida, 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
).Dois IDs de assinatura, um para a assinatura inicial e outro para a assinatura de destino.
Funções GDAP
Você precisará de pelo menos uma das seguintes funções GDAP:
- Leitor de diretório ou leitor global (somente atualização)
- Directory Writer (atualização com transferência de licença)
C#
Para atualizar a assinatura de um cliente, primeiro obtenha essa assinatura do cliente. Em seguida, obtenha uma lista de atualizações para essa assinatura chamando a propriedade Upgrades seguida pelos métodos Get() ou GetAsync(). Escolha uma atualização de destino nessa lista de atualizações e chame a propriedade Upgrades da assinatura inicial, seguida pelo método Create().
// IAggregatePartner partnerOperations;
// string selectedCustomerId;
// string subscriptionIdForUpgrade;
// Upgrade targetOffer;
UpgradeResult upgradeResult = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(subscriptionIdForUpgrade).Upgrades.Create(targetOffer);
Exemplo: Aplicativo de teste de console. Projeto: PartnerSDK.FeatureSamples Classe: UpgradeSubscription.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{id-for-subscription}/upgrades HTTP/1.1 |
POST | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{id-for-target}/upgrades HTTP/1.1 |
Parâmetro do URI
Use o parâmetro de consulta a seguir para fazer a transição da assinatura.
Nome | Type | Obrigatório | Descrição |
---|---|---|---|
id de locatário do cliente | guid | S | Um GUID correspondente ao cliente. |
ID de assinatura | guid | S | Um GUID correspondente à assinatura inicial. |
ID para destino | guid | S | Um GUID correspondente à assinatura de destino. |
Cabeçalhos de solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Nenhum
Exemplo de solicitação
GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{id-for-subscription}/upgrades HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US
POST https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{id-for-target}/upgrades HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 750fd5ea-904b-4c3e-b476-60d0feacab0d
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US
Content-Type: application/json
Content-Length: 1098
Expect: 100-continue
{
"TargetOffer":{
"Id":"796B6B5F-613C-4E24-A17C-EBA730D49C02",
"Name":"Office 365 Enterprise E3",
"Description":"The best plan for businesses that need full productivity, communication and collaboration tools with the familiar Office suite, including Office Online.",
"MinimumQuantity":1,
"MaximumQuantity":10000000,
"Rank":61,
"Uri":"/3c95518e-8c37-41e3-9627-0ca339200f53/Offers/796B6B5F-613C-4E24-A17C-EBA730D49C02",
"Locale":"en-us",
"Country":"US",
"Category":{
"Id":"Enterprise_Key",
"Name":"Enterprise",
"Rank":20,
"Locale":"en-us",
"Country":"US",
"Attributes":{
"ObjectType":"OfferCategory"
}
},
"PrerequisiteOffers":[],
"IsAddOn":false,
"IsAvailableForPurchase":true,
"Billing":"license",
"IsAutoRenewable":true,
"Product":{
"Id":"6fd2c87f-b296-42f0-b197-1e91e994b900",
"Name":"Office 365 Enterprise E3",
"Unit":"Licenses"
},
"UnitType":"Licenses",
"Links":{
"LearnMore":{
"Uri":"http://g.microsoftonline.com/0BXPS00en/1015",
"Method":"GET",
"Headers":[]
}
}
"Attributes":{
"ObjectType":"Offer"
}
},
"UpgradeType":1,
"IsEligible":true,
"Quantity":1,
"UpgradeErrors":[],
"Attributes":{
"ObjectType":"Upgrade"
}
}
Resposta REST
Se bem-sucedido, esse método retorna um recurso de resultado de atualização 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: 138
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 29 Jan 2016 20:42:26 GMT
{
"totalCount": 1,
"items": [{
"targetOffer": {
"id": "91FD106F-4B2C-4938-95AC-F54F74E9A239",
"name": "Office 365 Enterprise E1",
"description": "For businesses that need communication and collaboration tools and the ability to read and do lightweight editing of documents with Office Online.",
"minimumQuantity": 1,
"maximumQuantity": 10000000,
"rank": 48,
"uri": "/3c95518e-8c37-41e3-9627-0ca339200f53/Offers/91FD106F-4B2C-4938-95AC-F54F74E9A239",
"locale": "en-us",
"country": "US",
"category": {
"id": "Enterprise_Key",
"name": "Enterprise",
"rank": 20,
"locale": "en-us",
"country": "US",
"attributes": {
"objectType": "OfferCategory"
}
},
"prerequisiteOffers": [],
"isAddOn": false,
"isAvailableForPurchase": true,
"billing": "license",
"isAutoRenewable": true,
"isInternal": false,
"conversionTargetOffers": [],
"partnerQualifications": ["none"],
"product": {
"id": "18181a46-0d4e-45cd-891e-60aabd171b4e",
"name": "Office 365 Enterprise E1",
"unit": "Licenses"
},
"unitType": "Licenses",
"links": {
"learnMore": {
"uri": "http://g.microsoftonline.com/0BXPS00en/1013",
"method": "GET",
"headers": []
},
"self": {
"uri": "/offers/91FD106F-4B2C-4938-95AC-F54F74E9A239?country=US",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Offer"
}
},
"upgradeType": "upgrade_only",
"isEligible": false,
"quantity": 1,
"upgradeErrors": [{
"code": 2,
"description": "Subscription cannot be upgraded because the source subscription state is not active. Additional Details contains the current source subscription state.",
"attributes": {
"objectType": "UpgradeError"
}
}],
"attributes": {
"objectType": "Upgrade"
}
}],
"attributes": {
"objectType": "Collection"
}
}
HTTP/1.1 200 OK
Content-Length: 448
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 750fd5ea-904b-4c3e-b476-60d0feacab0d
MS-CV: RnK86LBbDkWP/w2R.0
MS-ServerId: 102031201
Date: Fri, 29 Jan 2016 20:44:21 GMT
{
"sourceSubscriptionId":"896a2862-67e2-4f3d-bb3f-c50c42b5fad8",
"targetSubscriptionId":"2add8a55-454a-4ae5-a4c9-5107dc6e9768",
"upgradeType":1,
"upgradeErrors":[],
"licenseErrors":[],
"attributes":{
"objectType":"UpgradeResult"
}
}