Programozott hozzáférési paradigma kereskedelmi piactérhez
Ez az ábra egy új jelentéssablon létrehozásához, az egyéni jelentés ütemezéséhez és a hibaadatok lekéréséhez használt API-hívásmintát mutatja be.
1. ábra: Az API-hívásminta magas szintű folyamata
Ez a lista további részleteket tartalmaz az 1. ábráról.
- Az ügyfélalkalmazás a Jelentés lekérdezése APImeghívásával definiálhatja az egyéni jelentéssémát/sablont. Másik lehetőségként használhat jelentéssablont (
QueryId
) a rendszer lekérdezéseinek listájából. - Siker esetén a Jelentéssablon létrehozása API visszaadja a
QueryId
. - Az ügyfélalkalmazás ezután meghívja a Jelentés Létrehozás API-t a
QueryID
segítségével a jelentés kezdő dátumával, az Ismétlési időközzel, a Gyakorisággal és az opcionális visszahívási URL-lel. - Siker esetén a Jelentéskészítő API visszaadja a
ReportID
. - Az ügyfélalkalmazás értesítést kap a visszahívási URI-n, amint a jelentés adatai készen állnak a letöltésre.
- Az ügyfélalkalmazás ezután a Jelentésvégrehajtások API használatával kérdezi le a jelentés állapotát a
Report ID
és a dátumtartomány alapján. - Sikeresség esetén a rendszer visszaadja a jelentés letöltési hivatkozását, és az alkalmazás kezdeményezheti az adatok letöltését.
Jelentés lekérdezési nyelvének specifikációja
Bár rendszer lekérdezéseket biztosítunk, jelentéseket hozhat létre, de saját lekérdezéseket is létrehozhat az üzleti igényei alapján. Az egyéni lekérdezésekkel kapcsolatos további információkért lásd egyéni lekérdezés specifikációját.
Jelentés lekérdezési API létrehozása
Ez az API segít egyéni lekérdezéseket létrehozni, amelyek meghatározzák azt az adatkészletet, amelyből az oszlopokat és metrikákat exportálni kell. Az API rugalmasan hozhat létre új jelentéssablont az üzleti igényeinek megfelelően.
Az általunk biztosított rendszer-lekérdezéseket is használhatja. Ha nincs szükség egyéni jelentéssablonokra, meghívhatja a Jelentéskészítő API- közvetlenül az általunk biztosított rendszer-lekérdezések QueryIds használatával.
Az alábbi példa bemutatja, hogyan hozhat létre egyéni lekérdezést a normalizált használat és a fizetős termékváltozatok becsült pénzügyi költségeinek lekéréséhez az elmúlt hónap ISVUsage adatkészletből.
Kérés szintaxisa
Módszer | URI kérése |
---|---|
POSZT | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries |
Kérelem fejlécének
Fejléc | Típus | Leírás |
---|---|---|
Felhatalmazás | húr | Szükséges. A Microsoft Entra hozzáférési jogkivonata. A formátum Bearer <token> . |
Tartalomtípus | string |
application/JSON |
Elérési út paraméter
Egyik sem
lekérdezési paraméter
Egyik sem
Kérelmi hasoadat példa
{
"Name": "ISVUsageQuery",
"Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
"Query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH"
}
szószedet
Ez a táblázat a kérelem hasznos adatelemeinek kulcsdefinícióit tartalmazza.
Paraméter | Szükséges | Leírás | Engedélyezett értékek |
---|---|---|---|
Name |
Igen | A lekérdezés felhasználóbarát neve | string |
Description |
Nem | A létrehozott lekérdezés leírása | húr |
Query |
Igen | Lekérdezési sztring üzleti igény alapján | húr |
Jegyzet
Egyéni lekérdezési példákért lásd minta lekérdezéseket.
válaszminta
A válasz csomagja a következőképpen épül fel:
Válaszkódok: 200, 400, 401, 403, 500
Válasz payload példa:
{
"value": [
{
"queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
"name": " ISVUsageQuery",
"description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
"query": " SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
"type": "userDefined",
"user": "142344300",
"createdTime": "2024-01-06T05:38:34Z"
}
],
"totalCount": 1,
"message": "Query created successfully",
"statusCode": 200
}
szószedet
Ez a táblázat a válasz elemeinek kulcsdefinícióit tartalmazza.
Paraméter | Leírás |
---|---|
QueryId |
A létrehozott lekérdezés univerzálisan egyedi azonosítója (UUID) |
Name |
Lekérdezés létrehozása során a kérés adatterhelésében megadott név |
Description |
A lekérdezés létrehozása során a kérési adatokban megadott leírás |
Query |
A lekérdezés létrehozásakor a kérelem adatcsomagjában megadott egyéni jelentésre vonatkozó lekérdezés |
Type |
Manuálisan létrehozott lekérdezések esetén a beállítást userDefined -ra kell állítani. |
User |
A lekérdezés létrehozásához használt felhasználói azonosító |
CreatedTime |
A lekérdezés létrehozásának UTC-időpontja. Formátum: yyyy-MM-ddTHH:mm:ssZ |
TotalCount |
Az Érték tömb rekordjainak száma |
StatusCode |
Eredménykód A lehetséges értékek: 200, 400, 401, 403, 500 |
message |
Állapotüzenet az API végrehajtásából |
Jelentés API létrehozása
Amikor sikeresen létrehoz egy egyéni jelentéssablont, és a Jelentéskészítő lekérdezés létrehozása válasz részeként megkapja a QueryID
-t, ez az API hívható meg a lekérdezés rendszeres időközönként történő ütemezésére. Beállíthatja a jelentés kézbesítésének gyakoriságát és ütemezését. Az általunk biztosított rendszerlekérdezésekhez a Jelentés létrehozása API QueryIdkóddal is meghívható.
Kérés szintaxisa
Módszer | URI kérése |
---|---|
POSZT | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport |
Kérelem fejlécének
Fejléc | Típus | Leírás |
---|---|---|
Felhatalmazás | húr | Szükséges. A Microsoft Entra hozzáférési jogkivonata. A formátum Bearer <token> . |
Tartalomtípus | húr | application/JSON |
Elérési út paraméter
Egyik sem
lekérdezési paraméter
Egyik sem
Hasznos adatok kérése példa
{
"ReportName": "ISVUsageReport",
"Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
"QueryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c ",
"StartTime": "2021-01-06T19:00:00Z ",
"executeNow": false,
"RecurrenceInterval": 48,
"RecurrenceCount": 20,
"Format": "csv",
"CallbackUrl": "https://<SampleCallbackUrl>"
"callbackMethod": "GET",
}
szószedet
Ez a táblázat a kérelem hasznos adatelemeinek kulcsdefinícióit tartalmazza.
Paraméter | Szükséges | Leírás | Engedélyezett értékek |
---|---|---|---|
ReportName |
Igen | A jelentéshez rendelt felhasználóbarát név | Húr |
Description |
Nem | A létrehozott jelentés leírása | Karakterlánc |
QueryId |
Igen | Jelentéskészítéshez használandó lekérdezésazonosító | Karakterlánc |
StartTime |
Igen | UTC időbélyeg, amelyen a jelentés létrehozása megkezdődik. A formátum legyen yyyyy-MM-ddTHH:mm:ssZ | Húr |
ExecuteNow |
Nem | Ezt a paramétert kell használni egy olyan jelentés létrehozásához, amely csak egyszer lesz végrehajtva.
StartTime , RecurrenceInterval , RecurrenceCount és EndTime figyelmen kívül lesz hagyva, ha ez true -re van állítva. |
Boolean |
QueryStartTime |
Nem | Opcionálisan megadja az adatokat kinyerő lekérdezés kezdési idejét. Ez a paraméter csak egy olyan végrehajtási jelentésre alkalmazható, amely ExecuteNow true értékre van állítva. A formátum legyen yyyyy-MM-ddTHH:mm:ssZ |
Időbélyeg karakterláncként |
QueryEndTime |
Nem | Opcionálisan megadja az adatokat kinyerő lekérdezés befejezési idejét. Ez a paraméter csak egy olyan végrehajtási jelentésre alkalmazható, amely ExecuteNow true értékre van állítva. A formátum legyen yyyyy-MM-ddTHH:mm:ssZ |
Időbélyeg karakterláncként |
RecurrenceInterval |
Igen | A jelentés létrehozásának gyakorisága órákban. A minimális érték 1, a maximális érték pedig 17520 | Egész szám |
RecurrenceCount |
Igen | A létrehozandó jelentések száma. A korlát az ismétlődési időköztől függ | Egész szám |
Format |
Nem | Az exportált fájl fájlformátuma. Az alapértelmezett formátum a CSV | CSV/TSV |
CallbackUrl |
Nem | A visszahívási célként opcionálisan konfigurálható, nyilvánosan elérhető URL-cím | Zsinór |
CallbackMethod |
Nem | Visszahívási URL-címmel konfigurálható Get/Post metódus | GET/POST |
EndTime |
Igen | UTC időbélyeg, amelyen a jelentés létrehozása befejeződik. A formátum legyen yyyyy-MM-ddTHH:mm:ssZ | Húr |
Jegyzet
A jelentés létrehozásakor kötelező EndTime
vagy RecurrenceInterval
és RecurrenceCount
kombinációja.
válaszminta
A válasz adathalmaza a következőképpen épül fel:
Válaszkód: 200, 400, 401, 403, 404, 500
Válasz terhelése
{
"Value": [
{
"reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
"reportName": "ISVUsageReport",
"description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
"queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
"query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
"user": "142344300",
"createdTime": "2024-01-06T05:46:00Z",
"modifiedTime": null,
"startTime": "2024-01-06T19:00:00Z",
"reportStatus": "Active",
"recurrenceInterval": 48,
"recurrenceCount": 20,
"callbackUrl": "https://<SampleCallbackUrl>",
"callbackMethod": "GET",
"format": "csv"
}
],
"TotalCount": 1,
"Message": "Report created successfully",
"StatusCode": 200
}
szószedet
Ez a táblázat a válasz elemeinek kulcsdefinícióit tartalmazza.
Paraméter | Leírás |
---|---|
ReportId |
A létrehozott jelentés univerzálisan egyedi azonosítója (UUID) |
ReportName |
A kérési adathalmazban megadott név a jelentés létrehozásakor |
Description |
A jelentés létrehozása során a kérelem adatcsomagjában megadott leírás |
QueryId |
A kérés adattartalmában megadott lekérdezési azonosító a jelentés létrehozása során |
Query |
A jelentéshez végrehajtandó szöveg lekérdezése |
User |
A jelentés létrehozásához használt felhasználói azonosító |
CreatedTime |
UTC A jelentés létrehozásának időpontja ebben a formátumban: yyyy-MM-ddTHH:mm:ssZ |
ModifiedTime |
UTC A jelentés utolsó módosításának időpontja ebben a formátumban: yyyy-MM-ddTHH:mm:ssZ |
ExecuteNow |
A jelentés létrehozása során a kéréstartalomban megadott ExecuteNow paraméter |
queryStartTime |
A jelentés létrehozása során a kérelem hasznos adataiban megadott lekérdezés kezdési ideje. Ez csak akkor alkalmazható, ha ExecuteNow "True" (Igaz) értékre van állítva |
queryEndTime |
A kérelem hasznos adataiban megadott lekérdezési befejezési idő a jelentés létrehozása során. Ez csak akkor alkalmazható, ha ExecuteNow "True" (Igaz) értékre van állítva |
StartTime |
A kérés adatcsomagjában megadott kezdési idő a jelentés létrehozásakor |
ReportStatus |
A jelentés végrehajtásának állapota. A lehetséges értékek: Szüneteltetett; Aktív; és Inaktív. |
RecurrenceInterval |
A kérelem hasznos adataiban megadott ismétlődési időköz a jelentés létrehozása során |
RecurrenceCount |
A jelentés fennmaradó ismétlődési száma |
CallbackUrl |
A kérelemben megadott visszahívási URL-cím a jelentés létrehozása során |
CallbackMethod |
A kérelem hasznos adataiban megadott visszahívási módszer a jelentés létrehozása során |
Format |
A kérés adathalmazában megadott jelentésfájlok formátuma a jelentés készítésekor |
EndTime |
A jelentés létrehozásakor a kérelem adatcsomagjában megadott befejezési idő. Ez csak akkor alkalmazható, ha ExecuteNow "True" (Igaz) értékre van állítva |
TotalRecurrenceCount |
RecurrenceCount a kérelem terhelési adataiban a jelentés létrehozása során |
nextExecutionStartTime |
UTC időbélyeg, amikor a jelentés következő végrehajtása elindul |
TotalCount |
Az Érték tömb rekordjainak száma |
StatusCode |
Eredménykód. A lehetséges értékek: 200, 400, 401, 403, 500 |
message |
Állapotüzenet az API végrehajtásából |
Jelentésvégrehajtási API lekérése
Ezzel a módszerrel lekérdezheti a jelentésvégrehajtás állapotát a jelentéskészítési API-kapott ReportId
használatával. A metódus a jelentés letöltési hivatkozását adja vissza, ha a jelentés készen áll a letöltésre. Ellenkező esetben a metódus visszaadja az állapotot. Ezzel az API-val lekérheti az adott jelentéshez tartozó összes végrehajtást.
Fontos
Az API-nál az alapértelmezett lekérdezési paraméterek be vannak állítva executionStatus=Completed
és getLatestExecution=true
esetében. Ezért az API meghívása a jelentés első sikeres végrehajtása előtt a 404-es értéket adja vissza. A függőben lévő végrehajtások a executionStatus=Pending
beállításával kérhetők le.
Kérés szintaxisa
Módszer | URI kérése |
---|---|
Szerezd meg | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution} |
Kérelem fejlécének
Fejléc | Típus | Leírás |
---|---|---|
Felhatalmazás | karakterlánc | Szükséges. A Microsoft Entra hozzáférési jogkivonata. A formátum: Bearer <token> . |
Tartalomtípus | zsinór | application/json |
Elérési út paraméter
Egyik sem
lekérdezési paraméter
Paraméter neve | Szükséges | Típus | Leírás |
---|---|---|---|
reportId |
Igen | karakterlánc | Csak az ebben az argumentumban megadott reportId értékkel rendelkező jelentések végrehajtási adatait szűrheti le. |
executionId |
Nem | húr | Szűrje, hogy csak a executionId -val rendelkező jelentések részleteit kapja meg ezen argumentum alapján. Több executionIds is megadható, ha ";" pontosvesszővel elválasztja őket. |
executionStatus |
Nem | sztring/szám | Csak az argumentumban megadott executionStatus -val rendelkező jelentések adatait szűrje le.Érvényes értékek: Pending , Running , Paused és Completed Az alapértelmezett érték a Completed . |
getLatestExecution |
Nem | logikai érték | Az API a legújabb jelentésvégrehajtás részleteit adja vissza. Ez a paraméter alapértelmezés szerint true . Ha úgy dönt, hogy a paraméter értékét false adja át, akkor az API az utolsó 90 napos végrehajtási példányokat adja vissza. |
Adatcsomag kérése
Egyik sem
válaszminta
A válasz adatcsomag a következőképpen van felépítve:
Válaszkódok: 200, 400, 401, 403, 404, 500
Példa válasz adathalmazra:
{
"value": [
{
"executionId": "a0bd78ad-1a05-40fa-8847-8968b718d00f",
"reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
"recurrenceInterval": 4,
"recurrenceCount": 10,
"callbackUrl": null,
"format": "csv",
"executionStatus": "Completed",
"reportAccessSecureLink": "https://<path to report for download>",
"reportExpiryTime": null,
"reportGeneratedTime": "2021-01-13T14:40:46Z"
}
],
"totalCount": 1,
"message": null,
"statusCode": 200
}
Ha a jelentés végrehajtása befejeződött, megjelenik a végrehajtási állapot Completed
. A jelentést a reportAccessSecureLink
URL-címének kiválasztásával töltheti le.
Szószedet
A válasz elemeinek kulcsdefiníciói.
Paraméter | Leírás |
---|---|
ExecutionId |
A végrehajtási példány univerzálisan egyedi azonosítója (UUID) |
ReportId |
A végrehajtási példányhoz társított jelentésazonosító |
RecurrenceInterval |
A jelentés létrehozása során megadott ismétlődési időköz |
RecurrenceCount |
A jelentés létrehozásakor megadott ismétlődések száma |
CallbackUrl |
A végrehajtási példányhoz társított visszahívási URL-cím |
CallbackMethod |
A kérelem adatainak csatolmányában megadott visszahívási módszer a jelentés készítése során |
Format |
A generált fájl formátuma a végrehajtás végén |
ExecutionStatus |
A jelentés végrehajtási példányának állapota. Érvényes értékek: Pending , Running , Paused és Completed |
ReportLocation |
A jelentés letöltési helye. |
ReportAccessSecureLink |
Hivatkozás, amelyen keresztül a jelentés biztonságosan elérhető |
ReportExpiryTime |
UTC Idő, amely után a jelentés hivatkozása lejár ebben a formátumban: yyyy-MM-ddTHH:mm:ssZ |
ReportGeneratedTime |
UTC A jelentés létrehozásának időpontja ebben a formátumban: yyyy-MM-ddTHH:mm:ssZ |
EndTime |
A jelentés létrehozása során a kérelemben megadott befejezési idő. Ez csak akkor alkalmazható, ha ExecuteNow "True" (Igaz) értékre van állítva |
TotalRecurrenceCount |
RecurrenceCount a kérés hasznos terhében szerepel a jelentés létrehozásakor |
nextExecutionStartTime |
UTC időbélyeg, amikor a jelentés következő végrehajtása elindul |
TotalCount |
Adathalmazok száma az Érték tömbben |
StatusCode |
Eredménykód Lehetséges értékek: 200, 400, 401, 403, 404 és 500 |
message |
Állapotüzenet az API végrehajtásából |
Az API-kat a Swagger API URL-keresztül is kipróbálhatja.