Megosztás a következőn keresztül:


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.

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ási mintát szemlélteti. 1. ábra: Az API-hívásminta magas szintű folyamata

Ez a lista további részleteket tartalmaz az 1. ábráról.

  1. 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.
  2. Siker esetén a Jelentéssablon létrehozása API visszaadja a QueryId.
  3. 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.
  4. Siker esetén a Jelentéskészítő API visszaadja a ReportID.
  5. 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.
  6. 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.
  7. 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 ExecuteNowtrueé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 ExecuteNowtrueé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=trueeseté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=Pendingbeá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 falseadja á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 reportAccessSecureLinkURL-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.