Programmatisch toegangsparadigma voor commerciële marketplace
In dit diagram ziet u het API-aanroeppatroon dat wordt gebruikt om een nieuwe rapportsjabloon te maken, het aangepaste rapport te plannen en foutgegevens op te halen.
afbeelding 1: Stroom op hoog niveau van het API-aanroeppatroon
Deze lijst bevat meer informatie over afbeelding 1.
- De clienttoepassing kan het aangepaste rapportschema/de sjabloon definiëren door de Rapportquery-API aan te roepen. U kunt ook een rapportsjabloon (
QueryId
) gebruiken uit de lijst met systeemquery's. - Bij succes retourneert de API voor het maken van rapportensjablonen de
QueryId
. - De clienttoepassing roept vervolgens de Rapport-API maken aan met behulp van de
QueryID
, samen met de begindatum van het rapport, herhalingsinterval, terugkeerpatroon en een optionele callback-URI. - Bij succes retourneert de Rapport-API maken de
ReportID
. - De clienttoepassing wordt op de callback-URI op de hoogte gesteld zodra de rapportgegevens gereed zijn voor download.
- De clienttoepassing gebruikt vervolgens de API voor Rapportuitvoeringen ophalen om de status van het rapport op te vragen met het
Report ID
en het datumbereik. - Bij succes wordt de downloadkoppeling voor het rapport geretourneerd en kan de toepassing het downloaden van de gegevens initiëren.
Specificatie van rapportquery-taal
Hoewel we systeemquery's bieden die u kunt gebruiken om rapporten te maken, kunt u ook uw eigen query's maken afhankelijk van de behoeften van uw bedrijf. Zie Aangepaste queryspecificatievoor meer informatie over aangepaste query's.
Rapportquery-API maken
Deze API helpt bij het maken van aangepaste query's waarmee de gegevensset wordt gedefinieerd waaruit kolommen en metrische gegevens moeten worden geëxporteerd. De API biedt de flexibiliteit om een nieuwe rapportagesjabloon te maken op basis van uw bedrijfsbehoeften.
U kunt ook de systeemquery's gebruiken die wij leveren. Wanneer aangepaste rapportsjablonen niet nodig zijn, kunt u de rapport-creëren API rechtstreeks aanroepen met behulp van de QueryIds van de systeemquery's die wij beschikbaar stellen.
In het volgende voorbeeld ziet u hoe u een aangepaste query maakt om genormaliseerd gebruik en geschatte financiële kosten voor BETAALDE SKU's op te halen uit de ISVUsage gegevensset voor de afgelopen maand.
Syntax van verzoeken
Methode | Aanvraag-URI |
---|---|
VERZENDEN | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries |
verzoekheader
Koptekst | Type | Beschrijving |
---|---|---|
Machtiging | tekenreeks | Vereist. Het Microsoft Entra-toegangstoken. Het formaat is Bearer <token> . |
Inhoudstype | string |
application/JSON |
padparameter
Geen
query-parameter
Geen
voorbeeld van nettolading aanvragen
{
"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"
}
woordenlijst
Deze tabel bevat de belangrijkste definities van elementen in de nettolading van de aanvraag.
Parameter | Vereist | Beschrijving | Toegestane waarden |
---|---|---|---|
Name |
Ja | Gebruiksvriendelijke naam van de query | snaar |
Description |
Nee | Beschrijving van de gemaakte query | snaar |
Query |
Ja | Queryreeks op basis van bedrijfsbehoefte | snaar |
Notitie
Zie voorbeeldquery'svoor aangepaste queryvoorbeelden.
voorbeeldantwoord
De payload van de respons is als volgt gestructureerd:
Antwoordcodes: 200, 400, 401, 403, 500
Voorbeeld van antwoord-payload:
{
"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
}
woordenlijst
Deze tabel bevat de belangrijkste definities van elementen in het antwoord.
Parameter | Beschrijving |
---|---|
QueryId |
Universeel unieke identificator (UUID) van de gemaakte query |
Name |
Naam opgegeven in de nettolading van de aanvraag tijdens het maken van de query |
Description |
Beschrijving die is opgegeven in de aanvraag-payload bij het aanmaken van de query |
Query |
Aangepaste rapportquery die in de request-payload is opgegeven tijdens het aanmaken van de query. |
Type |
Ingesteld op userDefined voor handmatig gemaakte query's |
User |
Gebruikers-id die wordt gebruikt om de query te maken |
CreatedTime |
UTC-tijd waarop de query is gemaakt. Formaat: jjjj-MM-ddTHH:mm:ssZ |
TotalCount |
Aantal records in de matrix Waarde |
StatusCode |
Resultaatcode De mogelijke waarden zijn 200, 400, 401, 403, 500 |
message |
Statusbericht van de uitvoering van de API |
Rapport-API maken
Bij het succesvol maken van een aangepaste rapportsjabloon en het ontvangen van QueryID
als onderdeel van het Maak Rapport Query antwoord, kan deze API worden aangeroepen om een query in te plannen die op regelmatige intervallen moet worden uitgevoerd. U kunt een frequentie en planning instellen voor het rapport dat moet worden geleverd. Voor de systeemquery's die we aanbieden, kan de API voor het maken van rapporten ook worden aangeroepen met QueryId.
Verzoeksyntaxis
Methode | Aanvraag-URI |
---|---|
VERZENDEN | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport |
verzoekheader
Koptekst | Soort | Beschrijving |
---|---|---|
Machtiging | koord | Vereist. Het Microsoft Entra-toegangstoken. Het formaat is Bearer <token> . |
Inhoudstype | snaar | application/JSON |
padparameter
Geen
queryparameter
Geen
voorbeeld van nettolading aanvragen
{
"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",
}
woordenlijst
Deze tabel bevat de belangrijkste definities van elementen in de nettolading van de aanvraag.
Parameter | Vereist | Beschrijving | Toegestane waarden |
---|---|---|---|
ReportName |
Ja | Gebruiksvriendelijke naam die is toegewezen aan het rapport | Snaar |
Description |
Nee | Beschrijving van het gemaakte rapport | Snaar |
QueryId |
Ja | Query-id die moet worden gebruikt voor het genereren van rapporten | Snaar |
StartTime |
Ja | UTC-tijdstempel waarop het genereren van het rapport begint. De notatie moet jjjj-MM-ddTHH:mm:ssZ zijn | Snaar |
ExecuteNow |
Nee | Deze parameter moet worden gebruikt om een rapport te maken dat slechts eenmaal wordt uitgevoerd.
StartTime , RecurrenceInterval , RecurrenceCount en EndTime worden genegeerd als dit is ingesteld op true |
Booleaans |
QueryStartTime |
Nee | Hiermee geeft u desgewenst de begintijd op voor de query waarmee de gegevens worden geëxtraheerd. Deze parameter is slechts van toepassing op eenmalig uitvoeringsrapport waarvoor ExecuteNow is ingesteld op true . De notatie moet jjjj-MM-ddTHH:mm:ssZ zijn |
Tijdstempel als tekenreeks |
QueryEndTime |
Nee | Hiermee geeft u desgewenst de eindtijd op voor de query waarmee de gegevens worden geëxtraheerd. Deze parameter is slechts van toepassing voor een eenmalig uitvoeringsrapport waarvoor ExecuteNow is ingesteld op true . De notatie moet jjjj-MM-ddTHH:mm:ssZ zijn |
Tijdstempel als tekenreeks |
RecurrenceInterval |
Ja | Frequentie in uren waarop het rapport moet worden gegenereerd. De minimumwaarde is 1 en de maximumwaarde is 17520 | Geheel getal |
RecurrenceCount |
Ja | Het aantal rapporten dat moet worden gegenereerd. Limiet is afhankelijk van het herhalingsinterval | Geheel getal |
Format |
Nee | Bestandsindeling van het geëxporteerde bestand. De standaardindeling is CSV | CSV/TSV |
CallbackUrl |
Nee | Openbaar toegankelijke URL die optioneel kan worden geconfigureerd als de callback-bestemming | Snaar |
CallbackMethod |
Nee | Get/Post-methode die kan worden geconfigureerd met callback-URL | GET/POST |
EndTime |
Ja | UTC-tijdstempel waarop het genereren van het rapport wordt beëindigd. De notatie moet jjjj-MM-ddTHH:mm:ssZ zijn | Snaar |
Notitie
Tijdens het maken van het rapport is EndTime
of combinatie van RecurrenceInterval
en RecurrenceCount
verplicht.
voorbeeldantwoord
De reactiepayload is als volgt gestructureerd:
Antwoordcode: 200, 400, 401, 403, 404, 500
Nettolading van antwoord:
{
"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
}
woordenlijst
Deze tabel bevat de belangrijkste definities van elementen in het antwoord.
Parameter | Beschrijving |
---|---|
ReportId |
Universally Unique Identifier (UUID) van het rapport dat u hebt gemaakt |
ReportName |
Naam opgegeven in de aanvraagpayload tijdens het maken van het rapport |
Description |
Beschrijving die is opgegeven in de payload van de aanvraag tijdens het aanmaken van het rapport. |
QueryId |
Query-ID die is opgegeven in de requestpayload van de aanvraag bij het aanmaken van het rapport |
Query |
Querytekst die wordt uitgevoerd voor dit rapport |
User |
Gebruikers-id die wordt gebruikt om het rapport te maken |
CreatedTime |
UTC-tijd waarop het rapport is gemaakt in dit formaat: jjjj-MM-ddTHH:mm:ssZ |
ModifiedTime |
UTC-tijd waarop het rapport voor het laatst is gewijzigd in het volgende formaat: yyyy-MM-ddTHH:mm:ssZ |
ExecuteNow |
ExecuteNow-parameter die is opgegeven in de aanvraagpayload bij het maken van het rapport |
queryStartTime |
De begintijd van de query die is opgegeven in de inhoud van de aanvraag tijdens het aanmaken van het rapport. Dit is alleen van toepassing als ExecuteNow is ingesteld op 'Waar' |
queryEndTime |
De eindtijd van de query die is opgegeven in de nettolading van de aanvraag tijdens het maken van het rapport. Dit is alleen van toepassing als ExecuteNow is ingesteld op 'Waar' |
StartTime |
Begintijd opgegeven in de nettolading van de aanvraag tijdens het maken van het rapport |
ReportStatus |
Status van de uitvoering van het rapport. De mogelijke waarden zijn onderbroken, actiefen inactief. |
RecurrenceInterval |
Herhalingsinterval opgegeven in de aanvraagpayload tijdens het maken van het rapport |
RecurrenceCount |
Resterend aantal herhalingen voor het rapport |
CallbackUrl |
Callback-URL die is opgegeven in de gegevens van het verzoek tijdens het aanmaken van het rapport |
CallbackMethod |
Callback-methode die is opgegeven in de nettolading van de aanvraag tijdens het maken van het rapport |
Format |
Indeling van de rapportbestanden die zijn opgegeven in de aanvraagpayload bij het maken van het rapport |
EndTime |
Eindtijd die is opgegeven in de verzoekpayload tijdens het aanmaken van het rapport. Dit is alleen van toepassing als ExecuteNow is ingesteld op 'Waar' |
TotalRecurrenceCount |
RecurrenceCount opgegeven in de nettolading van de aanvraag tijdens het maken van het rapport |
nextExecutionStartTime |
UTC-tijdstempel wanneer de volgende rapportuitvoering wordt gestart |
TotalCount |
Aantal records in de matrix Waarde |
StatusCode |
Resultaatcode. De mogelijke waarden zijn 200, 400, 401, 403, 500 |
message |
Statusbericht van de uitvoering van de API |
API voor rapportuitvoeringen ophalen
U kunt deze methode gebruiken om de status van een rapport op te vragen met behulp van de ReportId
die is ontvangen van de API voor rapport maken . De methode retourneert de downloadkoppeling voor rapporten als het rapport gereed is voor downloaden. In het andere geval geeft de methode de status terug. U kunt deze API ook gebruiken om alle uitvoeringen op te halen die zijn uitgevoerd voor een bepaald rapport.
Belangrijk
Deze API heeft standaardqueryparameters ingesteld voor executionStatus=Completed
en getLatestExecution=true
. Daarom zal het aanroepen van de API voordat de eerste geslaagde uitvoering van het rapport is voltooid, een 404 retourneren. In behandeling zijnde uitvoeringen kunnen verkregen worden door parameter executionStatus=Pending
in te stellen.
aanvraagsyntaxis
Methode | Aanvraag-URI |
---|---|
Toevoegen | https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution} |
verzoekkoptekst
Koptekst | Type | Beschrijving |
---|---|---|
Machtiging | snaar | Verplicht. Het Microsoft Entra-toegangstoken. De indeling is Bearer <token> . |
Inhoudstype | snaar | application/json |
padparameter
Geen
Queryparameter
Parameternaam | Vereist | Soort | Beschrijving |
---|---|---|---|
reportId |
Ja | snaar | Filter om uitvoeringsdetails op te halen van alleen rapporten met reportId die in dit argument zijn opgegeven. |
executionId |
Nee | snaar | Filter om alleen details op te halen van rapporten waarvoor in dit argument executionId is opgegeven. Meerdere executionIds kunnen worden opgegeven door ze te scheiden met een puntkomma ';'. |
executionStatus |
Nee | tekenreeks/enumeratie | Filter om alleen details van rapporten met executionStatus in dit argument op te halen.Geldige waarden zijn: Pending , Running , Paused en Completed De standaardwaarde is Completed . |
getLatestExecution |
Nee | booleaans | De API retourneert details van de meest recente rapportuitvoering. Deze parameter is standaard ingesteld op true . Als u ervoor kiest om de waarde van deze parameter door te geven als false , retourneert de API de laatste 90 dagen uitvoeringsexemplaren. |
nettolading aanvragen
Geen
voorbeeldantwoord
De responselading is als volgt gestructureerd:
Antwoordcodes: 200, 400, 401, 403, 404, 500
Voorbeeld van antwoordpayload:
{
"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
}
Zodra de uitvoering van het rapport is voltooid, wordt de uitvoeringsstatus Completed
weergegeven. U kunt het rapport downloaden door de URL in de reportAccessSecureLink
te selecteren.
woordenlijst
Sleuteldefinities van elementen in het antwoord.
Parameter | Beschrijving |
---|---|
ExecutionId |
universally unique identifier (UUID) van de uitvoeringsinstantie |
ReportId |
Rapport-id die is gekoppeld aan het uitvoeringsexemplaar |
RecurrenceInterval |
Herhalingsinterval dat is opgegeven tijdens het maken van het rapport |
RecurrenceCount |
Aantal terugkeerpatronen dat is opgegeven tijdens het maken van het rapport |
CallbackUrl |
Callback-URL die is gekoppeld aan het uitvoeringsexemplaar |
CallbackMethod |
Callback-methode die is opgegeven in de verzoekinhoud bij het aanmaken van het rapport |
Format |
Indeling van het gegenereerde bestand aan het einde van de uitvoering |
ExecutionStatus |
Status van het uitvoeringsexemplaar van het rapport. Geldige waarden zijn: Pending , Running , Paused en Completed |
ReportLocation |
Locatie waar het rapport wordt gedownload. |
ReportAccessSecureLink |
Een koppeling maken waarmee het rapport veilig kan worden geopend |
ReportExpiryTime |
UTC-tijd waarna de rapportkoppeling verloopt in dit formaat: jjjj-MM-ddTHH:mm:ssZ |
ReportGeneratedTime |
UTC-tijd waarop het rapport is gegenereerd in deze indeling: jjjj-MM-ddTHH:mm:ssZ |
EndTime |
Eindtijd die is opgegeven in de verzoekpayload tijdens het maken van het rapport. Dit is alleen van toepassing als ExecuteNow is ingesteld op 'Waar' |
TotalRecurrenceCount |
RecurrenceCount meegegeven in de verzoekinhoud tijdens het maken van het rapport |
nextExecutionStartTime |
UTC-tijdstempel wanneer de volgende rapportuitvoering wordt gestart |
TotalCount |
Aantal gegevenssets in de waardematrix |
StatusCode |
Resultaatcode De mogelijke waarden zijn 200, 400, 401, 403, 404 en 500 |
message |
Statusbericht van de uitvoering van de API |
U kunt de API's uitproberen via de Swagger-API-URL.