Paradigma akses terprogram untuk marketplace komersial
Diagram ini menunjukkan pola panggilan API yang digunakan untuk membuat templat laporan baru, menjadwalkan laporan kustom, dan mengambil data kegagalan.
Gambar 1: Aliran tingkat tinggi dari pola panggilan API
Daftar ini menyediakan detail selengkapnya tentang Gambar 1.
- Aplikasi Klien dapat menentukan skema/templat laporan kustom dengan memanggil Buat API Kueri Laporan. Sebagai alternatif, Anda dapat menggunakan templat laporan (
QueryId
) dari daftar kueri sistem . - Setelah berhasil, API Buat Templat Laporan mengembalikan
QueryId
. - Aplikasi klien kemudian memanggil Create Report API menggunakan
QueryID
bersama dengan tanggal mulai laporan, Interval Ulangi, Pengulangan, dan URI Panggilan Balik opsional. - Setelah berhasil, Create Report API mengembalikan
ReportID
. - Aplikasi klien akan diberi tahu di URI panggilan balik segera setelah data laporan siap diunduh.
- Aplikasi klien kemudian menggunakan Get Report Executions API untuk mengkueri status laporan dengan rentang
Report ID
dan tanggal. - Setelah berhasil, tautan unduhan laporan dikembalikan dan aplikasi dapat memulai pengunduhan data.
Spesifikasi bahasa kueri laporan
Meskipun kami menyediakan kueri sistem dapat Anda gunakan untuk membuat laporan, Anda juga dapat membuat kueri Anda sendiri berdasarkan kebutuhan bisnis Anda. Untuk mempelajari selengkapnya tentang kueri kustom, lihat Spesifikasi kueri kustom.
Membuat API kueri laporan
API ini membantu membuat kueri kustom yang menentukan himpunan data tempat kolom dan metrik perlu diekspor. API memberikan fleksibilitas untuk membuat templat pelaporan baru berdasarkan kebutuhan bisnis Anda.
Anda juga dapat menggunakan kueri sistem yang kami sediakan. Saat templat laporan kustom tidak diperlukan, Anda dapat memanggil Create Report API secara langsung menggunakan QueryIds dari kueri sistem yang kami sediakan.
Contoh berikut menunjukkan cara membuat kueri kustom untuk mendapatkan Penggunaan yang Dinormalisasi dan Estimasi Biaya Keuangan untuk SKU BERBAYAR dari himpunan data ISVUsage untuk bulan lalu.
sintaks permintaan
Metode | Meminta URI |
---|---|
TIANG | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries |
Header Permintaan
Header | Jenis | Deskripsi |
---|---|---|
Otorisasi | string | Diperlukan. Token akses Microsoft Entra. Formatnya Bearer <token> . |
Tipe Isi | string |
application/JSON |
parameter Jalur
Tidak
parameter kueri
Tidak
Meminta contoh payload
{
"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"
}
Glosarium
Tabel ini menyediakan definisi utama elemen dalam payload permintaan.
Parameter | Diperlukan | Deskripsi | Nilai yang diizinkan |
---|---|---|---|
Name |
Ya | Nama kueri yang mudah digunakan | string |
Description |
Tidak | Deskripsi kueri yang dibuat | tali |
Query |
Ya | String kueri berdasarkan kebutuhan bisnis | tali |
Nota
Untuk contoh kueri kustom, lihat kueri sampel.
Respons sampel
Payload respons disusun sebagai berikut:
Kode respons: 200, 400, 401, 403, 500
Contoh payload respons:
{
"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
}
Glosarium
Tabel ini menyediakan definisi utama elemen dalam respons.
Parameter | Deskripsi |
---|---|
QueryId |
Pengidentifikasi unik universal (UUID) dari kueri yang dibuat |
Name |
Nama yang diberikan dalam payload permintaan saat pembuatan kueri |
Description |
Deskripsi yang diberikan pada payload permintaan ketika membuat kueri |
Query |
Kueri laporan kustom yang disediakan dalam payload permintaan pada saat pembuatan kueri |
Type |
Atur ke userDefined untuk kueri yang dibuat secara manual |
User |
ID pengguna yang digunakan untuk membuat kueri |
CreatedTime |
Waktu UTC saat kueri dibuat. Format Tanggal dan Waktu: yyyy-MM-ddTHH:mm:ssZ |
TotalCount |
Jumlah rekaman dalam array Nilai |
StatusCode |
Kode Hasil Nilai yang mungkin adalah 200, 400, 401, 403, 500 |
message |
Pesan status dari eksekusi API |
Membuat API laporan
Pada pembuatan templat laporan kustom dengan sukses dan menerima QueryID
sebagai bagian dari respons Buat Kueri Laporan, API ini dapat dipanggil untuk menjadwalkan kueri yang akan dijalankan secara berkala. Anda dapat mengatur frekuensi dan jadwal untuk laporan yang akan dikirimkan. Untuk kueri sistem yang kami berikan, API Buat Laporan juga dapat dipanggil dengan QueryId.
sintaks permintaan
Metode | Meminta URI |
---|---|
POS | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport |
Header Permintaan
Tajuk | Jenis | Deskripsi |
---|---|---|
Otorisasi | string (teks) | Diperlukan. Token akses Microsoft Entra. Formatnya Bearer <token> . |
Tipe Isi | tali | application/JSON |
parameter Jalur
Tidak
Parameter kueri
Tidak
Meminta contoh payload
{
"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",
}
Glosarium
Tabel ini menyediakan definisi utama elemen dalam payload permintaan.
Parameter | Diperlukan | Deskripsi | Nilai yang diizinkan |
---|---|---|---|
ReportName |
Ya | Nama ramah pengguna untuk laporan | String |
Description |
Tidak | Deskripsi laporan yang dibuat | String |
QueryId |
Ya | ID kueri yang perlu digunakan untuk pembuatan laporan | Tali |
StartTime |
Ya | Tanda Waktu UTC di mana pembuatan laporan akan dimulai. Formatnya harus yyyy-MM-ddTHH:mm:ssZ | String |
ExecuteNow |
Tidak | Parameter ini harus digunakan untuk membuat laporan yang dijalankan hanya sekali.
StartTime , RecurrenceInterval , RecurrenceCount , dan EndTime diabaikan jika ini diatur ke true |
Boolean |
QueryStartTime |
Tidak | Secara opsional menentukan waktu mulai untuk kueri yang mengekstrak data. Parameter ini hanya berlaku untuk laporan eksekusi satu kali di mana ExecuteNow diatur ke true . Formatnya harus yyyy-MM-ddTHH:mm:ssZ |
Tanda waktu sebagai string |
QueryEndTime |
Tidak | Secara opsional menentukan waktu akhir untuk kueri yang mengekstrak data. Parameter ini hanya berlaku untuk laporan pelaksanaan satu kali di mana ExecuteNow diatur menjadi true . Formatnya harus yyyy-MM-ddTHH:mm:ssZ |
Penanda waktu sebagai string |
RecurrenceInterval |
Ya | Frekuensi dalam jam di mana laporan harus dibuat. Nilai minimum adalah 1 dan nilai maksimum adalah 17520 | Integer |
RecurrenceCount |
Ya | Jumlah laporan yang akan dibuat. Batas tergantung pada interval Pengulangan | Integer |
Format |
Tidak | Format file dari file yang diekspor. Format defaultnya adalah CSV | CSV/TSV |
CallbackUrl |
Tidak | URL yang dapat diakses publik yang dapat dikonfigurasi secara opsional sebagai tujuan panggilan balik | String |
CallbackMethod |
Tidak | Metode Get/Post yang dapat dikonfigurasi dengan URL panggilan balik | GET/POST |
EndTime |
Ya | Tanda waktu UTC di mana pembuatan laporan akan berakhir. Formatnya harus yyyy-MM-ddTHH:mm:ssZ | String |
Nota
Saat membuat laporan, wajib menggunakan EndTime
atau kombinasi RecurrenceInterval
dan RecurrenceCount
.
Contoh respons
Payload respons disusun sebagai berikut:
Kode respons: 200, 400, 401, 403, 404, 500
Muatan Respons
{
"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
}
Glosarium
Tabel ini menyediakan definisi utama elemen dalam respons.
Parameter | Deskripsi |
---|---|
ReportId |
Pengidentifikasi unik secara universal (UUID) untuk laporan yang Anda buat |
ReportName |
Nama yang diberikan dalam payload permintaan selama pembuatan laporan |
Description |
Deskripsi yang disediakan dalam payload permintaan selama pembuatan laporan |
QueryId |
ID kueri yang disediakan dalam payload permintaan selama pembuatan laporan |
Query |
Teks kueri yang akan dijalankan untuk laporan ini |
User |
ID pengguna yang digunakan untuk membuat laporan |
CreatedTime |
Waktu UTC laporan dibuat dalam format ini: yyyy-MM-ddTHH:mm:ssZ |
ModifiedTime |
Waktu UTC laporan terakhir diubah dalam format ini: yyyy-MM-ddTHH:mm:ssZ |
ExecuteNow |
Parameter ExecuteNow disediakan dalam payload permintaan selama pembuatan laporan |
queryStartTime |
Waktu mulai permintaan yang disediakan dalam payload permintaan saat pembuatan laporan. Ini hanya berlaku jika ExecuteNow diatur ke "True" |
queryEndTime |
Waktu akhir kueri yang disediakan dalam payload permintaan selama pembuatan laporan. Ini hanya berlaku jika ExecuteNow diatur ke "True" |
StartTime |
Waktu mulai yang tercantum dalam payload permintaan pada saat pembuatan laporan |
ReportStatus |
Status pelaksanaan laporan. Nilai yang mungkin adalah Dijeda, Aktif, dan Tidak Aktif. |
RecurrenceInterval |
Interval pengulangan yang disediakan dalam payload permintaan selama pembuatan laporan |
RecurrenceCount |
Jumlah pengulangan yang tersisa untuk laporan |
CallbackUrl |
URL panggilan balik yang disediakan dalam payload permintaan selama pembuatan laporan |
CallbackMethod |
Metode panggilan balik yang disediakan dalam payload permintaan selama pembuatan laporan |
Format |
Format file laporan yang disediakan dalam payload permintaan selama pembuatan laporan |
EndTime |
Waktu akhir yang dimasukkan dalam payload permintaan saat pembuatan laporan. Ini hanya berlaku jika ExecuteNow diatur ke "True" |
TotalRecurrenceCount |
RecurrenceCount disediakan dalam payload permintaan selama proses pembuatan laporan |
nextExecutionStartTime |
Tanda waktu UTC ketika eksekusi laporan berikutnya akan dimulai |
TotalCount |
Jumlah entri dalam array nilai |
StatusCode |
Kode Hasil. Nilai yang mungkin adalah 200, 400, 401, 403, 500 |
message |
Pesan status dari eksekusi API |
Mendapatkan API eksekusi laporan
Anda dapat menggunakan metode ini untuk mengkueri status eksekusi laporan menggunakan ReportId
yang diterima dari Create Report API. Metode mengembalikan tautan unduhan laporan jika laporan siap diunduh. Jika tidak, fungsi tersebut akan mengembalikan status. Anda juga dapat menggunakan API ini untuk mendapatkan semua eksekusi yang telah terjadi untuk laporan tertentu.
Penting
API ini memiliki parameter kueri default yang ditetapkan untuk executionStatus=Completed
dan getLatestExecution=true
. Oleh karena itu, memanggil API sebelum eksekusi laporan pertama yang berhasil akan mengembalikan 404. Eksekusi tertunda dapat diperoleh dengan mengatur executionStatus=Pending
.
sintaks permintaan
Metode | Meminta URI |
---|---|
Dapat | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution} |
Header Permintaan
Header | Jenis | Deskripsi |
---|---|---|
Otorisasi | string | Diperlukan. Token akses Microsoft Entra. Formatnya Bearer <token> . |
Tipe isi | tali | application/json |
parameter Jalur
Tidak
parameter Kueri
Nama parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
reportId |
Ya | tali | Filter untuk mendapatkan detail pelaksanaan hanya laporan dengan reportId yang diberikan pada argumen ini. |
executionId |
Tidak | string | Filter untuk mendapatkan detail hanya laporan dengan executionId diberikan dalam argumen ini. Beberapa executionIds dapat ditentukan dengan memisahkannya dengan titik koma ";". |
executionStatus |
Tidak | string/enum | Gunakan filter untuk mendapatkan detail hanya laporan dengan executionStatus diberikan dalam argumen ini.Nilai yang valid adalah: Pending , Running , Paused , dan Completed Nilai defaultnya adalah Completed . |
getLatestExecution |
Tidak | Boolean | API akan menampilkan detail laporan eksekusi terbaru. Secara default, parameter ini diatur ke true . Jika Anda memilih untuk meneruskan nilai parameter ini sebagai false , MAKA API akan mengembalikan instans eksekusi 90 hari terakhir. |
Permintaan payload
Tidak
Respons sampel
Payload respons disusun sebagai berikut:
Kode respons: 200, 400, 401, 403, 404, 500
Contoh payload respons:
{
"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
}
Setelah eksekusi laporan selesai, status eksekusi Completed
ditampilkan. Anda dapat mengunduh laporan dengan memilih URL di reportAccessSecureLink
.
Glosarium
Definisi utama elemen dalam respons.
Parameter | Deskripsi |
---|---|
ExecutionId |
Pengidentifikasi unik universal (UUID) dari instans eksekusi |
ReportId |
ID Laporan yang berhubungan dengan instans eksekusi |
RecurrenceInterval |
Interval pengulangan yang disediakan selama pembuatan laporan |
RecurrenceCount |
Jumlah pengulangan yang disediakan selama pembuatan laporan |
CallbackUrl |
URL panggilan balik yang terkait dengan instans eksekusi |
CallbackMethod |
Metode panggilan balik yang disediakan dalam payload permintaan selama pembuatan laporan |
Format |
Format file yang dihasilkan di akhir eksekusi |
ExecutionStatus |
Status instansi pelaksanaan laporan. Nilai yang valid adalah: Pending , Running , Paused , dan Completed |
ReportLocation |
Lokasi tempat laporan diunduh. |
ReportAccessSecureLink |
Tautan di mana laporan dapat diakses dengan aman |
ReportExpiryTime |
Waktu UTC setelah tautan laporan akan kedaluwarsa dalam format ini: yyyy-MM-ddTHH:mm:ssZ |
ReportGeneratedTime |
Waktu UTC di mana laporan dihasilkan dalam format ini: yyyy-MM-ddTHH:mm:ssZ |
EndTime |
Waktu akhir yang disediakan dalam payload permintaan selama pembuatan laporan. Ini hanya berlaku jika ExecuteNow diatur ke "True" |
TotalRecurrenceCount |
RecurrenceCount terdapat dalam payload permintaan pada saat pembuatan laporan |
nextExecutionStartTime |
Tanda waktu UTC ketika eksekusi laporan berikutnya akan dimulai |
TotalCount |
Jumlah data dalam Array Nilai |
StatusCode |
Kode Hasil Nilai yang mungkin adalah 200, 400, 401, 403, 404 dan 500 |
message |
Pesan status dari eksekusi API |
Anda dapat mencoba API melalui URL API Swagger.