Udostępnij za pośrednictwem


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"
    }
}