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 usługi New Commerce Experience (NCE) oraz subskrypcji typu legacy i, możesz użyć API do zaktualizowania subskrypcji według identyfikatora — Deweloper aplikacji partnera | Microsoft Learn.
Aktualizuje zamówienie z rozliczenia miesięcznego na roczne lub z rocznego na miesięczne.
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 dla tego artykułu:
- Zmiana cyklu rozliczeniowego dla wersji próbnej
- Zmiana cykli rozliczeniowych dla wszystkich ofert nierocznych (co miesiąc, sześć lat) & subskrypcji platformy Azure
- Zmiana cykli rozliczeniowych dla nieaktywnych subskrypcji
- Zmiana cykli rozliczeniowych dla subskrypcji opartych na licencjach usług online firmy Microsoft
Warunki wstępne
Poświadczenia zgodnie z opisem w uwierzytelnianie Centrum Partnerskiego. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i poświadczeń 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 klient z listy klientów, a następnie konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Firmy 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
Metoda | Żądanie URI |
---|---|
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.
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
identyfikator-najemcy-klienta | GUID | Y | Identyfikator najemcy-klienta sformatowany jako GUID , który identyfikuje klienta |
identyfikator zamówienia | Globalnie Unikalny Identyfikator (GUID) | Y | Identyfikator zamówienia |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum Partnerów.
Treść żądania
W poniższych tabelach opisano właściwości w treści żądania.
Zamówienie
Własność | Typ | Wymagane | Opis |
---|---|---|---|
Id | struna | N | Identyfikator zamówienia dostarczony po pomyślnym utworzeniu zamówienia |
IdentyfikatorReferencyjnyKlienta | struna | Y | Identyfikator klienta |
Cykl rozliczeniowy | struna | Y | Wskazuje częstotliwość, z jaką partner jest rozliczany za to zamówienie. Obsługiwane wartości to nazwy członków znalezione w BillingCycleType. |
LineItems | tablica obiektów | Y | Tablica zasobów OrderLineItem |
Data utworzenia | znacznik daty i czasu | N | Data utworzenia zamówienia w formacie daty i godziny |
Atrybuty | Obiekt | N | Zawiera element "ObjectType": "OrderLineItem" |
PozycjaZamówienia
Własność | Typ | Wymagane | Opis |
---|---|---|---|
NumerPozycji | liczba | Y | Numer elementu wiersza, rozpoczynający się od 0 |
Identyfikator oferty | struna | Y | Identyfikator oferty |
Identyfikator subskrypcji | struna | Y | Identyfikator subskrypcji |
PrzyjaznaNazwa | struna | N | Przyjazna nazwa subskrypcji zdefiniowanej przez partnera w celu ułatwienia uściślania |
Ilość | liczba | Y | Liczba licencji lub wystąpień |
PartnerIdOnRecord | struna | N | PartnerID partnera rekordu |
Atrybuty | Obiekt | N | Zawiera element "ObjectType": "OrderLineItem" |
Przykład żądania
Przejście na rozliczenia roczne
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"
}
}