Fakturowane i niefakturowane dzienne użycie, API do uzgodnień, wersja 2 (GA)
Dotyczy: Centrum Partnerskiego (niedostępne w usługach Azure Government lub Azure China 21Vianet)
Omówienie architektury
Nowy asynchroniczny interfejs API oferuje znaczne postępy w sposobie obsługi dostępu do danych rozliczeń i uzgodnień. Takie podejście rozwiązuje problemy związane z tradycyjnymi metodami synchronicznymi, takimi jak utrzymywanie długotrwałych połączeń i przetwarzanie dużych partii danych. Oto najważniejsze korzyści i mechanizmy tego interfejsu API:
Kluczowe składniki
Bezpieczny dostęp za pomocą wzorca klucza valet
Wzorzec klucza valet zapewnia bezpieczny, ograniczony dostęp do danych rozliczeniowych. Podobnie jak klucz valet pozwala komuś jeździć samochodem bez dostępu do bagażnika, ten wzorzec zapewnia szczegółową kontrolę dostępu. Zamiast udostępniać poświadczenia, token sygnatury dostępu współdzielonego (SAS) udziela ograniczonego, ograniczonego czasu dostępu do określonych zasobów. Ten wzorzec zmniejsza ryzyko nieautoryzowanego dostępu, konfigurując dokładne czasy wygaśnięcia i uprawnienia dostępu.
Ulepszona wydajność za pomocą asynchronicznego wzorca żądania-odpowiedzi
Pomyśl o tym jak o zamawianiu w ruchliwej restauracji. Zamiast czekać przy ladzie, otrzymujesz sygnalizator i możesz zająć się innymi rzeczami w czasie przygotowywania zamówienia. Gdy dane będą gotowe, system powiadomi Cię.
Asynchroniczny charakter interfejsu API oznacza, że wysyłasz żądanie, a system przetwarza je w tle. To asynchroniczne żądanie-odpowiedź efektywnie wykorzystuje zasoby, zmniejsza obciążenie serwera oraz minimalizuje przekroczenia czasów odpowiedzi i błędy, które są typowe dla synchronicznego odzyskiwania danych.
Elastyczność uprawnień dostępu do danych
Tokeny SAS zapewniają elastyczność zarządzania uprawnieniami dostępu do danych. Możesz wygenerować tokeny, które udzielają dostępu do wszystkich atrybutów rozliczanych danych uzgodnień faktur lub ograniczyć dostęp do określonych podzestawów. Ten stopień szczegółowości umożliwia organizacjom dostosowanie dostępu do danych zgodnie z wewnętrznymi zasadami i wymaganiami prawnymi, zwiększenie bezpieczeństwa i zgodności.
Uproszczony przepływ pracy i ulepszone czasy przetwarzania danych
Wzorzec asynchronicznego żądania-odpowiedzi usprawnia przetwarzanie danych, umożliwiając dostęp dynamiczny zamiast stałych partii 2000 elementów wiersza. Takie podejście prowadzi do szybszych wyników i ulepszonych czasów przetwarzania, upraszczając integrację danych rozliczeń i uzgodnień z istniejącymi systemami i przepływami pracy.
Korzyści
korzyści z wydajności
Zamiast utrzymywać długotrwałe połączenia i przetwarzać stałe partie, nowy system umożliwia:
- Utwórz szybkie żądanie początkowe.
- Odbieranie bezpiecznego tokenu dostępu.
- Przetwarzanie danych we własnym tempie.
- Uzyskaj dostęp do dokładnie tego, czego potrzebujesz, gdy tego potrzebujesz.
ulepszenia zabezpieczeń
Wzorzec klucza valet zaimplementowany za pomocą tokenów SAS zapewnia:
- Ograniczony czasowo dostęp.
- Ograniczone uprawnienia.
- Eliminacja udostępniania lub przechowywania stałych poświadczeń.
- Szczegółowa kontrola dostępu.
zalety architektury
Wzorzec asynchronicznej odpowiedzi na żądanie działa jak osobisty asystent, który:
- Przyjmuje twoją prośbę.
- Obsługuje zadanie w tle.
- Powiadamia Cię, gdy wszystko jest gotowe.
Wdrażanie zoptymalizowanych interfejsów API w celu zwiększenia wydajności
Korzystanie z tych zoptymalizowanych interfejsów API usprawnia przepływ pracy i zwiększa ogólną wydajność zarządzania danymi. Korzystanie z bezpiecznej kontroli dostępu i wydajnych mechanizmów pobierania pozwala uzyskać lepsze wyniki dzięki mniejszemu nakładowi pracy, co prowadzi do poprawy wydajności operacyjnej.
Podsumowując, nowy asynchroniczny interfejs API umożliwiający uzyskiwanie dostępu do danych rozliczeń i uzgodnień za pośrednictwem obiektów blob platformy Azure to zaawansowane narzędzie. Oferuje bezpieczny, wydajny dostęp do danych finansowych, usprawnianie przepływów pracy, zmniejszanie obciążeń serwera i skracanie czasu przetwarzania, a wszystko to dzięki wysokim bezpieczeństwu i zgodności.
Uwaga
Nowe interfejsy API nie są hostowane na serwerze API Partner Center. Zamiast tego można je znaleźć w programie MS Graph na stronie Używanie interfejsu API programu Microsoft Graph do eksportowania danych rozliczeniowych partnerów. Aby uzyskać dostęp do tych interfejsów API, zapoznaj się z poniższymi szczegółami.
Te interfejsy API można teraz używać tylko dla publicznej chmury globalnej programu MS Graph. Nie są one jeszcze dostępne dla platformy Azure Government ani platformy Azure w Chinach.
Zezwalanie aplikacji na dostęp do danych rozliczeniowych partnerów
Aby zezwolić aplikacji na dostęp do danych rozliczeniowych partnerów, użyj tego linku i zapoznaj się z podstawami uwierzytelniania i autoryzacji dla programu Microsoft Graph. Ten krok ma kluczowe znaczenie, ponieważ gwarantuje, że aplikacja będzie mogła bezpiecznie uzyskiwać dostęp do niezbędnych danych.
Przypisz uprawnienie PartnerBilling.Read.All
Przypisz uprawnienie "PartnerBilling.Read.All" przy użyciu witryny Azure Portal lub centrum administracyjnego firmy Microsoft Entra. Te kroki zapewniają aplikacji wymagany dostęp do danych rozliczeniowych partnera.
- Zarejestruj aplikację na stronie głównej Microsoft Entra w sekcji Rejestracje aplikacji.
- Udziel niezbędnych uprawnień, przechodząc do strony Microsoft Entra App. W sekcji Uprawnienia API wybierz Dodaj uprawnienie, a następnie wybierz zakres PartnerBilling.Read.All.
Omówienie różnic między wersjami beta i ogólnie dostępnymi wersjami
Jeśli używałeś naszej wersji beta, prawdopodobnie uznasz przejście do wersji ogólnodostępnej za płynne oraz intuicyjne. Aby ułatwić zrozumienie aktualizacji i ulepszeń, zalecamy porównanie wersji beta i ogólnie dostępnej wersji. Zrozumienie tych aktualizacji pomaga zmaksymalizować nowe funkcje i ulepszenia dostępne w wersji ogólnie dostępnej.
Ważne
Nowe dzienne stawki za korzystanie z handlu nie obejmują opłat za te produkty:
- Rezerwacja platformy Azure
- Plan oszczędnościowy Azure
- Biuro
- Dynamika
- Microsoft Power Apps
- Oprogramowanie bezterminowe
- Subskrypcja oprogramowania
- Produkt SaaS firmy innej niż Microsoft lub platforma handlowa
Omówienie punktów końcowych interfejsu API i korzystanie z nich
Aby ułatwić asynchroniczne pobieranie rozliczanych dziennych pozycji zużycia w nowym handlu, oferujemy dwa kluczowe punkty końcowe API. Postępuj zgodnie z tym uproszczonym przewodnikiem, aby szybko rozpocząć pracę.
Użyj punktu końcowego elementu wiersza
Najpierw użyj tego interfejsu API, aby pobrać nowe elementy wierszy dziennego użycia ocenianego w handlu . Po wysłaniu żądania otrzymasz stan HTTP 202 i nagłówek lokalizacji z adresem URL. Regularnie sonduj ten adres URL do momentu uzyskania stanu powodzenia i adresu URL manifestu.
Użyj punktu końcowego stanu operacji
Wykonując te kroki, możesz efektywnie zarządzać procesem uzgadniania faktur.
Sprawdź stan operacji, wywołując ten interfejs API w regularnych odstępach czasu. Jeśli dane nie są gotowe, odpowiedź zawiera nagłówek Ponów próbę po, wskazujący, jak długo czekać, zanim spróbujesz ponownie. Po zakończeniu operacji otrzymasz manifest z linkiem do folderu przechowywania do pobrania danych użycia. Odpowiedź segmentuje pliki w celu zwiększenia przepływności i umożliwienia równoległości we/wy.
Przegląd diagramu sekwencji danych uzgodnień
Oto diagram sekwencji przedstawiający kroki pobierania danych uzgodnień.
Postępuj zgodnie z sekwencją akcji użytkownika
Poniżej przedstawiono kroki sekwencji akcji użytkownika w celu pobrania pozycji rozliczeń dziennego wykorzystania w ramach nowego modelu handlowego:
- prześlij żądanie
- Sprawdzanie stanu żądania
- Pobieranie elementów wiersza uzgodnień z usługi Azure Blob Storage
Przesyłanie żądania
Prześlij żądanie POST do punktu końcowego interfejsu API.
Pobierz nienaliczone pozycje wierszowe dziennego użycia
Pobierz nowe pozycje nowego handlu dotyczące dziennego użycia, które nie zostały jeszcze rozliczone, dla bieżącego lub ostatniego miesiąca kalendarzowego lub okresu rozliczeniowego.
Uwaga
Możesz uzyskać dostęp do nienaliczonych dziennych pozycji wykorzystania za pośrednictwem interfejsu API lub portalu Centrum partnerskiego. Aby zapewnić dokładność danych, poczekaj do 24 godzin na dostępność. W zależności od lokalizacji i momentu raportowania użycia mierników mogą wystąpić dalsze opóźnienia.
Priorytetem jest terminowe dostarczanie rozliczanych danych dziennego użycia. Od czasu do czasu najnowsze nierozliczone dane dotyczące dziennego użycia mogą nie być wyświetlane, aż dane rozliczone w poprzednim miesiącu będą dostępne. Po otrzymaniu rozliczonych danych, możesz uzyskać dostęp do wszystkich zaktualizowanych nierozliczonych danych użycia od początku miesiąca.
Kluczowe punkty:
- Poczekaj do 24 godzin na dostępność danych.
- W zależności od lokalizacji i czasu raportowania mierników mogą występować dalsze opóźnienia.
- Naliczane dane dotyczące dziennego użycia są traktowane priorytetowo względem danych bez naliczeń.
Zrozumienie i cierpliwość są doceniane, ponieważ staramy się dostarczać najdokładniejsze i terminowe informacje.
Żądanie interfejsu API
POST https://graph.microsoft.com/v1.0/reports/partners/billing/usage/unbilled/export
Accept: application/json
Content-Type: application/json
{
"currencyCode": "USD",
"billingPeriod": "current",
"attributeSet": "basic"
}
Treść żądania
Atrybut | Wymagane | Typ | Opis |
---|---|---|---|
zestaw atrybutów | Fałsz | Ciag | Wybierz pozycję "full" dla wszystkich atrybutów lub "basic" dla ograniczonego zestawu. Jeśli nie zostanie określona, "pełna" jest wartością domyślną. Sprawdź listę atrybutów w tej sekcji. Opcjonalne. |
okres rozliczeniowy | Prawda | String | Aby uzyskać niezliczone dzienne użycie, użyj wartości "current" dla bieżącego okresu rozliczeniowego lub "last" dla poprzedniego okresu rozliczeniowego (tak samo jak "poprzedni" w interfejsie API w wersji 1). Wymagany. |
kod waluty | Prawda | String | Kod waluty rozliczeniowej partnera. Wymagany. |
Nagłówki żądań
Aby zażądać nagłówków dla interfejsu API, zobacz Niezawodność i obsługa techniczna.
Odpowiedź interfejsu API
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14
Interfejs API zwykle odpowiada statusem HTTP 202. Możesz również napotkać inne statusy w zależności od twoich żądań. Te statusy są wymienione w sekcji Standardowe statusy odpowiedzi API.
Kod | Opis |
---|---|
202 — Zaakceptowane | Twoje żądanie zostało zaakceptowane. Aby sprawdzić stan żądania, wykonaj zapytanie o adres URL podany w nagłówku lokalizacji. |
Otrzymaj pozycje rozliczeniowe dziennego użycia według stawek
Pobierz nowy handel rozliczany codziennie pozycje wierszy użycia dla faktury za zamknięty okres rozliczeniowy.
Żądanie interfejsu API
POST https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export
{
"invoiceId": "G00012345",
"attributeSet": "full"
}
Parametry zapytań
Nie dotyczy
Treść żądania
Atrybut | Wymagane | Typ | Opis |
---|---|---|---|
Identyfikator faktury | Prawda | String | Unikatowy identyfikator każdej faktury. Wymagany. |
zestawAtrybutów | Fałsz | String | Wybierz pozycję "full" dla wszystkich atrybutów lub "basic" dla ograniczonego zestawu. Jeśli nie zostanie określony, "pełny" jest wartością domyślną. Sprawdź listę atrybutów w tej sekcji. Opcjonalne. |
Nagłówek żądania
Nagłówki żądań dla interfejsu API. Aby dowiedzieć się więcej, zobacz niezawodność i wsparcie.
Odpowiedź interfejsu API
Zaakceptowano protokół HTTP/1.1 202
Lokalizacja: https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14
W przypadku korzystania z interfejsu API zazwyczaj zwraca on stan HTTP 202. Aby zobaczyć inne możliwe statusy według twoich zapytań, zobacz statusy.
Kod | Opis |
---|---|
202 — Zaakceptowane | Twoje żądanie zostało zaakceptowane. Aby sprawdzić stan żądania, wykonaj zapytanie o adres URL podany w nagłówku lokalizacji. |
Sprawdzanie stanu żądania
Aby śledzić stan żądania, upewnij się, że otrzymasz odpowiedź HTTP 200, która jest standardowym kodem stanu wskazującym "powodzenie" lub "niepowodzenie". W przypadku pomyślnego znalezienia adresu URL manifestu w atrybucie "resourceLocation". Ten atrybut zapewnia punkt końcowy umożliwiający uzyskanie dostępu do wymaganych informacji.
Uzyskiwanie stanu operacji
Pobiera stan żądania.
Żądanie interfejsu API
Parametry żądania
Nazwisko | Uwzględnij w | Wymagane | Typ | Opis |
---|---|---|---|---|
operationId | URI żądania | Prawda | String | Unikatowy identyfikator do sprawdzania stanu żądania. Wymagany. |
Nagłówek żądania
Aby zażądać nagłówków dotyczących interfejsu API, przejrzyj Niezawodność i obsługa techniczna.
Treść żądania
Nie dotyczy.
Stan odpowiedzi
Oprócz standardowych statusów HTTP wymienionych w Standardowych statusach odpowiedzi API, interfejs API może również zwrócić następujący status HTTP:
Kod | Opis |
---|---|
410 — Zniknął | Link manifestu wygasa po upływie określonego czasu. Aby ponownie uzyskać link manifestu, wyślij nowe żądanie. |
Ładunek odpowiedzi
Ładunek odpowiedzi interfejsu API zawiera następujące atrybuty:
Atrybut | Wymagane | Opis |
---|---|---|
identyfikator | Prawda | Unikatowy identyfikator każdej odpowiedzi. Wymagany. |
status | Prawda |
Wartości i akcje: wymagane: nieuruchomiony: Poczekaj na określony czas podany w nagłówku "Retry-After", a następnie powtórz wywołanie, aby sprawdzić stan. uruchomione: Poczekaj na określony czas w nagłówku "Retry-After", a następnie wykonaj kolejne wywołanie, aby sprawdzić status. powodzenie: dane są gotowe. Pobierz ładunek manifestu przy użyciu URI określonego w resourceLocation. niepowodzenie: operacja nie powiodła się trwale. Uruchom go ponownie. |
createdDateTime | Prawda | Czas wysłania żądania. Wymagany. |
lastActionDateTime | Prawda | Czas ostatniej zmiany stanu. Wymagany. |
lokalizacjaZasobu | Fałsz | Identyfikator URI ładunku manifestu. Opcjonalne. |
błąd | Fałsz | Szczegółowe informacje o wszelkich błędach podanych w formacie JSON. Opcjonalne. Uwzględnione atrybuty: message: Opis błędu. code: typ błędu. |
Obiekt lokalizacji zasobu
Atrybut | Opis |
---|---|
identyfikator | Unikatowy identyfikator manifestu. |
wersja schematu | Wersja schematu manifestu. |
format danych | Format pliku danych rozliczeniowych. compressedJSON: format danych, w którym każdy obiekt blob jest skompresowanym plikiem zawierającym dane w formacie wierszy JSON . Aby pobrać dane z każdego bloba, zdekompresuj je. |
createdDateTime | Data i godzina utworzenia pliku manifestu. |
eTag | Wersja danych manifestu. Zmiana informacji rozliczeniowych generuje nową wartość. |
partnerTenantId | Microsoft Entra ID dzierżawcy partnera. |
rootDirectory | Katalog główny pliku. |
sasToken | Token sygnatury dostępu współdzielonego, który umożliwia odczytywanie wszystkich plików w podanym katalogu. |
typ partycji | Dzieli dane na wiele obiektów blob na podstawie atrybutu "partitionValue". System dzieli partycje, które przekraczają obsługiwaną liczbę. Domyślnie dane są partycjonowane na podstawie liczby elementów wiersza w pliku. Unikaj twardego kodowania liczby pozycji lub rozmiarów plików, ponieważ mogą się one zmieniać. |
liczbaBlobów | Łączna liczba plików dla tego ID dzierżawy partnera. |
blob | Tablica JSON obiektów "blob", zawierających szczegóły pliku dla identyfikatora dzierżawcy partnera. |
Obiekt blob | Obiekt zawierający następujące szczegóły: name i partitionValue |
nazwa | Nazwa obiektu blob. |
wartość partycji | Partycja zawierająca plik. Duża partycja jest podzielona na wiele plików na podstawie określonych kryteriów, takich jak rozmiar pliku lub liczba rekordów, przy czym każdy z plików zawiera ten sam "partitionValue". |
Żądanie interfejsu API
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>
Odpowiedź interfejsu API
Odpowiedź zaleca oczekiwanie na 10 sekund przed ponowną próbą podczas przetwarzania danych.
HTTP/1.1 200 OK
Retry-After: 10
{
"id": "9ab9cb54-d07f-4f52-9ea6-a09d7de52c14",
"createdDateTime": "2022-06-1T10-01-03.4Z",
"lastActionDateTime": "2022-06-1T10-01-05Z",
"status": "running"
}
Żądanie interfejsu API
(10 sekund po poprzednim żądaniu...)
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>
Odpowiedź API
Interfejs API zwraca status "sukces" i identyfikator URI dla "lokalizacji zasobu".
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/\$metadata#reports/partners/billing/operations/\$entity",
"@odata.type": "#microsoft.graph.partners.billing.exportSuccessOperation",
"id": "f2170b13-6a8e-47d6-b481-6988490dc0cb",
"createdDateTime": "2023-12-05T21:17:29Z",
"lastActionDateTime": "2023-12-05T21:18:00.8897902Z",
"status": "succeeded",
"resourceLocation": {
"id": "44e8500b-ab92-490e-8ac3-90500a1d3427",
"createdDateTime": "2023-11-06T19:58:47.513Z",
"schemaVersion": "2",
"dataFormat": "compressedJSON",
"partitionType": "default",
"eTag": "RwDrn7fbiTXy6UULE",
"partnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"rootDirectory": "https://adlsreconbuprodeastus201.blob.core.windows.net/path_id",
"sasToken": "{token}",
"blobCount": 1,
"blobs": \[
{
"name": "part-00123-5a93fa5d-749f-48bc-a372-9b021d93c3fa.c000.json.gz",
"partitionValue": "default"
}
\]
}
}
Pobierz elementy wiersza uzgodnień z Azure Blob Storage
Najpierw należy uzyskać token SAS (sygnatury dostępu współdzielonego) oraz lokalizację magazynu obiektów BLOB (łącznie z katalogiem głównym i nazwą obiektu BLOB). Te szczegóły można znaleźć w sasToken
, rootDirectory
i blobs
właściwości odpowiedzi interfejsu API ładunku manifestu.
Aby kontynuować, wykonaj następujące kroki:
- Pobierz plik obiektu blob przy użyciu zestawu SDK/narzędzia Azure Storage .
- Rozpakuj plik, który znajduje się w formacie JSONLines.
Napiwek
Zapoznaj się z przykładowym kodem . Pokazano w nim, jak pobrać i rozpakować plik obiektu blob platformy Azure do lokalnej bazy danych.
Omówienie standardowych stanów odpowiedzi interfejsu API
Poniższe statusy HTTP możesz otrzymać z odpowiedzi interfejsu API:
Kod | Opis |
---|---|
400 — Nieprawidłowe żądanie | Żądanie jest nieobecne lub zawiera nieprawidłowe dane. Sprawdź treść odpowiedzi, aby uzyskać szczegółowe informacje o błędzie. |
401 — Brak autoryzacji | Uwierzytelnianie jest wymagane przed wykonaniem pierwszego połączenia. Uwierzytelnij się za pomocą usługi API partnera. |
403 — Dostęp zabroniony | Nie masz niezbędnej autoryzacji, aby wysłać żądanie. |
404 — Nie znaleziono | Żądane zasoby nie są dostępne z podanymi parametrami wejściowymi. |
410 — Zniknął | Link manifestu nie jest już prawidłowy ani aktywny. Prześlij nowe żądanie. |
500 — Wewnętrzny błąd serwera | Interfejs API lub jego zależności nie mogą teraz spełnić żądania. Spróbuj ponownie później. |
5000 — Brak dostępnych danych | System nie ma danych dla podanych parametrów wejściowych. |
Porównanie wersji beta i ogólnie dostępnej wersji
Zapoznaj się z poniższą tabelą porównawczą, aby zobaczyć różnice między wersją beta i ogólnie dostępnymi wersjami (GA). Jeśli obecnie używasz wersji beta, przejście do wersji ogólnodostępnej jest prawdopodobnie proste i łatwe.
Ważna informacja | Beta | Ogólnie dostępne |
---|---|---|
Punkt końcowy hosta API | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/ |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/ |
Metoda HTTP | Post | POST |
Punkt końcowy interfejsu API o podanej stawce dla nienaliczonego dziennego użycia | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/unbilled/export |
Parametry wejściowe dla interfejsu API niezafakturowanego dziennego użycia ocenianego | Aby określić parametry w żądaniu API, umieść je w ciągu zapytania URL. Aby na przykład określić parametry period i currencyCode, dołącz ?period=current¤cyCode=usd do adresu URL żądania. |
Aby podać dane wejściowe, dołącz obiekt JSON do treści żądania. Twój kod JSON powinien mieć następujące właściwości: * currencyCode: Waluta rozliczeniowa. Na przykład USD. * billingPeriod: okres rozliczeniowy dla faktury. Na przykład, obecna sytuacja. Oto przykładowy obiekt JSON zawierający właściwości currencyCode i billingPeriod: <br>{<br> "currencyCode": "USD",<br> "billingPeriod": "current"<br>} |
Punkt końcowy interfejsu API rozliczanego dziennego użycia | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{InvoiceId} |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export |
Parametry wejściowe dla interfejsu API rozliczanego dziennego użycia | Aby określić parametry w żądaniu interfejsu API, dołącz identyfikator invoiceId w adresie URL żądania. Ponadto można dołączyć opcjonalny parametr fragmentu w ciągu zapytania, aby pobrać pełny zestaw atrybutów. Aby na przykład pobrać pełny zestaw atrybutów, dołącz ?fragment=full do adresu URL żądania. |
Aby podać dane wejściowe, dołącz obiekt JSON do treści żądania. Twój kod JSON powinien mieć następujące właściwości: * invoiceId: unikatowy identyfikator faktury. Na przykład G00012345. * attributeSet: atrybuty, które powinny znajdować się w odpowiedzi, na przykład pełne. Oto przykładowy obiekt JSON zawierający właściwości invoiceId i attributeSet: {<br> "invoiceId": "G00012345",<br> "attributeSet": "full"<br>} |
Zasób manifestu | Użyj oddzielnej metody GET /manifests/{id}, aby pobrać zasób manifestu. | Użyj metody GET /operations/{Id}, aby uzyskać dostęp do zasobu manifestu w resourceLocation. Ta metoda pozwala zaoszczędzić czas, eliminując konieczność oddzielnego wywołania metody GET /manifests/{id}. |
Zmiany schematu manifestu | ||
"id": Niedostępny | "id": unikatowy identyfikator zasobu manifestu. | |
"version": Dostępne | "version": zmieniono wartość na "schemaversion". | |
"dataFormat": dostępny | "dataFormat": dostępny. | |
"utcCretedDateTime": Dostępne | "utcCretedDateTime": zmieniono na "createdDateTime". | |
"eTag": dostępny | "eTag": dostępne. | |
"partnerTenantId": Dostępny | "partnerTenantId": Dostępny | |
"rootFolder": Dostępny | "rootFolder": zmieniono wartość na "rootDirectory". | |
"rootFolderSAS": dostępny | "rootFolderSAS": zmieniono wartość na "sasToken". Ta aktualizacja udostępnia tylko token bez ścieżki katalogu głównego. Aby zlokalizować katalog, zamiast tego użyj właściwości "rootDirectory". | |
"typ partycji": dostępny | "partitionType": dostępny. | |
"blobCount": dostępny | "blobCount": dostępny. | |
"sizeInBytes": Dostępny | "sizeInBytes": Niedostępne. | |
"Obiekty blob": dostępne | "Bloby": dostępne. | |
"Obiekt blob": dostępny | "Obiekt blob": dostępny. | |
"name": Dostępne | "name": Dostępne. | |
"partitionValue": dostępne | "partitionValue": dostępne. |
Porównaj podstawowe i pełne atrybuty uzgadniania dziennego użycia
Aby porównać atrybuty zwracane przez interfejs API uzgadniania użycia rozliczanego lub niezaliczonego dla "pełnych" lub "podstawowych" zestawów atrybutów, zapoznaj się z tą tabelą. Aby uzyskać więcej informacji na temat tych atrybutów i ich znaczeń, zobacz pola w pliku uzgadniania zużycia według dziennej oceny.
Atrybut | Pełny | Podstawowy |
---|---|---|
PartnerId | tak | tak |
PartnerName | tak | tak |
Identyfikator klienta | tak | tak |
CustomerName | tak | Tak |
Nazwadomeny klienta | tak | nie |
KrajKlienta | tak | nie |
Identyfikator MPN | tak | nie |
Tier2MpnId | tak | nie |
Numer faktury | tak | tak |
Identyfikator produktu | tak | tak |
Identyfikator SKU | tak | tak |
Identyfikator dostępności | tak | nie |
SkuName | tak | tak |
ProductName | tak | nie |
PublisherName | tak | tak |
Identyfikator wydawcy | tak | nie |
OpisSubskrypcji | tak | nie |
Identyfikator Subskrypcji | tak | tak |
DataRozpoczęciaOpłaty | tak | tak |
DataZakończeniaOpłaty | tak | tak |
Data użytkowania | tak | tak |
Typ Licznika | tak | nie |
Kategoria Licznika | tak | nie |
MeterId | tak | nie |
MeterSubCategory | tak | nie |
Nazwa Licznika | tak | nie |
MeterRegion | tak | nie |
Jednostka | tak | tak |
LokalizacjaZasobów | tak | nie |
ConsumedService | tak | nie |
ResourceGroup | tak | nie |
Identyfikator RESOURCEURI | tak | tak |
Typ opłaty | tak | tak |
Cena jednostkowa | tak | tak |
Ilość | tak | tak |
Typ jednostki | tak | nie |
SumaPrzedOpodatkowaniemFaktury | tak | tak |
Waluta rozliczeniowa | tak | tak |
CenaPrzedPodatkiemRazem | tak | tak |
WalutaCennika | tak | tak |
ServiceInfo1 | tak | nie |
ServiceInfo2 | tak | nie |
Tagi | tak | nie |
Dodatkowe informacje | tak | nie |
EfektywnaCenaJednostkowa | tak | tak |
PCToBCExchangeRate | tak | tak |
PCToBCExchangeRateDate | tak | nie |
Identyfikator upoważnienia | tak | tak |
Opis Uprawnienia | tak | nie |
Procent Kredytu Uzyskanego przez Partnera | tak | nie |
ProcentKredytu | tak | tak |
Rodzaj kredytu | tak | tak |
BenefitOrderID | tak | tak |
Identyfikator korzyści | tak | nie |
Rodzaj Korzyści | tak | tak |
Ważne
Zanotuj te zmiany podczas przechodzenia z interfejsu API w wersji 1 do wersji 2.
- Każda nazwa atrybutu zaczyna się od wielkie litery, aby zachować spójność z plikiem i zwiększyć czytelność.
- unitOfMeasure jest aktualizowany do Unit. Jego znaczenie i wartość pozostają niezmienione, upraszczając nazwę atrybutu.
- resellerMpnId to teraz Tier2MpnId. Znaczenie i wartość są takie same.
- rateOfPartnerEarnedCredit został zaktualizowany na PartnerEarnedCreditPercentage. Nowa nazwa i wartość odzwierciedlają wartość procentową zamiast ułamka, co ułatwia zrozumienie. Na przykład 0,15 wynosi teraz 15%.
- rateOfCredit jest teraz CreditPercentage. Zarówno nazwa, jak i wartość uległy zmianie, aby zapewnić jaśniejsze zrozumienie. Na przykład 1,00 wynosi teraz 100%.
Uważamy, że te zmiany sprawiają, że interfejsy API są bardziej intuicyjne i łatwiejsze w użyciu.
Przykładowy kod
Jeśli potrzebujesz pomocy dotyczącej migracji do tego interfejsu API, zapoznaj się z linkiem zawierającym przykładowy kod języka C#.
Przykłady interfejsu API Centrum partnerskiego: uzyskiwanie danych do rozliczeń i uzgadniania.