Ny API för dagligt bedömt användande inom e-handel v2 (beta)
Gäller för: Partnercenter | Partnercenter som drivs av 21Vianet | Partnercenter för Microsoft Cloud for US Government
Använd dessa API:er för att få asynkron tillgång till dagliga fakturerade och ej fakturerade användningsdata för ny handel.
Anteckning
Det här API:et stöds inte längre och ger ingen användningsinformation efter faktureringsperioden mars 2025. Om du vill växla smidigt till de nya API:erna följer du den här länken: API för avstämning av fakturerad och ej fakturerad daglig användning v2 (GA). Tack för din uppmärksamhet och vi ser fram emot att du fortsätter att lyckas med våra fakturerings-API:er.
Kommentar
Du kan komma åt dina ej fakturerade dagliga användningsposter via API:et eller Partner Center-portalen. För att säkerställa korrekta data kan du tillåta upp till 24 timmar för tillgänglighet. Beroende på din plats och när mätarna rapporterar användningen kan det uppstå ytterligare fördröjningar.
Vi prioriterar tidsleverans av fakturerade dagliga användningsdata först. Ibland kanske du inte ser de senaste ej fakturerade dagliga användningsdata förrän föregående månads fakturerade användningsdata är tillgängliga. När du har fått de fakturerade användningsdata kan du sedan hämta alla uppdaterade ej fakturerade användningsdata från början av månaden.
Din förståelse och ditt tålamod uppskattas när vi strävar efter att tillhandahålla så exakt och snabb information som möjligt.
Viktigt!
De dagliga betygssatta användningsdata inkluderar inte avgifterna för dessa produkter:
- Azure-reservation
- Azure-besparingsprenumeration
- Kontor
- Dynamik
- Microsoft Power Apps
- Perpetuell programvara
- Prenumeration på programvara
- SaaS-produkt som inte kommer från Microsoft eller marknadsplatsen
API-översikt
Det asynkrona API:et är en ny metod för att snabbt komma åt fakturerings- och avstämningsdata i hanterbara segment. Det eliminerar behovet av att upprätthålla en öppen anslutning i timmar och loopa igenom miljontals transaktioner iterativt.
Vi använder valetnyckel och asynkront begäran-svarsmönster för att optimera våra fakturerings- och avstämnings-API:er för att leverera resultaten asynkront. API-svar ger en token för åtkomst till avstämningsdata med alla attribut eller en delmängd.
Du kan ladda ned användningsdata asynkront med hjälp av tre nya steg (API-slutpunkter). Mer information finns i följande avsnitt:
Slutpunkt för användningsradobjekt
Använd det här API:et för att komma åt fakturerade eller ej fakturerade förbrukningsradobjekt. Den returnerar HTTP-status 202 och en plats-header med URL:n, som du måste kontrollera regelbundet tills du får en lyckad status med en manifest-URL.
Slutpunkt för åtgärdsstatus
Tills du får den önskade statusen, fortsätt att begära detta API med jämna mellanrum. Om begärda data inte är tillgängliga innehåller API-svaret ett återförsökshuvud som anger hur länge du ska vänta innan du skickar en annan begäran.
Manifestslutpunkt
Den här slutpunkten innehåller en lagringsmapp från vilken faktiska faktureringsdata kan laddas ned. Svaret delar eller partitioner filerna för att optimera dataflödet och I/O-parallelliteten.
Sekvensdiagram
Diagrammet visar de steg som krävs för att ladda ned avstämningsdata.
Åtgärdssekvens för användare
Följ dessa steg för att hämta avstämningsdata.
Steg 1: Skicka begäran
Skicka en POST-begäran till API-slutpunkten.
Hämta ofakturerade användningspunkter
Hämta ofakturerade poster för användning för den aktuella eller senaste kalendermånaden.
API-begäran
POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage?fragment={fragment}&period={period}?currencyCode={currencyCode}
Parametrar för begäran
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
fragment | Fråga | Falsk | Sträng | Välj "fullständig" för ett fullständigt svar eller "grundläggande" för en delmängd av attribut. Standardvärdet är "full". Se listan över attribut i den här artikeln. |
period | Fråga | Sant | String | Använd "aktuell" eller "sista" för att hämta användning för den aktuella eller senaste kalendermånaden. Värdet "last" är detsamma som "föregående" i befintliga V1-API:er. |
valutakod | Fråga | Sant | Sträng | Valutakod för partnerfakturering. |
Inaktuella parametrar för begäran
Den nyare API-versionen kräver inte följande URI-parametrar:
Namn | Beskrivning |
---|---|
Leverantör | Saknas. (Den returnerar all användning av Azure-plan och motsvarar "onetime" för befintliga V1-API:er.) |
hasPartnerEarnedCredit | Saknas. (returnerar alla data, oavsett PEC.) |
Storlek | Ej tillämpligt. |
Kompensation | Saknas. |
sökoperation | Saknas. |
Begärandehuvud
Se listan över begärandehuvuden för API :et i den här artikeln.
Begärandetext
Saknas.
API-svar
HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/811bb8f0-8aca-4807-897c-c15ce50820d6
API returnerar HTTP-statuskod 202. Baserat på begäran kan API returnera annan standardstatus.
Namn | Beskrivning |
---|---|
202 Accepterad | Begäran godkänns. Kontrollera operation-location header-URL:en för begärans status. |
Hämta fakturerade användningsradobjekt
Hämta fakturerade användningsposter för den avslutade faktureringsperioden.
API-begäran
POST https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{invoiceId}?fragment={fragment}
Parametrar för begäran
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
faktura-ID | Sökväg | Sant | Sträng | Fakturanumret för Partnercenter. |
Fragment | Fråga | Falsk | Sträng | Välj "fullständig" för ett fullständigt svar eller "grundläggande" för en delmängd av attribut. Standardvärdet är "full". Se listan över attribut i den här artikeln. |
Inaktuella parametrar för begäran
Den nyare API-versionen kräver inte följande URI-parametrar:
Namn | Beskrivning |
---|---|
Leverantör | Ej tillämpligt. (Den returnerar all Användning av Azure-plan och motsvarar "engångsanvändningen" för befintliga V1-API:er.) |
harPartnerTjänatKredit | Saknas. (returnerar alla data, oavsett PEC.) |
Storlek | Saknas. |
Förskjutning | Saknas. |
sökoperation | Saknas. |
Begärandehuvud
Se listan över begärandehuvuden för API :et i den här artikeln.
Begäranens innehåll
Saknas.
API-svar
HTTP/1.1 202 Accepted Operation-Location: https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e83ab1d4640
API:et returnerar "HTTP 202 Accepted". Beroende på begäran kan API:et returnera andra standardstatus.
Namn | Beskrivning |
---|---|
202 Accepterad | Begäran godkänns. Kontrollera begärandestatusen genom att avsöka url:en för åtgärdsplatsens sidhuvud. |
Steg 2: Kontrollera status för begäran
Vänta på en HTTP 200 med en terminalstatus av lyckad eller misslyckad. Manifestets URL finns under "resourceLocation" i statusmeddelandet "lyckad".
Hämta åtgärdsstatus
Hämtar status för en begäran om avstämningsdata.
API-begäran
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4448-83b4-1e63ab1d3640
Parametrar för begäran
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
operationId | Sökväg | Sant | Sträng | Åtgärds-ID:t. |
Begärandehuvud
Se listan över begärandehuvuden för API :et i den här artikeln.
Begärandetext
Saknas.
Svarsstatus
Förutom HTTP-standardstatusen i den här artikeln kan API:et returnera denna HTTP-status:
Namn | Beskrivning |
---|---|
410 Borta | Varje åtgärdslänk är aktiv under en angiven mängd serverkontrollerad tid. När tiden har gått måste klienten skicka en ny begäran. |
Svarsnyttolast
API-svarsnyttolasten returnerar följande attribut:
Name | Valfritt | beskrivning |
---|---|---|
createdDateTime | falskt | Tid för begäran. |
senasteÅtgärdsDatumTid | falskt | Statusändringstid. |
resursplats | true | Manifestets nyttolast-URI. |
status | falskt | Möjliga värden och åtgärder. |
Värde | Klientåtgärd |
---|---|
ej påbörjad | Gör ett nytt anrop för att kontrollera statusen efter att ha väntat på den tid som anges i rubriken "Försök efter igen". |
körs | Gör ett nytt anrop för att kontrollera statusen efter att ha väntat på den tid som anges i rubriken "Försök efter igen". |
Lyckades | Det slutliga drifttillståndet, som anger att data är klara. Hämta manifestnyttolasten med hjälp av den URI som anges i resourceLocation. |
Misslyckades | Terminaltillstånd, vilket indikerar permanent fel. Starta om åtgärden. |
För felattribut:
Name | Valfritt | beskrivning |
---|---|---|
fel | true | Felinformation som anges i json-format om åtgärdens status misslyckas. |
Name | Valfritt | beskrivning |
---|---|---|
meddelande | falskt | Beskriver felet i detalj |
kod | falskt | Anger vilken typ av fel som inträffade |
API-begäran
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640
API-svar
Svaret föreslår att du väntar 10 sekunder innan du försöker igen när data bearbetas.
HTTP/1.1 200 OK
Retry-After: 10
{
"createdDateTime": "2022-06-1T10-01-03.4Z",
"lastActionDateTime":" 2022-06-1T10-01-05Z",
"status": "running"
}
API-begäran
(10 sekunder efter den tidigare begäran)
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingoperations/06d01983-07bf-4447-83b4-1e83ab1d3640
API-svar
API:et returnerar statusen "lyckades" och URI:n "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"
}
Steg 3: Hämta manifestnyttolast
Anroparen gör en GET-begäran till manifest-URL:en för att lära sig mer om var avstämningsdata lagras i Azure-blobar.
Hämta manifestet
Hämtar manifestet med information om azure-lagringsplatsen för avstämningsdata.
API-begäran
GET https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billingmanifests/{manifestId}
Parametrar för begäran
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
manifestId | Sökväg | Sant | Sträng | Manifest-ID. |
Begäranshuvud
Se [listan över begärandehuvuden för API:et] i den här artikeln.
Begärandetext
Saknas.
Svarsstatus
Förutom HTTP-standardstatusen kan API:et returnera denna HTTP-status:
Namn | Beskrivning |
---|---|
410 Borttagen | Varje manifestlänk är aktiv under en angiven mängd serverkontrollerad tid. När tiden har gått måste klienten skicka en ny begäran. |
Svarsnyttolast
API-svaret returnerar följande attribut:
Namn | Beskrivning |
---|---|
Version | Version av manifestschema. |
dataFormat | Filformatet för faktureringsdata. Möjliga värden komprimeradeJSONLines: varje blob är en komprimerad fil och data i filen är i JSON-linjeformat . För att komma åt data, packa upp filen. |
utcCreatedDateTime | Tiden då manifestfilen skapades. |
eTag | Manifestdata-version En ändring av faktureringsinformationen genererar ett nytt eTag-värde. |
partnerTenantId | Partnerklientorganisations-ID. |
rootFolder | Filens rotkatalog. |
rootFolderSAS | SAS-token för åtkomst till filen. |
partitionstyp | Den här egenskapen delar upp data. Om en viss partition har mer än det tal som stöds delas data upp i flera filer som motsvarar "partitionValue". Som standard partitioner systemet data baserat på antalet radobjekt i filen. Ange inte ett fast antal radobjekt eller filstorlek i koden eftersom partitioneringsprincipen kan ändras. |
blobCount | Totalt antal filer för det här partnerklient-ID:t. |
sizeInBytes | Totalt antal byte i alla filer. |
klumpar | En JSON-matris med "blob"-objekt med information om alla filer för partnerklient-ID:t. |
Blobobjekt | |
Name | Blobens namn. |
sizeInBytes | Blobstorlek i byte. |
partitionvärde | Partitionen som innehåller filen. En stor partition delas upp i flera filer, var och en med samma "partitionValue". |
Nyttolast för exempelmanifest
{
"version": "1",
"dataFormat": "compressedJSONLines",
"utcCretedDateTime": "2022-04-29T22:40:57.1853571Z",
"eTag": "0x5B168C7B6E589D2",
"partnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"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"
}
]
}
Steg 4: Ladda ned avstämningsdata för användning från lagringsplats
Hämta SAS-token och bloblagringsplatsen från egenskaperna "rootFolderSAS" och "rootFolder" i api-svaret för manifestnyttolasten. Använd Azure Storage SDK/-verktyget för att ladda ned och packa upp blobfilen. Den är i JSON-linjeformat .
Standard-API-begärandehuvuden
Alla API:er accepterar följande rubriker:
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
Auktorisering | Sant | String | Auktoriseringsbäraretoken. |
ms-correlationid | Falsk | Sträng | Ett internt spårningssystem för begäranden. Varje begäran genererar en ny spårare (GUID). |
ms-cv | Falsk | Sträng | Ett internt system för begäransspårning |
ms-requestid | Falsk | sträng | Begärande-ID:t för idempotens. |
Standard-API-svarsstatusar
Följande är HTTP-statusarna från API-svaret:
Namn | Beskrivning |
---|---|
400 – Felaktig begäran | Det saknades eller var felaktiga data. Felinformationen ingår i svarstexten. |
401 Inte auktoriserad | Anroparen är inte autentiserad och måste autentisera med partner-API-tjänsten innan det första anropet. |
403 – Förbjuden | Anroparen har inte behörighet att göra begäran. |
500 – Internt serverfel | API:et eller något av dess beroenden kan inte uppfylla begäran. Försök igen senare. |
404 – Hittades inte | Resursen är inte tillgänglig med indataparametrar. |
410 Försvunnen | Tidsgränsen för manifestlänken har överskridit eller förflutit. Skicka en ny begäran. |
Attribut för användningsdata
Api-svaret för fakturerad eller ej fakturerad användning med parametern "fullständig" eller "grundläggande" begäran returnerar följande attribut:
Attribut | "full" | "grundläggande" |
---|---|---|
PartnerId | ja | ja |
PartnerName | ja | ja |
KundId | ja | ja |
Kundnamn | ja | Ja |
CustomerDomainName | ja | nej |
Kundensland | ja | nej |
MpnId | ja | nej |
Tier2MpnId | ja | nej |
Fakturanummer | ja | ja |
Produkt-ID | ja | ja |
SkuId | ja | ja |
AvailabilityId | ja | nej |
SkuName | ja | ja |
ProductName | ja | nej |
Förlagsnamn | ja | ja |
UtgivareId | ja | nej |
Prenumerationsbeskrivning | ja | nej |
Prenumerations-ID | ja | ja |
Debiteringsstartdatum | ja | ja |
Debiteringsslutdatum | ja | ja |
Användningsdatum | ja | ja |
Mätartyp | ja | nej |
Mätarkategori | ja | nej |
MeterId | ja | nej |
Mätarunderkategori | ja | nej |
Mätarnamn | ja | nej |
MeterRegion | ja | nej |
Enhet | ja | ja |
ResourceLocation | ja | nej |
ConsumedService | ja | nej |
ResourceGroup | ja | nej |
ResourceURI | ja | ja |
Laddningstyp | ja | ja |
Enhetspris | ja | ja |
Kvantitet | ja | ja |
enhetstyp | ja | nej |
BillingPreTaxTotal | ja | ja |
fakturavaluta | ja | ja |
Prissättning före moms totalt | ja | ja |
Prissättningsvaluta | ja | ja |
ServiceInfo1 | ja | nej |
ServiceInfo2 | ja | nej |
Taggar | ja | nej |
Ytterligare information | ja | nej |
Effektiv enhetspris | ja | ja |
PC till BC Växelkurs | ja | ja |
PCToBCExchangeRateDate | ja | nej |
RättighetsId | ja | ja |
Rättighetsbeskrivning | ja | nej |
PartnerTjänadKreditProcent | ja | nej |
Kreditprocent | ja | ja |
Kredittype | ja | ja |
BenefitOrderID | ja | ja |
BenefitID | ja | nej |
Förmånstyp | ja | ja |