Annullare un marketplace commerciale o una nuova sottoscrizione commerciale usando le API del Centro per i partner
Si applica a: Centro per i partner
Questo articolo descrive come usare l'API del Centro per i partner per annullare un marketplace commerciale o una nuova risorsa di sottoscrizione commerciale corrispondente all'ID cliente e sottoscrizione.
Nota
Le nuove esperienze commerciali per i servizi basati su licenza includono molte nuove funzionalità e sono disponibili per tutti i provider di soluzioni cloud. Per altre informazioni, vedere la panoramica delle nuove esperienze commerciali.
Le nuove sottoscrizioni commerciali possono essere annullate entro 7 giorni, tranne dove diversamente richiesto dalla legge, di acquisto o rinnovo. Dopo aver superato questa finestra, le sottoscrizioni non possono più essere annullate e l'API genererà un errore.
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 nell'area di lavoro Clienti . Seleziona il cliente nell'elenco dei clienti e quindi seleziona Account. Nella pagina Account del cliente cercare l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id
).ID sottoscrizione.
Metodo del Centro per i partner
Per annullare una sottoscrizione del marketplace commerciale nel Centro per i partner:
Selezionare la sottoscrizione da annullare.
Scegliere l'opzione Annulla sottoscrizione e quindi selezionare Invia.
C#
Per annullare la sottoscrizione di un cliente:
Ottenere la sottoscrizione in base all'ID.
Modificare la proprietà Status della sottoscrizione. Per informazioni sui codici di lo Status, vedere l'enumerazione SubscriptionStatus.
Dopo aver apportato la modifica, usare la
IAggregatePartner.Customers
raccolta e chiamare il metodo ById().Chiamare la proprietà Subscriptions, seguita dal metodo ById().
Chiamare il metodo 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);
App di test della console di esempio
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 sospendere 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. Per annullare la sottoscrizione, verificare che la proprietà Status sia stata aggiornata al valore di deleted
.
Campo | Type | Obbligatorio | Descrizione |
---|---|---|---|
status | string | Y | Stato delle sottoscrizioni. Le opzioni possono essere - active , suspended , deleted |
Esempio di richiesta
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
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"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"},
}
Risposta REST
Se la richiesta ha esito positivo, questo metodo restituisce le proprietà delle risorse della sottoscrizione eliminate nel corpo della risposta.
Codici di errore e di esito della risposta
Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore.
Risposta di esempio
HTTP/1.1 200 OK
Content-Length: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
{
"id": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
},
"publisherName": "publisher Name",
"orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
"attributes": {
"etag": "",
"objectType": "Subscription"
}
}