Facturerings- en afstemmings-API v2 (bèta)

Van toepassing op: Partnercentrum | Partnercentrum beheerd door 21Vianet | Partnercentrum voor Microsoft Cloud voor de Amerikaanse overheid

Gebruik deze API's om dagelijks gefactureerde en niet-gefactureerde dagelijkse gebruiksgegevens asynchroon op te halen.

Notitie

Deze API voor gefactureerd dagelijks geclassificeerd gebruik werkt na 30 juni 2024 niet meer. Raadpleeg de volgende details om te bepalen welke versie moet worden gebruikt en wanneer.

  • Gebruik deze API tot en met 30 juni 2024 , tenzij u bent overgeschakeld naar v2 GA, om dagelijks gefactureerde gebruiksitems te ontvangen voor facturen die zijn gemaakt voor factureringsperioden tussen september 2022 en juni 2024.
  • Gebruik alleen API v2 GA na 30 juni 2024 om gefactureerde dagelijkse verbruiksregelitems op te halen voor facturen die zijn gemaakt voor factureringsperioden van september 2022.

Deze API voor niet-gefactureerd dagelijks geclassificeerd gebruik werkt na 30 juni 2024 niet meer. Raadpleeg de volgende details om te bepalen welke versie moet worden gebruikt en wanneer.

  • Gebruik deze API tot 30 juni 2024 , tenzij u bent overgeschakeld naar v2 GA om niet-gefactureerde dagelijkse gebruiksregelitems voor huidige en vorige factureringsperioden op te halen.
  • Gebruik alleen API v2 GA na 30 juni 2024 om niet-gefactureerde dagelijkse verbruiksregelitems voor huidige en vorige facturering op te halen.

Als u wilt beginnen met het voorbereiden van de migratie naar de nieuwe V2 GA-API's, raadpleegt u de volgende koppeling:

Gefactureerde en niet-gefactureerde dagelijkse afstemmings-API voor gebruik v2 (GA)

Notitie

U kunt uw dagelijkse niet-gefactureerde gebruiksgegevens ophalen via de API- of Partnercentrum-portal. Het kan tot 24 uur duren voordat de gegevens beschikbaar zijn. Er kunnen echter verdere vertragingen optreden, afhankelijk van uw locatie en wanneer de meters het gebruik rapporteren.

Soms ziet u mogelijk niet de meest recente niet-gefactureerde gebruiksgegevens totdat de gefactureerde gebruiksgegevens voor de vorige maand worden geleverd. Dit wordt gedaan om ervoor te zorgen dat gefactureerde gebruiksgegevens binnen de overeengekomen tijd worden geleverd. Zodra u de gefactureerde gebruiksgegevens ontvangt, moet u alle bijgewerkte niet-gefactureerde gebruiksgegevens kunnen ophalen vanaf het begin van de maand.

Belangrijk

De dagelijkse gebruiksgegevens bevatten niet de kosten voor deze producten:

  • Azure-reservering
  • Azure-besparingsplan
  • Office
  • Dynamics
  • Microsoft Power Apps
  • Eeuwigdurende software
  • Softwareabonnement
  • SaaS-product van derden

API-overzicht

De asynchrone API is een nieuwe methode voor het snel openen van facturerings- en afstemmingsgegevens in beheerbare segmenten. Het elimineert de noodzaak om een open verbinding gedurende uren te onderhouden en miljoenen transacties iteratief te doorlopen.

We hebben valetsleutel en asynchrone aanvraagantwoordpatronen gebruikt om onze facturerings- en afstemmings-API's te optimaliseren om de resultaten asynchroon te leveren. API-antwoorden bieden een token voor toegang tot de afstemmingsgegevens met alle kenmerken of een subset.

U kunt de gebruiksgegevens asynchroon downloaden met behulp van drie nieuwe stappen (API-eindpunten). Lees het volgende voor meer informatie:

Eindpunt van gebruiksregelitem

Gebruik deze API voor toegang tot gefactureerde of niet-gefactureerde verbruiksitems. Het retourneert een HTTP-status van 202 en een locatieheader met de URL, die u regelmatig moet peilen totdat u een successtatus met een manifest-URL ontvangt.

Eindpunt van bewerkingsstatus

Totdat u de status van het succes ontvangt, houdt u deze API regelmatig in de peiling. Als de aangevraagde gegevens niet beschikbaar zijn, bevat het API-antwoord een header Opnieuw proberen na die aangeeft hoe lang u moet wachten voordat een andere aanvraag wordt verzonden.

Manifesteindpunt

Dit eindpunt biedt een opslagmap waaruit werkelijke factureringsgegevens kunnen worden gedownload. Het antwoord splitst of partitioneert de bestanden om doorvoer en I/O parallellisme te optimaliseren.

