Bagikan melalui


Lakukan panggilan API pertama Anda untuk mengakses data analitik marketplace komersial

Untuk daftar API untuk mengakses data analitik marketplace komersial, lihat API untuk mengakses data analitik marketplace komersial. Sebelum melakukan panggilan API pertama, pastikan Anda memenuhi prasyarat untuk mengakses data analitik marketplace komersial secara terprogram.

Pembuatan token

Sebelum memanggil salah satu metode, Anda harus terlebih dahulu mendapatkan token akses Microsoft Entra. Anda perlu meneruskan token akses Microsoft Entra ke header Otorisasi dari setiap metode di API. Setelah mendapatkan token akses, Anda memiliki waktu 60 menit untuk menggunakannya sebelum kedaluwarsa. Setelah token kedaluwarsa, Anda dapat memperbarui token dan terus menggunakannya untuk panggilan lebih lanjut ke API.

Peringatan

Resource='https://graph.microsoft.com' tidak akan digunakan lagi setelah 30 Agustus 2024. Silakan rencanakan migrasi ke Resource='https://api.partnercenter.microsoft.com' dengan sesuai.

Lihat contoh permintaan di bawah ini untuk menghasilkan token. Tiga nilai yang diperlukan untuk menghasilkan token adalah clientId, clientSecret, dan tenantId. Parameter resource harus diatur ke https://api.partnercenter.microsoft.com.

contoh permintaan :

curl --location --request POST 'https://login.microsoftonline.com/{TenantId}/oauth2/token' \
--header 'return-client-request-id: true' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'resource=https://api.partnercenter.microsoft.com' \
--data-urlencode 'client_id={client_id}' \
--data-urlencode 'client_secret={client_secret}' \
--data-urlencode 'grant_type=client_credentials'

Contoh respons:

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "3599",
    "expires_on": "1612794445",
    "not_before": "1612790545",
    "resource": "https://api.partnercenter.microsoft.com",
    "access_token": {Token}
}

Untuk informasi selengkapnya tentang cara mendapatkan token Microsoft Entra untuk aplikasi Anda, lihat Layanan ke panggilan layanan menggunakan kredensial klien (rahasia bersama atau sertifikat).

Panggilan API terprogram

Setelah Anda mendapatkan Microsoft Entra Token seperti yang dijelaskan di bagian sebelumnya, ikuti langkah-langkah ini untuk membuat laporan akses terprogram pertama Anda.

Data dapat diunduh dari himpunan data berikut (datasetName):

Nama Laporan Nama Himpunan Data dalam API
Pesanan ISVOrder
Penggunaan Penggunaan ISV
Pelanggan Pelanggan ISV
Wawasan Marketplace ISVMarketplaceInsights
Pendapatan ISVRevenue
Retensi Pelanggan ISVOfferRetention
Kualitas Layanan ISVQualityOfService
Lisensi Lisensi ISV
Versi Citra VM ISVVMImageVersion

Bagian berikut menunjukkan contoh cara mengakses OrderId secara terprogram dari himpunan data ISVOrder.

Langkah 1: Lakukan panggilan REST menggunakan Get Datasets API

Respons API menyediakan nama himpunan data tempat Anda dapat mengunduh laporan. Untuk himpunan data tertentu, respons API juga menyediakan daftar kolom yang dapat dipilih yang dapat digunakan untuk templat laporan kustom Anda.

contoh permintaan :

curl 
--location 
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledDataset ' \ 
--header 'Authorization: Bearer <AzureADToken>'

Contoh respons:

{
    "value": [
        {
            "datasetName": "ISVOrder",
            "selectableColumns": [
                "MarketplaceSubscriptionId",
                "MonthStartDate",
                "OfferType",
                "AzureLicenseType",
                "MarketplaceLicenseType",
                "SKU",
                "CustomerCountry",
                "IsPreviewSKU",
                "AssetId",
                "Quantity",
                "CloudInstanceName",
                "IsNewCustomer",
                "OrderStatus",
                "OrderCancelDate",
                "CustomerCompanyName",
                "OrderPurchaseDate",
                "OfferName",
                "IsPrivateOffer",
                "TermStartDate",
                "TermEndDate",
                "PurchaseRecordId",
                "PurchaseRecordLineItemId",
                "BilledRevenue",
                "Currency",
                "HasTrial",
                "IsTrial",
                "TrialEndDate",
                "OrderAction",
                "QuantityChanged",
                "EventTimestamp",
                "CustomerId",
                "BillingAccountId",
                "PlanId",
                "BillingTerm",
                "BillingPlan",
                "ReferenceId",
                "AutoRenew",
                "OrderVersion",
                "ListPriceUSD",
                "DiscountPriceUSD",
                "IsPrivatePlan",
                "OfferId",
                "PrivateOfferId",
                "PrivateOfferName",
                "BillingId",
                "Version",
                "CustomerAdjustmentUSD",
                "MultiParty",
                "PartnerInfo"
            ],
            "availableMetrics": [],
            "availableDateRanges": [
                "LAST_MONTH",
                "LAST_3_MONTHS",
                "LAST_6_MONTHS",
                "LAST_1_YEAR",
                "LIFETIME"
            ],
            "minimumRecurrenceInterval": 1
        },
    ],
    "totalCount": 1,
    "message": "Dataset fetched successfully",
    "statusCode": 200
}

