Bagikan melalui


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.

Mengilustrasikan 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.

  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 .
  2. Setelah berhasil, API Buat Templat Laporan mengembalikan QueryId.
  3. Aplikasi klien kemudian memanggil Create Report API menggunakan QueryID bersama dengan tanggal mulai laporan, Interval Ulangi, Pengulangan, dan URI Panggilan Balik opsional.
  4. Setelah berhasil, Create Report API mengembalikan ReportID.
  5. Aplikasi klien akan diberi tahu di URI panggilan balik segera setelah data laporan siap diunduh.
  6. Aplikasi klien kemudian menggunakan Get Report Executions API untuk mengkueri status laporan dengan rentang Report ID dan tanggal.
  7. 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.