Sequentiediagram

In het onderstaande diagram ziet u de stappen die nodig zijn om afstemmingsgegevens te downloaden.

Diagram met de stappen die nodig zijn om afstemmingsgegevens te downloaden.

Gebruikersactiereeks

Volg de onderstaande stappen om afstemmingsgegevens op te halen.

Stap 1: Aanvraag indienen

Dien een POST-aanvraag in bij het API-eindpunt.

Niet-gefactureerde gebruiksregelitems ophalen

Niet-gefactureerde gebruiksregelitems ophalen voor de huidige of vorige kalendermaand.

API-aanvraag

POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage?fragment={fragment}&period={period}?currencyCode={currencyCode}

Aanvraagparameters

Naam In Vereist Type Beschrijving
fragment Query Onwaar String Kies 'volledig' voor een volledig antwoord of basic voor een subset van kenmerken. De standaardwaarde is 'vol'. Zie de lijst met kenmerken in dit artikel.
Periode Query Waar String Gebruik 'huidige' of 'laatste' om het gebruik voor de huidige of laatste kalendermaand op te halen. De waarde 'laatste' is hetzelfde als 'vorige' in bestaande V1-API's.
currencyCode Query Waar String Valutacode voor partnerfacturering.

Afgeschafte aanvraagparameters

Voor de nieuwere API-versie zijn de volgende URI-parameters niet vereist:

