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