Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
gilt für: Partner Center (nicht verfügbar in Azure Government oder Azure China 21Vianet)
Die Architektur verstehen
Die neue asynchrone API bietet erhebliche Fortschritte bei der Behandlung des Abrechnungs- und Abstimmungsdatenzugriffs. Dieser Ansatz löst Herausforderungen im Zusammenhang mit herkömmlichen synchronen Methoden, z. B. der Aufrechterhaltung langlebiger Verbindungen und der Verarbeitung großer Datenbatches. Hier sind die wichtigsten Vorteile und Mechanismen dieser API:
Wichtigste Komponenten
Sicherer Zugriff mit Valetschlüssel-Muster
Das Valetschlüssel-Muster bietet sicheren, eingeschränkten Zugriff auf Ihre Abrechnungsdaten. Ähnlich wie ein Valet-Schlüssel es jemandem ermöglicht, Ihr Auto ohne Zugriff auf den Trunk zu fahren, stellt dieses Muster eine präzise Zugriffssteuerung sicher. Statt Anmeldeinformationen freizugeben, gewährt ein SAS-Token (Shared Access Signature) begrenzten, zeitlich gebundenen Zugriff auf bestimmte Ressourcen. Dieses Muster reduziert das Risiko eines nicht autorisierten Zugriffs, indem präzise Ablaufzeiten und Zugriffsberechtigungen konfiguriert werden.
Verbesserte Effizienz durch asynchrones Anforderungsantwortmuster
Denken Sie daran, dass sie in einem ausgelasteten Restaurant bestellt wird. Anstatt auf den Schalter zu warten, erhalten Sie einen Buzzer und können andere Dinge tun, während Ihre Bestellung vorbereitet ist. Wenn die Daten bereit sind, benachrichtigt Sie das System.
Die asynchrone Art der API bedeutet, dass Sie eine Anforderung stellen und das System sie im Hintergrund verarbeitet. Diese asynchrone Anforderungsantwort verwendet Ressourcen effizient, reduziert die Serverlast und minimiert sowohl Timeouts als auch Fehler, die oft bei synchronen Datenabrufen auftreten.
Flexibilität bei Datenzugriffsberechtigungen
SAS-Token bieten Flexibilität beim Verwalten von Datenzugriffsberechtigungen. Sie können Token generieren, die Zugriff auf alle Attribute der Rechnungsabrechnungsdaten gewähren oder den Zugriff auf bestimmte Teilmengen beschränken. Diese Granularität ermöglicht Es Organisationen, den Datenzugriff gemäß internen Richtlinien und behördlichen Anforderungen anzupassen, um Sicherheit und Compliance zu verbessern.
Vereinfachter Workflow und verbesserte Datenverarbeitungszeiten
Das asynchrone Anforderungsantwortmuster optimiert die Datenverarbeitung, indem der dynamische Zugriff anstelle von festen Batches von 2.000 Zeilenelementen ermöglicht wird. Dieser Ansatz führt zu schnelleren Ergebnissen und verbesserten Verarbeitungszeiten und vereinfacht die Integration von Abrechnungs- und Abstimmungsdaten in bestehende Systeme und Workflows.
Vorteile
Leistungsvorteile
Anstatt langlebige Verbindungen beizubehalten und feste Batches zu verarbeiten, ermöglicht Ihnen das neue System Folgendes:
- Erstellen Sie eine schnelle anfängliche Anforderung.
- Empfangen eines sicheren Zugriffstokens.
- Verarbeiten Sie Daten in Ihrem eigenen Tempo.
- Greifen Sie genau darauf zu, was Sie benötigen.
Sicherheitsverbesserungen
Das Valet-Schlüsselmuster, das über SAS-Token implementiert wird, bietet Folgendes:
- Zeitlich begrenzter Zugriff.
- Eingeschränkte Berechtigungen.
- Abschaffung der Weitergabe oder Speicherung von dauerhaften Zugangsdaten.
- Differenzierte Zugriffssteuerung
Architekturvorteile
Das asynchrone Anforderungsantwortmuster verhält sich wie ein persönlicher Assistent, der:
- Nimmt Ihre Anforderung an
- Führt die Aufgabe im Hintergrund aus
- Benachrichtigt Sie, wenn alles bereit ist.
Einführen optimierter APIs für eine verbesserte Leistung
Durch die Einführung dieser optimierten APIs wird der Workflow optimiert und die Gesamtleistung in der Datenverwaltung verbessert. Mit der sicheren Zugriffssteuerung und effizienten Abrufmechanismen erzielen Sie bessere Ergebnisse mit weniger Aufwand, was zu einer verbesserten Betrieblichen Effizienz führt.
Abschließend ist die neue asynchrone API für den Zugriff auf Abrechnungs- und Abstimmungsdaten über Azure-Blobs ein leistungsfähiges Tool. Es bietet sicheren, effizienten Zugriff auf Finanzdaten, straffende Workflows, Reduzierung der Serverlasten und Verbesserung der Verarbeitungszeiten, alles mit hoher Sicherheit und Compliance.
Hinweis
Die neuen APIs werden nicht auf dem Partner Center-API-Host gehostet. Stattdessen finden Sie sie auf MS Graph unter Verwenden sie die Microsoft Graph-API, um Partnerabrechnungsdatenzu exportieren. Um auf diese APIs zuzugreifen, lesen Sie bitte die folgenden Details.
Sie können diese APIs nur für die öffentliche globale MS Graph-Cloud verwenden. Sie sind noch nicht für Azure Government oder Azure China verfügbar.
Zulassen, dass Ihre App auf Partnerabrechnungsdaten zugreifen kann
Um Ihrer App den Zugriff auf Partnerabrechnungsdaten zu ermöglichen, folgen Sie diesem Link und machen Sie sich mit den Authentifizierungs- und Autorisierungsgrundlagen für Microsoft Graphvertraut. Dieser Schritt ist entscheidend, da so sichergestellt wird, dass Ihre App sicher auf die erforderlichen Daten zugreifen kann.
Zuweisen der Berechtigung PartnerBilling.Read.All
Weisen Sie die Berechtigung "PartnerBilling.Read.All" entweder über das Azure-Portal oder das Microsoft Entra Admin Center zu. Diese Schritte stellen sicher, dass Ihre App über den erforderlichen Zugriff auf die Partnerabrechnungsdaten verfügt.
- Registrieren Sie Ihre App auf der Microsoft Entra-Homepage unter dem Abschnitt App-Registrierungen.
- Erteilen Sie die erforderlichen Berechtigungen, indem Sie zur Seite "Microsoft Entra App" wechseln. Wählen Sie im Abschnitt zu den API-Berechtigungen zunächst die Option Berechtigung hinzufügen und dann den Bereich PartnerBilling.Read.All aus.
Grundlegendes zu den Unterschieden zwischen beta- und GA-Versionen
Wenn Sie unsere Betaversion verwendet haben, werden Sie den Übergang zur allgemein verfügbaren Version (GA) wahrscheinlich als reibungslos und intuitiv empfinden. Damit Sie die Aktualisierungen und Verbesserungen besser verstehen, empfehlen wir Ihnen, die Beta- und GA-Versionen zu vergleichen. Wenn Sie diese Updates verstehen, können Sie die neuen Features und Verbesserungen maximieren, die in der GA-Version verfügbar sind.
Wichtig
Die Gebühren für diese Produkte sind im neuen Commerce-Tagesverbrauch nicht enthalten:
- Azure-Reservierung
- Azure-Sparplan
- Office
- Dynamics
- Microsoft Power Apps
- Unbefristete Software
- Softwareabonnement
- SaaS-Produkt ohne Microsoft oder Microsoft Marketplace
Verstehen und Verwenden der API-Endpunkte
Zum asynchronen Abruf der täglich abgerechneten Nutzungspositionen im Bereich New Commerce bieten wir zwei wichtige API-Endpunkte an. Folgen Sie diesem optimierten Leitfaden, um schnell loszulegen.
Verwenden Sie den Zeilenelement-Endpunkt
Verwenden Sie zunächst diese API, um neue Positionen für die tägliche Nutzung von New Commerce abzurufen. Wenn Sie eine Anforderung stellen, erhalten Sie einen 202 HTTP-Status und einen Location-Header mit einer URL. Rufen Sie diese URL regelmäßig ab, bis Sie einen Erfolgsstatus und eine Manifest-URL erhalten.
Verwenden Sie den Betriebsstatus-Endpunkt
Wenn Sie diese Schritte befolgen, können Sie Ihren Rechnungsabgleichsprozess effizient verwalten.
Überprüfen Sie den Vorgangsstatus, indem Sie diese API in regelmäßigen Abständen aufrufen. Wenn die Daten nicht bereit sind, enthält die Antwort einen Retry-After-Header, der angibt, wie lange Sie warten müssen, bevor Sie es erneut versuchen können. Nach Abschluss des Vorgangs erhalten Sie eine Manifestressource mit einem Speicherordnerlink zum Herunterladen der Nutzungsdaten. Die Antwort segmentiert die Dateien, um den Durchsatz zu erhöhen und eine E/A-Parallelität zu ermöglichen.
Überprüfung des Sequenzdiagramms der Abstimmungsdaten
Hier sehen Sie ein Sequenzdiagramm, das die Schritte zum Herunterladen der Abstimmungsdaten zeigt.
Befolgen Sie die Benutzeraktionssequenz
Dies sind die Schritte für den Benutzer, um neue Commerce-Bestellpositionen zur Abstimmung der täglich bewerteten Nutzung abzurufen:
- Senden einer Anforderung
- Überprüfen des Anforderungsstatus
- Herunterladen von Abstimmungspositionen aus Azure Blob Storage
Einreichen einer Anforderung
Senden Sie eine POST-Anforderung an den API-Endpunkt.
Abrufen der nicht fakturierten täglichen Nennverbrauchspositionen
Rufen Sie die noch nicht abgerechneten New Commerce-Tagesverbrauchspositionen für den aktuellen oder letzten Kalendermonat oder Abrechnungszeitraum ab.
Hinweis
Sie können über die API oder das Partner Center-Portal auf Ihre noch nicht abgerechneten Positionen für die tägliche Nutzung zugreifen. Um die Datengenauigkeit sicherzustellen, sollten Sie bis zu 24 Stunden warten, bis die Daten verfügbar sind. Je nachdem, wo Sie sich befinden und wann die Zähler den Verbrauch melden, kann es zu weiteren Verzögerungen kommen.
Die pünktliche Bereitstellung der abgerechneten täglichen Nutzungsdaten hat für uns oberste Priorität. Gelegentlich kann es vorkommen, dass die neuesten nicht abgerechneten täglichen Nutzungsdaten erst erscheinen, wenn die abgerechneten Daten des Vormonats verfügbar sind. Nachdem Sie die in Rechnung gestellten Daten erhalten haben, können Sie ab Beginn des Monats auf alle aktualisierten nicht abgerechneten Nutzungsdaten zugreifen.
Wichtige Punkte:
- Rechnen Sie mit bis zu 24 Stunden für die Datenverfügbarkeit.
- Je nach Standort und Berichterstellungszeiten der Verbrauchseinheit kann es weitere Verzögerungen geben.
- Abgerechnete tägliche Nutzungsdaten werden gegenüber nicht abgerechneten Daten bevorzugt.
Wir danken Ihnen für Ihr Verständnis und Ihre Geduld, denn wir bemühen uns, Ihnen möglichst genaue und zeitnahe Informationen bereitzustellen.
API-Anforderung
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"
}
Anforderungstext
| Attribut | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| attributeSet | False | Zeichenfolge | Wählen Sie „full“ für alle Attribute oder „basic“ für einen begrenzten Satz aus. Wenn nichts angegeben, ist der Standardwert „vollständig“. Überprüfen Sie die Liste der Attribute in diesem Abschnitt. Optional |
| billingPeriod | True | Zeichenfolge | Um Daten zur nicht abgerechneten täglich bewerteten Nutzung zu erhalten, verwenden Sie „Aktuell“ für den aktuellen Abrechnungszeitraum oder „Letzte“ für den vorherigen Abrechnungszeitraum (identisch mit „Vorherige“ bei der v1 API). Erforderlich |
| currencyCode | True | Zeichenfolge | Währungscode für die Partnerabrechnung Erforderlich |
Anforderungsheader
Informationen zum Anfordern von Headern für die API finden Sie unter Zuverlässigkeit und Support.
API-Antwort
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14
Die API antwortet normalerweise mit einem HTTP 202 Status. Abhängig von Ihren Anforderungen können Sie auch andere Status erhalten. Diese Status sind im Abschnitt Standard-API-Antwortstatus aufgeführt.
| Code | Beschreibung |
|---|---|
| 202 - Akzeptiert | Ihre Anforderung wurde akzeptiert. Um den Status Ihrer Anforderung zu überprüfen, fragen Sie die URL ab, die im Location Header angegeben ist. |
Täglich abgerechnete Verbrauchspositionen abrufen
Rufen Sie täglich neu abgerechnete New Commerce-Verbrauchspositionen für eine Rechnung für den abgeschlossenen Abrechnungszeitraum ab.
API-Anforderung
POST https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export
{
"invoiceId": "G00012345",
"attributeSet": "full"
}
Abfrageparameter
n/v
Anforderungstext
| Attribut | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| invoiceId | True | Zeichenfolge | Ein eindeutige Bezeichner für jede Rechnung. Erforderlich |
| attributeSet | False | Zeichenfolge | Wählen Sie „full“ für alle Attribute oder „basic“ für einen begrenzten Satz aus. Wenn nichts angegeben, ist der Standardwert „vollständig“. Überprüfen Sie die Liste der Attribute in diesem Abschnitt. Optional |
Anforderungsheader
Anforderungsheader für die API. Weitere Informationen finden Sie unter Zuverlässigkeit und Support.
API-Antwort
HTTP/1.1 202 akzeptiert
Standort: https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14
Wenn Sie die API verwenden, wird normalerweise der Status HTTP 202 zurückgegeben. Weitere mögliche Statusmeldungen, die auf Ihren Anforderungen basieren, finden Sie unter Status.
| Code | Beschreibung |
|---|---|
| 202 - Akzeptiert | Ihre Anforderung wurde akzeptiert. Um den Status Ihrer Anforderung zu überprüfen, fragen Sie die URL ab, die im Location Header angegeben ist. |
Überprüfen des Anforderungsstatus
Um den Status einer Anforderung nachzuverfolgen, stellen Sie sicher, dass Sie eine HTTP 200-Antwort erhalten. Dabei handelt es sich um einen Standardstatuscode, der den Status „erfolgreich“ oder „fehlgeschlagen“ angibt. Bei erfolgreichem Status finden Sie die Manifest-URL im Attribut „resourceLocation“. Dieses Attribut bietet einen Endpunkt für den Zugriff auf die erforderlichen Informationen.
Vorgangsstatus abrufen
Ruft den Status einer Anforderung ab.
API-Anforderung
Anforderungsparameter
| Name | Einschließen in | Erforderlich | Typ | Beschreibung |
|---|---|---|---|---|
| operationId | Anforderungs-URI | True | Zeichenfolge | Ein eindeutiger Bezeichner, um den Anforderungsstatus zu überprüfen. Erforderlich |
Anforderungsheader
Informationen zum Anfordern von Headern für die API finden Sie unter Zuverlässigkeit und Support.
Anforderungstext
n/v
Antwortstatus
Neben den Standard-HTTP-Status, die unter Standard-API-Antwortstatus aufgeführt sind, kann die API auch den folgenden HTTP-Status zurückgeben:
| Code | Beschreibung |
|---|---|
| 410 - Nicht mehr vorhanden | Der Manifestlink läuft nach einer festgelegten Zeit ab. Um den Manifestlink erneut abzurufen, senden Sie eine neue Anforderung. |
Nutzlast der Antwort
Die API-Antwortnutzlast enthält die folgenden Attribute:
| Attribut | Erforderlich | Beschreibung |
|---|---|---|
| id | True | Der Code ist ein eindeutiger Bezeichner für jede Antwort. Erforderlich |
| status | True |
Werte und Aktionen: Erforderlich: notstarted: Warten Sie die im Retry-After-Header angegebene Zeit ab, und führen Sie dann einen weiteren Aufruf aus, um den Status zu überprüfen. running: Warten Sie die im Retry-After-Header angegebene Zeit ab, und führen Sie dann einen weiteren Aufruf aus, um den Status zu überprüfen. erfolgreich: Die Daten sind bereit. Rufen Sie die Manifestnutzlast mithilfe des in resourceLocation angegebenen URI ab. failed: Der Vorgang ist permanent fehlgeschlagen. Starten Sie ihn neu. |
| createdDateTime | True | Zeitpunkt, zu dem die Anforderung gesendet wurde Erforderlich |
| lastActionDateTime | True | Das letzte Mal, dass sich der Status geändert hat Erforderlich |
| resourceLocation | False | Der URI für die Manifestnutzlast Optional |
| error | False | Details zu Fehlern, im JSON-Format bereitgestellt Optional Enthaltene Attribute: message: Eine Beschreibung des Fehlers code: Der Typ des Fehlers |
Ressourcenspeicherort-Objekt
| Attribut | Beschreibung |
|---|---|
| id | Ein eindeutiger Bezeichner für das Manifest |
| schemaVersion | Version des Manifestschemas |
| dataFormat | Format der Abrechnungsdatendatei compressedJSON: Datenformat, bei dem jeder Blob eine komprimierte Datei ist, die Daten im JSON-Zeilenformat enthält. Um die Daten aus jedem Blob abzurufen, dekomprimieren Sie sie. |
| createdDateTime | Datum und Uhrzeit der Erstellung der Manifestdatei |
| eTag | Version der Manifestdaten Eine Änderung der Abrechnungsinformationen generiert einen neuen Wert. |
| partnerTenantId | Microsoft Entra ID des Mandanten des Partners |
| rootDirectory | Stammverzeichnis der Datei |
| sasToken | SAS-Token (Shared Access Signature), mit dem Sie alle Dateien unter dem Verzeichnis lesen können |
| partitionType | Teilt die Daten auf der Grundlage des Attributs „partitionValue“ in mehrere Blobs auf. Das System teilt Partitionen auf, die die unterstützte Zahl überschreiten. Standardmäßig werden Daten basierend auf der Anzahl der Zeilenelemente in der Datei partitioniert. Vermeiden Sie es, Zeilenanzahlen oder Dateigrößen fest einzuprogrammieren, da sie sich ändern können. |
| blobCount | Gesamtanzahl der Dateien für diese Partnermandanten-ID |
| blobs | Ein JSON-Array aus „blob“-Objekten, die die Dateidetails für die Partnermandanten-ID enthalten |
| BLOB-Objekt | Ein Objekt mit den folgenden Details: name und partitionValue |
| name | Der Name des Blobs |
| partitionValue | Partition, die die Datei enthält Die große Partition wird basierend auf bestimmten Kriterien in mehrere Dateien aufgeteilt, z. B. Dateigröße oder Anzahl von Datensätzen, wobei jede Datei denselben "partitionValue"enthält. |
API-Anforderung
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>
API-Antwort
Die Antwort empfiehlt, 10 Sekunden zu warten, bevor Sie es erneut versuchen, wenn Sie Daten verarbeiten.
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"
}
API-Anforderung
(10 Sekunden nach der letzten Anforderung …)
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>
API-Antwort
Die API gibt den Status „erfolgreich“ und den URI für „resourceLocation“ zurück.
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"
}
\]
}
}
Herunterladen von Abstimmungszeilenelementen aus Azure Blob Storage
Zuerst müssen Sie das SAS-Token (Shared Access Signature) und den Blobspeicherort abrufen (kombinieren Sie das Stammverzeichnis und den Blobnamen). Sie finden diese Details in der sasTokenrootDirectoryManifestnutzlast-API-Antwort und blobs den Eigenschaften der Manifestnutzlast-API.
Führen Sie die folgenden Schritte aus, um fortzufahren:
- Laden Sie die BLOB-Datei mit dem Azure Storage SDK/Tool herunter.
- Entzippen Sie die Datei, die sich im JSONLines- Format befindet.
Tipp
Sehen Sie sich den Beispielcode an. Er zeigt Ihnen, wie Sie die Azure-Blob-Datei in Ihre lokale Datenbank herunterladen und entpacken.
Grundlegendes zu den Standardmäßigen API-Antwortstatus
Möglicherweise erhalten Sie diese HTTP-Status aus der API-Antwort:
| Code | Beschreibung |
|---|---|
| 400 – Ungültige Anforderung | Die Anforderung fehlt oder enthält falsche Daten. Überprüfen Sie den Antworttext auf Fehlerdetails. |
| 401 – Nicht autorisiert | Vor dem ersten Aufruf ist eine Authentifizierung erforderlich. Authentifizieren Sie sich mit dem Partner-API-Dienst. |
| 403 – Verboten | Sie verfügen nicht über die erforderliche Autorisierung, um die Anforderung zu stellen. |
| 404 - Nicht gefunden | Die angeforderten Ressourcen sind mit den bereitgestellten Eingabeparametern nicht verfügbar. |
| 410 - Nicht mehr vorhanden | Der Manifestlink ist nicht gültig oder nicht mehr aktiv. Senden Sie eine neue Anforderung. |
| 500 – Interner Serverfehler | Die API oder ihre Abhängigkeiten können die Anforderung im Moment nicht erfüllen. Versuchen Sie es später erneut. |
| 5000 - Keine Daten verfügbar | Das System hat keine Daten für die angegebenen Eingabeparameter. |
Vergleichen von Beta- und GA-Versionen
Schauen Sie sich die folgende Vergleichstabelle an, um die Unterschiede zwischen der Betaversion und den allgemein verfügbaren (GA)-Versionen zu sehen. Wenn Sie derzeit die Betaversion verwenden, dürfte der Übergang zur GA-Version einfach und unkompliziert sein.
| Wichtige Informationen | Beta | Allgemein verfügbar |
|---|---|---|
| API-Host-Endpunkt | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/ |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/ |
| HTTP-Methode | POST | POST |
| Nicht abgerechneter Verbrauchs-API-Endpunkt mit täglicher Abrechnung | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/unbilled/export |
| Eingabeparameter für die nicht abgerechnete Verbrauchs-API mit täglicher Abrechnung | Um in der API-Anforderung Parameter anzugeben, fügen Sie diese in die Zeichenfolge der Anfrage-URL ein. Um beispielsweise die Parameter „period“ und „currencyCode“ anzugeben, fügen Sie ?period=current¤cyCode=usd an die URL der Anforderung an. |
Um Eingaben zu machen, fügen Sie ein JSON-Objekt in den Text der Anforderung ein. Ihr JSON sollte die folgenden Eigenschaften haben: * currencyCode: Ihre Abrechnungswährung Zum Beispiel: USD * billingPeriod: Der Abrechnungszeitraum für die Rechnung Zum Beispiel: aktuell Hier ist ein Beispiel für ein JSON-Objekt, das die Eigenschaften currencyCode und billingPeriod enthält: <br>{<br> "currencyCode": "USD",<br> "billingPeriod": "current"<br>} |
| Abgerechneter Verbrauchs-API-Endpunkt mit täglicher Abrechnung | https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{InvoiceId} |
https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export |
| Eingabeparameter für die abgerechnete Verbrauchs-API mit täglicher Abrechnung | Um Parameter in der API-Anforderung anzugeben, fügen Sie die invoiceId in die URL der Anforderung ein. Zusätzlich können Sie einen optionalen Fragment-Parameter in die Zeichenfolge der Abfrage aufnehmen, um den vollständigen Satz von Attributen abzurufen. Wenn Sie beispielsweise alle Attribute abrufen möchten, fügen Sie ?fragment=full an die URL der Anforderung an. |
Um Eingaben zu machen, fügen Sie ein JSON-Objekt in den Text der Anforderung ein. Ihr JSON sollte die folgenden Eigenschaften haben: * invoiceId: Der eindeutige Bezeichner der Rechnung Zum Beispiel: G00012345 * attributeSet: Die Attribute, die in der Antwort enthalten sein sollen, wie „vollständig“ Hier ist ein Beispiel für ein JSON-Objekt, das die Eigenschaften invoiceId und attributeSet enthält: {<br> "invoiceId": "G00012345",<br> "attributeSet": "full"<br>} |
| Manifest-Ressource | Verwenden Sie eine separate Methode GET /manifests/{id}, um die Manifest-Ressource abzurufen. | Verwenden Sie die Methode GET /operations/{Id}, um auf die Manifest-Ressource in resourceLocation zuzugreifen. Diese Methode spart Zeit, da ein separater Aufruf von GET /manifests/{id} nicht mehr erforderlich ist. |
| Änderungen am Manifestschema | ||
| „id“: Nicht verfügbar | „id“: Ein eindeutiger Bezeichner für die Manifest-Ressource | |
| „version“: Verfügbar | „version“: In „schemaversion“ geändert | |
| „dataFormat“: Verfügbar | „dataFormat“: Verfügbar | |
| „utcCretedDateTime“: Verfügbar | „utcCretedDateTime“: In „createdDateTime“ geändert | |
| „eTag“: Verfügbar | „eTag“: Verfügbar | |
| „partnerTenantId“: Verfügbar | „partnerTenantId“: Verfügbar | |
| „rootFolder“: Verfügbar | „rootFolder“: In „rootDirectory“ geändert | |
| „rootFolderSAS“: Verfügbar | „rootFolderSAS“: In „sasToken“ geändert Dieses Update stellt nur das Token ohne den Pfad zum Stammverzeichnis bereit. Um das Verzeichnis zu suchen, verwenden Sie stattdessen die Eigenschaft „rootDirectory“. | |
| „partitionType“: Verfügbar | „partitionType“: Verfügbar | |
| „blobCount“: Verfügbar | „blobCount“: Verfügbar | |
| „sizeInBytes“: Verfügbar | „sizeInBytes“: Nicht verfügbar | |
| „Blobs“: Verfügbar | „blobs“: Verfügbar | |
| „blob-object“: Verfügbar | „blob-object“: Verfügbar | |
| „name“: Verfügbar | „name“: Verfügbar | |
| „partitionValue“: Verfügbar | „partitionValue“: Verfügbar |
Vergleichen Sie die Attribute für den Abgleich zwischen der basic und full täglich abgerechneten Nutzung
Informationen zum Vergleichen der Attribute, die von der abgerechneten oder nicht abgerechneten Nutzungsabstimmungs-API für die Attributsätze „full“ oder „basic“ zurückgegeben werden, finden Sie in dieser Tabelle. Weitere Informationen zu diesen Attributen und ihren Bedeutungen finden Sie in der Datei Felder in der Abstimmung zur täglich abgerechneten Nutzung.
| Attribut | Full | Basic |
|---|---|---|
| PartnerId | Ja | Ja |
| PartnerName | Ja | Ja |
| CustomerId | Ja | Ja |
| CustomerName | Ja | Ja |
| CustomerDomainName | Ja | Nein |
| CustomerCountry | Ja | Nein |
| MpnId | Ja | Nein |
| Tier2MpnId | Ja | Nein |
| InvoiceNumber | Ja | Ja |
| ProductId | Ja | Ja |
| SkuId | Ja | Ja |
| AvailabilityId | Ja | Nein |
| SkuName | Ja | Ja |
| ProductName | Ja | Nein |
| PublisherName | Ja | Ja |
| PublisherId | Ja | Nein |
| SubscriptionDescription | Ja | Nein |
| SubscriptionId | Ja | Ja |
| ChargeStartDate | Ja | Ja |
| ChargeEndDate | Ja | Ja |
| UsageDate | Ja | Ja |
| MeterType | Ja | Nein |
| MeterCategory | Ja | Nein |
| MeterId | Ja | Nein |
| MeterSubCategory | Ja | Nein |
| MeterName | Ja | Nein |
| MeterRegion | Ja | Nein |
| Unit | Ja | Ja |
| ResourceLocation | Ja | Nein |
| ConsumedService | Ja | Nein |
| ResourceGroup | Ja | Nein |
| ResourceURI | Ja | Ja |
| ChargeType | Ja | Ja |
| UnitPrice | Ja | Ja |
| Quantity | Ja | Ja |
| UnitType | Ja | Nein |
| BillingPreTaxTotal | Ja | Ja |
| BillingCurrency | Ja | Ja |
| PricingPreTaxTotal | Ja | Ja |
| PricingCurrency | Ja | Ja |
| ServiceInfo1 | Ja | Nein |
| ServiceInfo2 | Ja | Nein |
| Tags | Ja | Nein |
| AdditionalInfo | Ja | Nein |
| EffectiveUnitPrice | Ja | Ja |
| PCToBCExchangeRate | Ja | Ja |
| PCToBCExchangeRateDate | Ja | Nein |
| EntitlementId | Ja | Ja |
| EntitlementDescription | Ja | Nein |
| PartnerEarnedCreditPercentage | Ja | Nein |
| CreditPercentage | Ja | Ja |
| CreditType | Ja | Ja |
| BenefitOrderID | Ja | Ja |
| BenefitID | Ja | Nein |
| BenefitType | Ja | Ja |
Wichtig
Notieren Sie sich diese Änderungen, wenn Sie von API v1 zu v2 wechseln.
- Jeder Attributname beginnt mit einem Großbuchstaben, um die Konsistenz mit der Datei aufrechtzuerhalten und die Lesbarkeit zu verbessern.
- unitOfMeasure wird auf Unit aktualisiert. Die Bedeutung und der Wert bleiben unverändert, wodurch der Attributname vereinfacht wird.
- resellerMpnId ist jetzt Tier2MpnId. Die Bedeutung und der Wert sind identisch.
- rateOfPartnerEarnedCredit wird auf PartnerEarnedCreditPercentage aktualisiert. Der neue Name und Wert spiegeln den Prozentsatz anstelle des Bruchteils wider, wodurch die Werte leichter zu verstehen sind. Beispielsweise ist 0,15 jetzt 15 %.
- rateOfCredit ist jetzt CreditPercentage. Sowohl der Name als auch der Wert wurden geändert, um ein klareres Verständnis zu bieten. Beispielsweise ist 1,00 jetzt 100 %.
Wir glauben, dass diese Änderungen die APIs intuitiver und einfacher zu bedienen machen.
Beispielcode
Wenn Sie Unterstützung bei der Migration zu dieser API benötigen, lesen Sie den Link, der C#-Beispielcode enthält.
Partner Center-API-Beispiele: Abrufen von Abrechnungsdaten.