Share via


Első API-hívás indítása a kereskedelmi piactér elemzési adatainak eléréséhez

A kereskedelmi piactér elemzési adatainak elérésére szolgáló API-k listáját a kereskedelmi piactér elemzési adatainak elérésére szolgáló API-kban találja. Az első API-hívás megkezdése előtt győződjön meg arról, hogy megfelelt a kereskedelmi piactér elemzési adatainak programozott módon való eléréséhez szükséges előfeltételeknek .

Jogkivonat létrehozása

A metódusok meghívása előtt be kell szereznie egy Microsoft Entra hozzáférési jogkivonatot. A Microsoft Entra hozzáférési jogkivonatot át kell adnia az API minden metódusának engedélyezési fejlécére. A hozzáférési jogkivonat beszerzése után 60 perc áll rendelkezésére a használathoz, mielőtt lejár. A jogkivonat lejárata után frissítheti a jogkivonatot, és továbbra is használhatja az API-ra irányuló további hívásokhoz.

Figyelmeztetés

A Resource='https://graph.microsoft.com' 2024. június 30-a után megszűnik. Ennek megfelelően tervezze meg a Resource='https://api.partnercenter.microsoft.com' migrálását.

A jogkivonat létrehozásához tekintse meg az alábbi mintakérést. A jogkivonat létrehozásához szükséges három érték az clientId, clientSecretés tenantId. A resource paramétert a következőre kell állítani https://api.partnercenter.microsoft.com: .

Példa kérésre:

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'

Példa válaszra:

{
    "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}
}

A Microsoft Entra-jogkivonat alkalmazáshoz való beszerzéséről további információt az ügyfél hitelesítő adataival (megosztott titkos kód vagy tanúsítvány) használó szolgáltatásban talál.

Programozott API-hívás

Miután beszerezte a Microsoft Entra Tokent az előző szakaszban leírtak szerint, kövesse az alábbi lépéseket az első programozott hozzáférési jelentés létrehozásához.

Az adatok a következő adatkészletekből tölthetők le (datasetName):

Jelentés neve Adathalmaz neve az API-ban
Sorrend ISVOrder
Használat ISVUsage
Vevő ISVCustomer
Marketplace Elemzések ISVMarketplace Elemzések
Bevétel ISVRevenue
Ügyfélmegtartás ISVOfferRetention
A szolgáltatás minősége ISVQualityOfService
Licenc ISVLicense
Virtuálisgép-rendszerkép verziója ISVVMImageVersion

Az alábbi szakaszok példákat mutatnak be arra, hogyan lehet programozott módon hozzáférni OrderId az ISVOrder adatkészletből.

1. lépés: REST-hívás indítása az Adathalmazok lekérése API használatával

Az API-válasz megadja az adathalmaz nevét, ahonnan letöltheti a jelentést. Az adott adatkészlet esetében az API-válasz az egyéni jelentéssablonhoz használható választható oszlopok listáját is tartalmazza.

Példa kérésre:

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

Példa válaszra:

{
    "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. lépés: Az egyéni lekérdezés létrehozása

Ebben a lépésben a Rendelések jelentés rendelésazonosítójával hozunk létre egy egyéni lekérdezést a kívánt jelentéshez. A lekérdezésben nem megadott alapértelmezett érték timespan hat hónap.

Példa kérésre:

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" 
             }'

Példa válaszra:

{
    "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
}

A lekérdezés sikeres végrehajtásakor létrejön egy queryId olyan rendszer, amelyet a jelentés létrehozásához kell használni.

3. lépés: Teszt lekérdezési API végrehajtása

Ebben a lépésben a teszt lekérdezési API-val fogjuk lekérni a létrehozott lekérdezés 100 legnagyobb sorát.

Példa kérésre:

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

Példa válaszra:

{
    "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. lépés: A jelentés létrehozása

Ebben a lépésben a korábban létrehozott QueryId jelentést fogjuk használni a jelentés létrehozásához.

Példa kérésre:

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"
                  }'

Példa válaszra:

{
    "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
}

Sikeres végrehajtás esetén létrejön egy reportId olyan folyamat, amelyet a jelentés letöltésének ütemezéséhez kell használni.

5. lépés: Jelentésvégrehajtási API végrehajtása

A jelentés biztonságos helyének (URL-címének) lekéréséhez most végrehajtjuk a Jelentésvégrehajtások API-t.

Példa kérésre:

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

Példa válaszra:

{
    "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
}

Következő lépések