Nytt dagliga användnings-API för 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å nya e-handelsfakturerade och ej fakturerade dagliga användningsdata asynkront.
Kommentar
Det här API:et kommer snart att bli inaktuellt. För att säkerställa sömlösa åtgärder rekommenderar vi att du migrerar till GA-versionen. Här är den information du behöver för att planera framåt:
Mål: Hämta fakturerade dagliga klassificerade användningsradobjekt för faktureringsperioder från september 2022 före den 21 januari 2025.
Åtgärd: Använd det här API:et men migrera till v2 GA så snart som möjligt.
Mål: Hämta fakturerade dagliga klassificerade användningsradobjekt för faktureringsperioder från september 2022 från den 21 januari 2025.
Åtgärd: Använd endast API v2 GA.
Mål: Hämta ej fakturerade dagliga klassificerade användningsradobjekt för aktuella och tidigare faktureringsperioder före den 21 januari 2025.
Åtgärd: Använd det här API:et men migrera till v2 GA så snart som möjligt.
Mål: Hämta ej fakturerade dagliga klassificerade användningsradobjekt för aktuella och tidigare faktureringsperioder från den 21 januari 2025.
Åtgärd: Använd endast API v2 GA.
Om du vill ha en smidig övergång till de nya API:erna följer du den här länken: Fakturerad och ej fakturerad dagligen klassificerad användningsavstämning API 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 klassificerade användningsradobjekt via API:et eller Partnercenter-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 dagliga, 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
- Office
- Dynamics
- Microsoft Power Apps
- Evig programvara
- Prenumeration på programvara
- SaaS-produkt från andra länder än Microsoft eller Marketplace
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 betjäningsnyckeln och asynkrona begärandesvarsmö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 platsrubrik med URL:en, som du måste avsöka med jämna mellanrum tills du får statusen lyckades med en manifest-URL.
Slutpunkt för åtgärdsstatus
Tills du får statusen lyckades kan du fortsätta att avsöka det här API:et 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ändningsradobjekt
Hämta ofakturerade användningsradobjekt 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 | String | 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. |
currencyCode | Fråga | Sant | String | Valutakod för partnerfakturering. |
Inaktuella parametrar för begäran
Den nyare API-versionen kräver inte följande URI-parametrar:
Namn | Beskrivning |
---|---|
Provider | Saknas. (Den returnerar all Användning av Azure-plan och motsvarar "engångsanvändningen" för befintliga V1-API:er.) |
hasPartnerEarnedCredit | Saknas. (returnerar alla data, oavsett PEC.) |
Storlek | Saknas. |
Förskjutning | Saknas. |
seekOperation | 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-status 202. Baserat på begäran kan API returnera annan standardstatus.
Namn | Beskrivning |
---|---|
202 Accepterad | Begäran godkänns. Fråga url:en för åtgärdsplatsrubriken för begärandestatus. |
Hämta fakturerade användningsradobjekt
Hämta fakturerade klassificerade användningsradobjekt för den stängda 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 |
---|---|---|---|---|
invoiceId | Sökväg | Sant | String | Fakturanumret för Partnercenter. |
Fragment | Fråga | Falsk | String | 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 |
---|---|
Provider | Saknas. (Den returnerar all Användning av Azure-plan och motsvarar "engångsanvändningen" för befintliga V1-API:er.) |
hasPartnerEarnedCredit | Saknas. (returnerar alla data, oavsett PEC.) |
Storlek | Saknas. |
Förskjutning | Saknas. |
seekOperation | 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/06d01983-07bf-4448-83b4-1e83ab1d4640
API:et returnerar "HTTP 202 Accepted". Baserat på API för begäran kan returnera annan 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 terminalstatusen lyckades eller misslyckades. Manifest-URL:en är "resourceLocation" i statusen lyckades.
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 | String | Å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. |
lastActionDateTime | falskt | Statusändringstid. |
resourceLocation | true | URI:n för manifestnyttolasten. |
status | falskt | Möjliga värden och åtgärder. |
Värde | Klientåtgärd |
---|---|
inte startad | 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 | String | Manifest-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 kan API:et returnera denna HTTP-status:
Namn | Beskrivning |
---|---|
410 Borta | 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 | Manifestschemaversionen. |
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 expanderar du filen. |
utcCreatedDateTime | Tiden då manifestfilen skapades. |
eTag | Manifestdataversion. En ändring av faktureringsinformationen genererar ett nytt eTag-värde. |
partnerTenantId | Partnerklientorganisations-ID. |
rootFolder | Filens rotkatalog. |
rootFolderSAS | SAS-token för åtkomst till filen. |
partitionType | 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. |
blobar | En JSON-matris med "blob"-objekt med information om alla filer för partnerklient-ID:t. |
Blobobjekt | |
Name | Blobens namn. |
sizeInBytes | Blobstorlek i byte. |
partitionValue | 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": "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"
}
]
}
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 | String | En intern spårning av begäranden. Varje begäran genererar en ny spårare (GUID). |
ms-cv | Falsk | String | En intern spårning av begäranden. |
ms-requestid | Falsk | String | 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 – Ej behörig | 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 Borta | 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 |
CustomerId | ja | ja |
CustomerName | ja | Ja |
CustomerDomainName | ja | nej |
CustomerCountry | ja | nej |
MpnId | ja | nej |
Tier2MpnId | ja | nej |
InvoiceNumber | ja | ja |
Produkt-ID | ja | ja |
SkuId | ja | ja |
AvailabilityId | ja | nej |
SkuName | ja | ja |
ProductName | ja | nej |
PublisherName | ja | ja |
PublisherId | ja | nej |
SubscriptionDescription | ja | nej |
SubscriptionId | ja | ja |
ChargeStartDate | ja | ja |
ChargeEndDate | ja | ja |
UsageDate | ja | ja |
MeterType | ja | nej |
MeterCategory | ja | nej |
MeterId | ja | nej |
MeterSubCategory | ja | nej |
MeterName | ja | nej |
MeterRegion | ja | nej |
Enhet | ja | ja |
ResourceLocation | ja | nej |
ConsumedService | ja | nej |
ResourceGroup | ja | nej |
ResourceURI | ja | ja |
ChargeType | ja | ja |
UnitPrice | ja | ja |
Kvantitet | ja | ja |
UnitType | ja | nej |
BillingPreTaxTotal | ja | ja |
BillingCurrency | ja | ja |
PricingPreTaxTotal | ja | ja |
PricingCurrency | ja | ja |
ServiceInfo1 | ja | nej |
ServiceInfo2 | ja | nej |
Taggar | ja | nej |
AdditionalInfo | ja | nej |
EffectiveUnitPrice | ja | ja |
PCToBCExchangeRate | ja | ja |
EntitlementId | ja | ja |
EntitlementDescription | ja | nej |
PartnerEarnedCreditPercentage | ja | nej |
CreditPercentage | ja | ja |
CreditType | ja | ja |
BenefitOrderID | ja | ja |
BenefitID | ja | nej |
BenefitType | ja | ja |