Langkah 2: Membuat kueri kustom

Dalam langkah ini, kita akan menggunakan ID Pesanan dari Laporan Pesanan untuk membuat kueri kustom untuk laporan yang kita inginkan. timespan sebagai default jika tidak ditentukan dalam kueri adalah enam bulan.

contoh permintaan :

curl 
--location 
--request POST ' https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries' \ 
--header ' Authorization: Bearer <AzureAD_Token>' \ 
--header 'Content-Type: application/json' \ 
--data-raw 
            '{ 
                "Query": "SELECT OrderId from ISVOrder", 
                "Name": "ISVOrderQuery1", 
                "Description": "Get a list of all Order IDs" 
             }'

Contoh respons:

{
    "value": [
        {
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "name": "ISVOrderQuery1",
            "description": "Get a list of all Order IDs",
            "query": "SELECT OrderId from ISVOrder",
            "type": "userDefined",
            "user": "142344300",
            "createdTime": "2024-01-06T05:38:34",
            "modifiedTime": null
        }
    ],
    "totalCount": 1,
    "message": "Query created successfully",
    "statusCode": 200
}

Ketika kueri berhasil dieksekusi, queryId dihasilkan dan perlu digunakan untuk menghasilkan laporan.

Langkah 3: Jalankan API kueri pengujian

Dalam langkah ini, kita akan menggunakan API kueri pengujian untuk mendapatkan 100 baris teratas untuk kueri yang dibuat.

contoh permintaan:

curl 
--location 
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries/testQueryResult?exportQuery=SELECT%20OrderId%20from%20ISVOrder' \ 
--header ' Authorization: Bearer <AzureADToken>'

Contoh respons:

{
    "value": [
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2ba8"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bb8"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bc8"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bd8"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2be8"
        },
               .
               .
               .

        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bf0"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bf1"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bf2"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bf3"
        },
        {
            "OrderId": "086365c6-9c38-4fba-904a-6228f6cb2bf4"
        }
    ],
    "totalCount": 100,
    "message": null,
    "statusCode": 200
}

Langkah 4: Buat laporan

Dalam langkah ini, kita akan menggunakan QueryId yang dibuat sebelumnya untuk membuat laporan.

contoh permintaan :

curl 
--location 
--request POST 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport' \ 
--header ' Authorization: Bearer <AzureADToken>' \ 
--header 'Content-Type: application/json' \ 
--data-raw 
                 '{
                   "ReportName": "ISVReport1",
                   "Description": "Report for getting list of Order Ids",
                   "QueryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
                   "StartTime": "2024-01-06T19:00:00Z",
                   "RecurrenceInterval": 48,
                   "RecurrenceCount": 20,
                    "Format": "csv"
                  }'

Contoh respons:

{
    "value": [
        {
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "reportName": "ISVReport1",
            "description": "Report for getting list of Order Ids",
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "query": "SELECT OrderId from ISVOrder",
            "user": "142344300",
            "createdTime": "2024-01-06T05:46:00Z",
            "modifiedTime": null,
            "startTime": "2024-01-06T19:00:00Z",
            "reportStatus": "Active",
            "recurrenceInterval": 48,
            "recurrenceCount": 20,
            "callbackUrl": null,
            "format": "csv"
        }
    ],
    "totalCount": 1,
    "message": "Report created successfully",
    "statusCode": 200
}

Pada eksekusi yang berhasil, reportId dihasilkan yang perlu digunakan untuk menjadwalkan unduhan laporan.

Langkah 5: Jalankan API Eksekusi Laporan

Untuk mendapatkan lokasi aman (URL) laporan, kita sekarang akan menjalankan API Eksekusi Laporan.

contoh permintaan :

Curl
--location
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/72fa95ab-35f5-4d44-a1ee-503abbc88003' \
--header ' Authorization: Bearer <AzureADToken>' \

Contoh respons:

{
    "value": [
        {
            "executionId": "1f18b53b-df30-4d98-85ee-e6c7e687aeed",
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "recurrenceInterval": 48,
            "recurrenceCount": 20,
            "callbackUrl": null,
            "format": "csv",
            "executionStatus": "Pending",
            "reportAccessSecureLink": null,
            "reportExpiryTime": null,
            "reportGeneratedTime": null
        }
    ],
    "totalCount": 1,
    "message": null,
    "statusCode": 200
}

Anda dapat mencoba API melalui URL API Swagger.

  • paradigma akses terprogram