Naam Beschrijving
Provider N.v.t. (Het retourneert alle azure-abonnementsgebruik en komt overeen met de 'eenmalige' van bestaande V1-API's.)
hasPartnerEarnedCredit N.v.t. (retourneert alle gegevens, ongeacht PEC.)
Tekengrootte N.v.t.
Verschuiving N.v.t.
seekOperation N.v.t.

Aanvraagheader

Zie de lijst met aanvraagheaders voor de API in dit artikel.

Aanvraagtekst

N.v.t.

API-reactie

HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/811bb8f0-8aca-4807-897c-c15ce50820d6

API retourneert HTTP-status 202. Api kan op basis van aanvraag andere standaardstatussen retourneren.

Naam Beschrijving
202 Geaccepteerd De aanvraag is geaccepteerd. Voer een query uit op de header-URL van de bewerkingslocatie voor de aanvraagstatus.

Gefactureerde gebruiksregelitems ophalen

Gefactureerde gebruiksregelitems ophalen voor de gesloten factureringsperiode.

API-aanvraag

POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{invoiceId}?fragment={fragment}

Aanvraagparameters

Naam In Vereist Type Beschrijving
InvoiceId Pad Waar String Het factuurnummer van het Partnercentrum.
Fragment Query Onwaar String Kies 'volledig' voor een volledig antwoord of basic voor een subset van kenmerken. De standaardwaarde is 'vol'. Zie de lijst met kenmerken in dit artikel.

Afgeschafte aanvraagparameters

Voor de nieuwere API-versie zijn de volgende URI-parameters niet vereist:

Naam Beschrijving
Provider N.v.t. (Het retourneert alle azure-abonnementsgebruik en komt overeen met de 'eenmalige' van bestaande V1-API's.)
hasPartnerEarnedCredit N.v.t. (retourneert alle gegevens, ongeacht PEC.)
Tekengrootte N.v.t.
Verschuiving N.v.t.
seekOperation N.v.t.

Aanvraagheader

Zie de lijst met aanvraagheaders voor de API in dit artikel.

Aanvraagtekst

N.v.t.

API-reactie

HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e83ab1d4640

API retourneert 'HTTP 202 Geaccepteerd'. Op basis van de aanvraag-API kan een andere standaardstatus worden geretourneerd.

Naam Beschrijving
202 Geaccepteerd De aanvraag is geaccepteerd. Controleer de aanvraagstatus door de header-URL van de bewerkingslocatie te peilen.

Stap 2: Status van aanvraag controleren

Wacht op een HTTP 200 met de terminalstatus geslaagd of mislukt. De manifest-URL wordt 'resourceLocation' in de status geslaagd.

Bewerkingsstatus ophalen

Hiermee wordt de status van een aanvraag voor afstemmingsgegevens opgehaald.

API-aanvraag

GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e63ab1d3640

Aanvraagparameters

Naam In Vereist Type Beschrijving
operationId Pad Waar String De bewerkings-id.

Aanvraagheader

Zie de lijst met aanvraagheaders voor de API in dit artikel.

Aanvraagtekst

N.v.t.

Antwoordstatus

Naast de standaard HTTP-status in dit artikel kan de API de onderstaande HTTP-status retourneren:

Naam Beschrijving
410 Verdwenen Elke bewerkingskoppeling is actief voor een opgegeven hoeveelheid servergestuurde tijd. Nadat de tijd is verstreken, moet de client een nieuwe aanvraag indienen.

Nettolading van antwoord

De nettolading van het API-antwoord retourneert de volgende kenmerken:

Naam Optioneel Beschrijving
createdDateTime false Aanvraagtijd.
lastActionDateTime false Statuswijzigingstijd.
resourceLocation true De nettolading-URI van het manifest.
status false Mogelijke waarden en acties.
Weergegeven als Clientactie
niet gestart Voer nog een aanroep uit om de status te controleren nadat u hebt gewacht op de tijd die is opgegeven in de header 'Opnieuw proberen na'.
actief Voer nog een aanroep uit om de status te controleren nadat u hebt gewacht op de tijd die is opgegeven in de header 'Opnieuw proberen na'.
Geslaagd De laatste bewerkingsstatus, die aangeeft dat gegevens gereed zijn. Haal de nettolading van het manifest op met behulp van de URI die is opgegeven in resourceLocation.
mislukt Terminalstatus, wat een permanente fout aangeeft. Start de bewerking opnieuw op.

Voor foutkenmerk:

Naam Optioneel Beschrijving
error true Foutdetails in json-indeling als de status van de bewerking is mislukt.
Naam Optioneel Beschrijving
bericht false Beschrijft de fout in detail
code false Geeft het type fout aan dat is opgetreden

API-aanvraag

GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640

API-reactie

Het antwoord stelt voor dat u 10 seconden moet wachten voordat u het opnieuw probeert bij het verwerken van gegevens.

HTTP/1.1 200 OK  
Retry-After: 10  
{  
"createdDateTime": "2022-06-1T10-01-03.4Z",  
"lastActionDateTime":" 2022-06-1T10-01-05Z",  
"status": "running"  
}

API-aanvraag

(10 seconden na de eerdere aanvraag)

GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640

API-reactie

De API retourneert de status Geslaagd en de URI resourceLocation.

HTTP/1.1 200 OK  
Content-Type: application/json  
{  
"createdDateTime": "2022-06-1T10-01-03.4Z",  
"lastActionDateTime": "2022-06-1T10-01-13Z",  
"status": "succeeded",  
"resourceLocation": "https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingmanifests/e03e1882-ff59-4c09-882f-74e60b4d7743"  
}

Stap 3: Nettolading van manifest ophalen

De aanroeper doet een GET-aanvraag naar de manifest-URL voor meer informatie over waar de afstemmingsgegevens worden opgeslagen in Azure-blobs.

Het manifest verkrijgen

Haalt het manifest op met informatie over de Azure-opslaglocatie van de afstemmingsgegevens.

API-aanvraag

GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingmanifests/{manifestId}

Aanvraagparameters

Naam In Vereist Type Beschrijving
manifestId Pad Waar String De manifest-id.

Aanvraagheader

Zie de [lijst met aanvraagheaders voor de API] in dit artikel.

Aanvraagtekst

N.v.t.

Antwoordstatus

Naast de standaard HTTP-status kan de API de onderstaande HTTP-status retourneren:

Naam Beschrijving
410 Verdwenen Elke manifestkoppeling is actief voor een opgegeven hoeveelheid servergestuurde tijd. Nadat de tijd is verstreken, moet de client een nieuwe aanvraag indienen.

Nettolading van antwoord

Het API-antwoord retourneert de volgende kenmerken:

Naam Beschrijving
Versie De manifestschemaversie.
dataFormat De bestandsindeling voor factureringsgegevens. Mogelijke waarden gecomprimeerdeJSONLines: elke blob is een gecomprimeerd bestand en gegevens in het bestand hebben de JSON-regelsindeling . Decomprim het bestand om toegang te krijgen tot de gegevens.
utcCreatedDateTime Tijd voor het maken van manifestbestanden.
eTag Manifestgegevensversie. Een wijziging in factureringsgegevens genereert een nieuwe eTag-waarde.
partnerTenantId Tenant-id van partner.
rootFolder De hoofdmap van het bestand.
rootFolderSAS Het SAS-token voor toegang tot het bestand.
partitionType Met deze eigenschap worden de gegevens verdeeld. Als een bepaalde partitie meer dan het ondersteunde getal heeft, worden de gegevens gesplitst in meerdere bestanden die overeenkomen met de 'partitionValue'. Gegevens worden standaard gepartitioneerd door het aantal regelitems in het bestand. Stel geen vast aantal regelitems of bestandsgrootte in uw code in, omdat deze kunnen worden gewijzigd.
blobCount Totaal aantal bestanden voor deze partnertenant-id.
sizeInBytes Totaal aantal bytes in alle bestanden.
blobs Een JSON-matrix van 'blob'-objecten met de details van alle bestanden voor de tenant-id van de partner.
Blob-object
Naam De naam van de blob.
sizeInBytes Blobgrootte in bytes.
partitionValue De partitie die het bestand bevat. Een grote partitie wordt gesplitst in meerdere bestanden, elk met dezelfde 'partitionValue'.

Voorbeeld van nettolading van manifest

{
"version": "1",
"dataFormat": "compressedJSONLines",
"utcCretedDateTime": "2022-04-29T22:40:57.1853571Z",
"eTag": "0x5B168C7B6E589D2",
"partnerTenantId": "14f593ad-1edc-474d-aaa0-83abbf9638da",
"rootFolder": "https://{billing.blob.core.windows.net}/{folder_path}",
"rootFolderSAS": "\*\*\*",
"partitionType": "ItemCount",
"blobCount": 3,
"sizeInBytes": 2000,
"blobs": [
  {
  "name": "{blobName1.json.gz}",
  "sizeinBytes": 500,
  "partitionValue": "1"
  },
  {
  "name": "{blobName2.json.gz}",
  "sizeinBytes": 1000,
  "partitionValue": "2"
  },
  {
  "name": "{blobName3.json.gz}",
  "sizeinBytes": 500,
  "partitionValue": "3"
  }
  ]
}

Stap 4: Gebruiksafstemmingsgegevens downloaden van opslaglocatie

Haal het SAS-token en de blobopslaglocatie op uit de eigenschappen rootFolderSAS en rootFolder van het antwoord van de nettolading-API van het manifest. Gebruik de Azure Storage SDK/het hulpprogramma om het blobbestand te downloaden en uit te pakken. Deze heeft de indeling van JSON-regels .

Standard API-aanvraagheaders

Alle API's accepteren de volgende headers:

Naam Vereist Type Beschrijving
Autorisatie Waar String Autorisatie Bearer-token.
ms-correlationid Onwaar String Een interne aanvraagtracker. Elke aanvraag genereert een nieuwe tracker (GUID).
ms-cv Onwaar String Een interne aanvraagtracker.
ms-requestid Onwaar String De idempotentie-id van de aanvraag.

Standaard-API-antwoordstatussen

Hier volgen de HTTP-statussen van het API-antwoord:

Naam Beschrijving
400 Ongeldige aanvraag Er ontbreken of onjuiste gegevens. De foutdetails worden opgenomen in de hoofdtekst van het antwoord.
401 Onbevoegd De aanroeper wordt niet geverifieerd en moet worden geverifieerd met de partner-API-service voordat de eerste aanroep wordt uitgevoerd.
403 Verboden De beller is niet gemachtigd om de aanvraag te doen.
500 Interne serverfout De API of een van de bijbehorende afhankelijkheden kan niet voldoen aan de aanvraag. Probeert u het later nog eens.
404 Niet gevonden Resource is niet beschikbaar met invoerparameters.
410 Verdwenen Er is een time-out opgetreden voor de manifestkoppeling of deze is verstreken. Dien een nieuwe aanvraag in.

Kenmerken van gebruiksgegevens

Het gefactureerde of niet-gefactureerde API-antwoord met de aanvraagparameter 'full' of 'basic' retourneert de volgende kenmerken:

Kenmerk "vol" "basic"
PartnerId ja ja
PartnerName ja ja
CustomerId ja ja
CustomerName ja Ja
CustomerDomainName ja nee
CustomerCountry ja nee
MpnId ja nee
Tier2MpnId ja nee
InvoiceNumber ja ja
Product-id ja ja
SkuId ja ja
AvailabilityId ja nee
SkuName ja ja
ProductName ja nee
PublisherName ja ja
PublisherId ja nee
SubscriptionDescription ja nee
SubscriptionId ja ja
ChargeStartDate ja ja
ChargeEndDate ja ja
UsageDate ja ja
MeterType ja nee
MeterCategory ja nee
MeterId ja nee
MeterSubCategory ja nee
MeterName ja nee
MeterRegion ja nee
Eenheid ja ja
ResourceLocation ja nee
ConsumedService ja nee
ResourceGroup ja nee
ResourceURI ja ja
ChargeType ja ja
UnitPrice ja ja
Hoeveelheid ja ja
UnitType ja nee
BillingPreTaxTotal ja ja
BillingCurrency ja ja
PricingPreTaxTotal ja ja
PricingCurrency ja ja
ServiceInfo1 ja nee
ServiceInfo2 ja nee
Tags ja nee
AdditionalInfo ja nee
EffectiveUnitPrice ja ja
PCToBCExchangeRate ja ja
EntitlementId ja ja
EntitlementDescription ja nee
PartnerEarnedCreditPercentage ja nee
CreditPercentage ja ja
CreditType ja ja
BenefitOrderID ja ja
BenefitID ja nee
BenefitType ja ja