Zmienianie cyklu rozliczeniowego subskrypcji klienta
Dotyczy: Centrum partnerskie | Centrum partnerskie obsługiwane przez firmę 21Vianet | Centrum partnerskie dla chmury firmy Microsoft dla instytucji rządowych USA
Napiwek
Ten interfejs API umożliwia modyfikowanie częstotliwości rozliczeń tylko dla starszych subskrypcji.
Aby zmodyfikować częstotliwość rozliczeń dla subskrypcji nowego środowiska handlowego (NCE) i starszych subskrypcji, możesz użyć opcji Aktualizuj subskrypcję według identyfikatora — deweloper aplikacji partnera | Interfejs API platformy Microsoft Learn .
Aktualizuje zamówienie od miesięcznego do rocznego rozliczenia lub od rozliczeń rocznych do miesięcznych.
W Centrum partnerskim tę operację można wykonać, przechodząc do strony szczegółów subskrypcji klienta. W tym miejscu zobaczysz opcję definiującą bieżący cykl rozliczeniowy dla subskrypcji z możliwością zmiany i przesłania go.
Poza zakresem tego artykułu:
- Zmiana cyklu rozliczeniowego dla wersji próbnej
- Zmiana cykli rozliczeniowych dla wszystkich ofert nierocznych (miesięcznych, sześcioletnich) i subskrypcji platformy Azure
- Zmiana cykli rozliczeniowych dla nieaktywnych subskrypcji
- Zmiana cykli rozliczeniowych dla subskrypcji opartych na licencjach firmy Microsoft Usługi online
Wymagania wstępne
Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.
Identyfikator klienta (
customer-tenant-id
). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Centrum partnerskim, wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
).Identyfikator zamówienia.
C#
Aby zmienić częstotliwość cyklu rozliczeniowego, zaktualizuj właściwość Order.BillingCycle.
// IAggregatePartner partnerOperations;
// string customerId;
// string offerId;
// string orderId;
var order = new Order()
{
ReferenceCustomerId = customerId,
BillingCycle = BillingCycleType.Annual,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
LineItemNumber = 0,
OfferId = offerId,
SubscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
Quantity = 1
}
}
};
var createdOrder = partnerOperations.Customers.ById(customerId).Orders.ById(orderId).Patch(order);
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
Parametr identyfikatora URI
W tej tabeli wymieniono wymagany parametr zapytania, aby zmienić ilość subskrypcji.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
identyfikator dzierżawy klienta | Identyfikator GUID | Y | Identyfikator GUID sformatowany jako customer-tenant-id , który identyfikuje klienta |
order-id | Identyfikator GUID | Y | Identyfikator zamówienia |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
W poniższych tabelach opisano właściwości w treści żądania.
Zamówienie
Właściwość | Type | Wymagania | Opis |
---|---|---|---|
Id | string | N | Identyfikator zamówienia dostarczony po pomyślnym utworzeniu zamówienia |
ReferenceCustomerId | string | Y | Identyfikator klienta |
BillingCycle | string | Y | Wskazuje częstotliwość, z jaką partner jest rozliczany za to zamówienie. Obsługiwane wartości to nazwy elementów członkowskich znajdujące się w obszarze BillingCycleType. |
LineItems | tablica obiektów | Y | Tablica zasobów OrderLineItem |
CreationDate | datetime | N | Data utworzenia zamówienia w formacie daty i godziny |
Atrybuty | Objekt | N | Zawiera element "ObjectType": "OrderLineItem" |
OrderLineItem
Właściwość | Type | Wymagania | opis |
---|---|---|---|
LineItemNumber | Liczba | Y | Numer elementu wiersza, rozpoczynający się od 0 |
Identyfikator oferty | string | Y | Identyfikator oferty |
SubscriptionId | string | Y | Identyfikator subskrypcji |
FriendlyName | string | N | Przyjazna nazwa subskrypcji zdefiniowanej przez partnera w celu ułatwienia uściślania |
Ilość | Liczba | Y | Liczba licencji lub wystąpień |
PartnerIdOnRecord | string | N | PartnerID partnera rekordu |
Atrybuty | Objekt | N | Zawiera element "ObjectType": "OrderLineItem" |
Przykład żądania
Aktualizacja do rozliczeń rocznych
PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue
{
"Id": null,
"ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"BillingCycle" : "Annual",
"LineItems": [{
"LineItemNumber": 0,
"OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"SubscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"FriendlyName": "Some friendly name",
"Quantity": 2,
"PartnerIdOnRecord": null,
"Attributes": {
"ObjectType": "OrderLineItem"
}
}
],
"CreationDate": null,
"Attributes": {
"ObjectType": "Order"
}
}
Odpowiedź REST
W przypadku powodzenia ta metoda zwraca zaktualizowaną kolejność subskrypcji w treści odpowiedzi.
Kody powodzenia i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT
{
"id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
"billingCycle": "Annual",
"lineItems": [{
"lineItemNumber": 0,
"offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"friendlyName": "new offer purchase",
"quantity": 5,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"friendlyName": "Some friendly name",
"quantity": 2,
"links": {
"subscription": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2017-01-25T14:53:12.093-08:00",
"links": {
"self": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
"method": "GET",
"headers": []
}
},
"attributes": {
"etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
"objectType": "Order"
}
}