Aggiornare una sottoscrizione in base all'ID
Si applica a: Centro per i partner | Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud per il governo degli Stati Uniti
Aggiorna una sottoscrizione in base all'ID.
Nel Centro per i partner eseguire questa operazione selezionando prima un cliente. Selezionare quindi la sottoscrizione in questione che si vuole aggiornare. Per completare, modificare i valori desiderati e quindi selezionare Invia.
Prerequisiti
Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali app autonome e App+Utente.
ID cliente (
customer-tenant-id
). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina dell'account del cliente cerca l'ID Microsoft nella sezione Info account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id
).ID sottoscrizione.
C#
Per aggiornare i valori della sottoscrizione di un cliente, ottenere prima di tutto la sottoscrizione, quindi modificare le proprietà desiderate della sottoscrizione. Dopo aver apportato la modifica, usare la raccolta IAggregatePartner.Customers e chiamare il metodo ById(). Chiamare quindi la proprietà Subscriptions, seguita dal metodo ById(). Completare quindi chiamando il metodo Patch().
// IAggregatePartner partnerOperations;
// var customerId;
// var subscriptionId;
//retrieving the subscription, for the purpose of the sample
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.Get();
Subscription selectedSubscription = customerSubscriptions.Items.FirstOrDefault(sub => sub.Status == SubscriptionStatus.Active);
//update selected subscription; a variety of fields can be updated, but quantity is used as an example below
selectedSubscription.Quantity++;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);
Esempio: App di test della console. Progetto: Classe PartnerSDK.FeatureSample: UpdateSubscription.cs
Richiesta REST
Sintassi della richiesta
metodo | URI della richiesta |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id} HTTP/1.1 |
Parametro URI
Questa tabella elenca il parametro di query necessario per aggiornare la sottoscrizione.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
customer-tenant-id | guid | Y | GUID corrispondente al cliente. |
subscription-id | guid | Y | GUID corrispondente alla sottoscrizione. |
Intestazioni delle richieste
Per altre informazioni, vedi Intestazioni REST del Centro per i partner.
Testo della richiesta
Nel corpo della richiesta è necessaria una risorsa Subscription completa. Assicurarsi che le proprietà desiderate vengano aggiornate.
Se l'opzione autoRenewEnabled di una sottoscrizione è impostata su true, include istruzioni per il termine successivo o include istruzioni di fatturazione successive, questi attributi sono necessari come parte del corpo della richiesta PATCH. Se questi attributi non vengono forniti, autoRenewEnabled viene impostato inavvertitamente su false o le istruzioni di scadenza/fatturazione successive vengono eliminate. Questo vale solo se le informazioni minime si trovano nel payload. Se viene eseguita una chiamata Get prima e la risposta viene modificata e passata all'API, i campi obbligatori verranno popolati nella richiesta.
Esempio di richiesta #1a
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<id-for-subscription> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
"FriendlyName": "nickname",
"Quantity": 2,
"UnitType": "none",
"ParentSubscriptionId": null,
"CreationDate": "2015-11-25T06:41:12Z",
"EffectiveStartDate": "2015-11-24T08:00:00Z",
"CommitmentEndDate": "2016-12-12T08:00:00Z",
"Status": "active",
"AutoRenewEnabled": false,
"BillingType": "none",
"PartnerId": null,
"ContractType": "subscription",
"OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
"Attributes": {
"Etag": "<etag>",
"ObjectType": "Subscription"
}
}
Esempio di richiesta #1b: Nuova sottoscrizione commerciale per aggiornare il nome descrittivo
Le nuove esperienze commerciali per i servizi basati su licenza includono molte nuove funzionalità e sono disponibili per tutti i partner Cloud Solution Provider (CSP). Per altre informazioni, vedere Panoramica delle nuove esperienze commerciali.
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
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"offerName": "Microsoft 365 Business Basic",
"friendlyName": "nickname", //originally Microsoft 365 Business Basic
"productType": {
"id": "OnlineServicesNCE",
"displayName": "OnlineServicesNCE"
},
"quantity": 1,
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-01-14T16:57:15.0966728Z",
"effectiveStartDate": "2021-01-14T16:57:14.498252Z",
"commitmentEndDate": "2022-01-13T00:00:00Z",
"status": "active",
"autoRenewEnabled": true, //must be included if set to true; see note in Request Body section
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1Y",
"renewalTermDuration": "",
"refundOptions": [
{
"type": "Full",
"expiresAt": "2021-01-15T00:00:00Z"
}
],
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH18?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft Corporation",
"orderId": "34b37d7340cc",
"attributes": {
"objectType": "Subscription"
}
}
Risposta REST
In caso di esito positivo, questo metodo restituisce un codice di stato HTTP 200 e le proprietà aggiornate delle risorse di sottoscrizione nel corpo della risposta.
Codici di errore e di esito della risposta
Ogni risposta restituisce un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere il codice di stato, il tipo di errore e altri parametri. Per l'elenco completo, vedi Codici di errore.
Quando l'operazione patch richiede più tempo del previsto, il Centro per i partner invia un codice di stato HTTP 202 e un'intestazione di posizione che punta a dove recuperare la sottoscrizione. È possibile eseguire periodicamente una query sulla sottoscrizione per monitorare lo stato.
Esempi di risposta
Esempio di risposta #1a
Richiesta riuscita con un codice di stato HTTP 200 :
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscriptionID> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-Contract-Version: v1
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"Id": "83ef9d05-4169-4ef9-9657-0e86b1eab1de",
"FriendlyName": "nickname",
"Quantity": 1,
"UnitType": "none",
"ParentSubscriptionId": null,
"CreationDate": "2015-11-25T06:41:12Z",
"EffectiveStartDate": "2015-11-24T08:00:00Z",
"CommitmentEndDate": "2016-12-12T08:00:00Z",
"Status": "active",
"AutoRenewEnabled": true,
"BillingType": "none",
"PartnerId": null,
"ContractType": "subscription",
"Links": {
"Offer": {
"Uri": "/v1/offers/0CCA44D6-68E9-4762-94EE-31ECE98783B9",
"Method": "GET",
"Headers": []
},
"Entitlement": {
"Uri": "/entitlements?key=<key>",
"Method": "GET",
"Headers": []
},
"Self": {
"Uri": "/subscriptions?key=<key>",
"Method": "GET",
"Headers": []
}
},
"OrderId": "6183db3d-6318-4e52-877e-25806e4971be",
"Attributes": {
"Etag": "<etag>",
"ObjectType": "Subscription"
}
}
Esempio di risposta #1b: nuova sottoscrizione commerciale per aggiornare il nome descrittivo
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
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"offerId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"offerName": "Microsoft 365 Business Basic",
"friendlyName": "nickname",
"productType": {
"id": "OnlineServicesNCE",
"displayName": "OnlineServicesNCE"
},
"quantity": 1,
"unitType": "Licenses",
"hasPurchasableAddons": false,
"creationDate": "2021-01-14T16:57:15.0966728Z",
"effectiveStartDate": "2021-01-14T16:57:14.498252Z",
"commitmentEndDate": "2022-01-13T00:00:00Z",
"status": "active",
"autoRenewEnabled": true,
"isTrial": false,
"billingType": "license",
"billingCycle": "monthly",
"termDuration": "P1Y",
"renewalTermDuration": "",
"refundOptions": [
{
"type": "Full",
"expiresAt": "2021-01-15T00:00:00Z"
}
],
"isMicrosoftProduct": true,
"partnerId": "",
"attentionNeeded": false,
"actionTaken": false,
"contractType": "subscription",
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH18?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/d8202a51-69f9-4228-b900-d0e081af17d7/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
},
"publisherName": "Microsoft Corporation",
"orderId": "34b37d7340cc",
"attributes": {
"objectType": "Subscription"
}
}
Esempio di risposta n. 2
Richiesta riuscita con un codice di stato HTTP 202 :
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscriptionID> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 01880c1b-1966-40f0-d470-501a66d9948b
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Content-Type: application/json
Content-Length: 1432
Connection: Keep-Alive
Location: /customers/<customer-tenant-id>/subscriptions/<subscriptionID>