Ticari market analiz verilerine erişmek için ilk API çağrınızı yapın
Ticari market analiz verilerine erişmeye yönelik API'lerin listesi için bkz . Ticari market analiz verilerine erişmek için API'ler. İlk API çağrınızı etmeden önce, ticari market analiz verilerine program aracılığıyla erişme önkoşullarını karşıladığınızdan emin olun.
Belirteç oluşturma
Yöntemlerden herhangi birini çağırmadan önce bir Microsoft Entra erişim belirteci almanız gerekir. Microsoft Entra erişim belirtecini API'deki her yöntemin Yetkilendirme üst bilgisine geçirmeniz gerekir. Erişim belirtecini aldıktan sonra süresi dolmadan önce kullanmak için 60 dakikanız vardır. Belirtecin süresi dolduktan sonra belirteci yenileyebilir ve API'ye yapılan diğer çağrılar için kullanmaya devam edebilirsiniz.
Uyarı
Resource='https://graph.microsoft.com' 30 Ağustos 2024'den sonra kullanımdan kaldırılacak. Lütfen Resource='https://api.partnercenter.microsoft.com' geçişini uygun şekilde planlayın.
Belirteç oluşturmak için aşağıdaki örnek isteğe bakın. Belirteci oluşturmak için gereken üç değer , clientSecret
ve tenantId
şeklindedirclientId
. resource
parametresi olarak https://api.partnercenter.microsoft.com
ayarlanmalıdır.
İstek örneği:
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'
Yanıt örneği:
{
"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}
}
Uygulamanız için Microsoft Entra belirtecini alma hakkında daha fazla bilgi için bkz . İstemci kimlik bilgilerini (paylaşılan gizli dizi veya sertifika) kullanarak hizmet çağrılarına hizmet verme.
Programlı API çağrısı
Önceki bölümde açıklandığı gibi Microsoft Entra Belirtecini aldıktan sonra, ilk programlı erişim raporunuzu oluşturmak için bu adımları izleyin.
Veriler aşağıdaki veri kümelerinden (datasetName) indirilebilir:
Rapor Adı | API'de Veri Kümesi Adı |
---|---|
Sipariş | ISVOrder |
Kullanım | ISVUsage |
Customer | ISVCustomer |
Market İçgörüleri | ISVMarketplaceInsights |
Gelir | ISVRevenue |
Müşteri Saklama | ISVOfferRetention |
Hizmet Kalitesi | ISVQualityOfService |
Lisans | ISVLicense |
VM Görüntüsü Sürümü | ISVVMImageVersion |
Aşağıdaki bölümlerde ISVOrder veri kümesinden program aracılığıyla nasıl erişilir OrderId
örnekleri gösterilmektedir.
1. Adım: Veri Kümelerini Al API'sini kullanarak REST çağrısı yapma
API yanıtı, raporu indirebileceğiniz veri kümesi adını sağlar. Belirli bir veri kümesi için API yanıtı, özel rapor şablonunuz için kullanılabilecek seçilebilir sütunların listesini de sağlar.
İstek örneği:
curl
--location
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledDataset ' \
--header 'Authorization: Bearer <AzureADToken>'
Yanıt örneği:
{
"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
}
2. Adım: Özel sorgu oluşturma
Bu adımda, istediğimiz rapor için özel bir sorgu oluşturmak üzere Siparişler Raporu'ndaki Sipariş Kimliği'ni kullanacağız. Sorguda belirtilmezse varsayılan değer timespan
altı aydır.
İstek örneği:
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"
}'
Yanıt örneği:
{
"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
}
Sorgunun başarıyla yürütülmesinde, raporu oluşturmak için kullanılması gereken bir queryId
oluşturulur.
3. Adım: Test sorgusu API'lerini yürütme
Bu adımda, oluşturulan sorgunun ilk 100 satırını almak için test sorgusu API'sini kullanacağız.
İstek örneği:
curl
--location
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries/testQueryResult?exportQuery=SELECT%20OrderId%20from%20ISVOrder' \
--header ' Authorization: Bearer <AzureADToken>'
Yanıt örneği:
{
"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
}
4. Adım: Raporu oluşturma
Bu adımda, raporu oluşturmak için daha önce oluşturulan QueryId
öğesini kullanacağız.
İstek örneği:
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"
}'
Yanıt örneği:
{
"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
}
Başarılı bir reportId
yürütmede, raporun indirilmesini zamanlamak için kullanılması gereken bir oluşturulur.
5. Adım: Rapor Yürütmeleri API'si Yürütme
Raporun güvenli konumunu (URL) almak için şimdi Rapor Yürütmeleri API'sini yürüteceğiz.
İstek örneği:
Curl
--location
--request GET 'https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/72fa95ab-35f5-4d44-a1ee-503abbc88003' \
--header ' Authorization: Bearer <AzureADToken>' \
Yanıt örneği:
{
"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
}
API'leri Swagger API URL'si aracılığıyla deneyebilirsiniz.