Aracılığıyla paylaş


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 , clientSecretve tenantIdşeklindedirclientId. resource parametresi olarak https://api.partnercenter.microsoft.comayarlanmalı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.