Condividi tramite


Paradigma di accesso a livello di codice per il marketplace commerciale

Questo diagramma mostra il modello di chiamata API usato per creare un nuovo modello di report, pianificare il report personalizzato e recuperare i dati sugli errori.

Illustra il modello di chiamata API usato per creare un nuovo modello di report, pianificare il report personalizzato e recuperare i dati degli errori. Figura 1: Flusso generale del modello di chiamata API

Questo elenco fornisce altri dettagli sulla figura 1.

  1. L'applicazione client può definire un modello/schema di report personalizzato chiamando l'API di creazione query per il report . In alternativa, è possibile usare un modello di report (QueryId) dall'elenco di query di sistema.
  2. In caso di esito positivo, l'API Crea modello di report restituisce l'QueryId.
  3. L'applicazione client chiama quindi l'API Crea report usando il QueryID insieme alla data di inizio del report, all'intervallo di ripetizione, alla ricorrenza e a un URI di callback facoltativo.
  4. In caso di esito positivo, la Crea API report restituisce l'ReportID.
  5. L'applicazione client riceve una notifica all'URI di callback non appena i dati del report sono pronti per il download.
  6. L'applicazione client usa quindi l'API Get Report Executions per eseguire una query sullo stato del report con l'intervallo di Report ID e data.
  7. In caso di esito positivo, viene restituito il collegamento di download del report e l'applicazione può avviare il download dei dati.

Specifiche del linguaggio di query del report

Benché vengano fornite query di sistema che è possibile utilizzare per creare report, potete anche creare le vostre proprie query in base alle esigenze aziendali. Per ulteriori informazioni sulle query personalizzate, vedere specifiche delle query personalizzate.

Creare un'API per le query di report

Questa API consente di creare query personalizzate che definiscono il set di dati da cui devono essere esportate colonne e metriche. L'API offre la flessibilità necessaria per creare un nuovo modello di report in base alle esigenze aziendali.

È anche possibile usare le query di sistema fornite. Quando i modelli di report personalizzati non sono necessari, è possibile chiamare l'API Crea Report direttamente usando i QueryIds delle query di sistema fornite.

Nell'esempio seguente viene illustrato come creare una query personalizzata per ottenere l'Utilizzo Normalizzato e gli Addebiti Finanziari Stimati per SKU a pagamento dal dataset ISVUsage per l'ultimo mese.

Sintassi della richiesta

Metodo URI della richiesta
INSERISCI https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries

'intestazione richiesta

Intestazione Digitare Descrizione
Autorizzazione corda Obbligatorio. Token di accesso Microsoft Entra. Il formato è Bearer <token>.
Tipo di contenuto string application/JSON

parametro Path

Nessuno

parametro di query

Nessuno

esempio di payload della richiesta

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

Glossario

Questa tabella fornisce le definizioni chiave degli elementi nel payload della richiesta.

Parametro Obbligatorio Descrizione Valori consentiti
Name Nome facile da comprendere della query corda
Description No Descrizione della query creata corda
Query Stringa di query basata sulle esigenze aziendali corda

Nota

Per esempi di query personalizzate, vedere query di esempio.

Risposta di esempio

Il payload della risposta è strutturato come segue:

Codici di risposta: 200, 400, 401, 403, 500

Esempio di payload della risposta:

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

glossario

Questa tabella fornisce le definizioni chiave degli elementi nella risposta.

Parametro Descrizione
QueryId Identificatore univoco universale (UUID) della query creata
Name Nome specificato nel payload della richiesta durante la creazione della query
Description Descrizione fornita nel payload della richiesta durante la creazione di query
Query Query report personalizzata fornita nel payload della richiesta durante la creazione della query
Type Impostare su userDefined per le query create manualmente
User ID utente usato per creare la query
CreatedTime Ora UTC in cui è stata creata la query. Formato: aaaa-MM-ggTHH:mm:ssZ
TotalCount Numero di record nella matrice Value
StatusCode Codice risultato
I valori possibili sono 200, 400, 401, 403, 500
message Messaggio di stato dall'esecuzione dell'API

API per la creazione di report

Al completamento della creazione di un modello di report personalizzato e con la ricezione del QueryID come parte della risposta alla Creare Query Di Report, questa API può essere utilizzata per programmare l'esecuzione di una query a intervalli regolari. È possibile impostare una frequenza e una pianificazione per il report da recapitare. Per le query di sistema fornite, è anche possibile chiamare l'API Crea report con QueryId.

Sintassi della richiesta

Metodo URI della richiesta
INSERISCI https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport

l'intestazione richiesta

Intestazione Digitare Descrizione
Autorizzazione corda Obbligatorio. Token di accesso Microsoft Entra. Il formato è Bearer <token>.
Tipo di contenuto corda application/JSON

parametro Path

Nessuno

parametro di query

Nessuno

esempio di payload della richiesta

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

glossario

Questa tabella fornisce le definizioni chiave degli elementi nel payload della richiesta.

Parametro Obbligatorio Descrizione Valori consentiti
ReportName Nome descrittivo assegnato al report Stringa
Description No Descrizione del report creato Stringa
QueryId ID query che deve essere usato per la generazione del report Corda
StartTime Timestamp UTC in corrispondenza del quale inizierà la generazione del report. Il formato deve essere aa-MM-ggTHH:mm:ssZ Stringa
ExecuteNow No Questo parametro deve essere usato per creare un report eseguito una sola volta. StartTime, RecurrenceInterval, RecurrenceCounte EndTime vengono ignorati se è impostato su true Booleano
QueryStartTime No Facoltativamente, specifica l'ora di inizio per la query che estrae i dati. Questo parametro è applicabile solo per un report di esecuzione occasionale con ExecuteNow impostato su true. Il formato deve essere aa-MM-ggTHH:mm:ssZ Timestamp come stringa
QueryEndTime No Facoltativamente, specifica l'ora di fine per la query che estrae i dati. Questo parametro è applicabile solo per un report di esecuzione occasionale con ExecuteNow impostato su true. Il formato deve essere aa-MM-ggTHH:mm:ssZ Timestamp come stringa
RecurrenceInterval Frequenza in ore in cui deve essere generato il report. Il valore minimo è 1 e il valore massimo è 17520 Numero intero
RecurrenceCount Numero di report da generare. Il limite dipende dall'intervallo di ricorrenza Numero intero
Format No Formato di file del file esportato. Il formato predefinito è CSV CSV/TSV
CallbackUrl No URL accessibile pubblicamente che può essere configurato facoltativamente come destinazione di callback Stringa
CallbackMethod No Metodo Get/Post che può essere configurato con l'URL di callback GET/POST
EndTime Timestamp UTC in corrispondenza del quale terminerà la generazione del report. Il formato deve essere aa-MM-ggTHH:mm:ssZ Corda / Stringa

Nota

Durante la creazione del report, è obbligatorio EndTime o la combinazione di RecurrenceInterval e RecurrenceCount.

Risposta di esempio

Il payload della risposta è strutturato come segue:

Codice risposta: 200, 400, 401, 403, 404, 500

Payload della risposta:

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

glossario

Questa tabella fornisce le definizioni chiave degli elementi nella risposta.

Parametro Descrizione
ReportId Identificatore universale univoco (UUID) del report che hai creato
ReportName Nome specificato nel payload della richiesta durante la creazione del report
Description Descrizione fornita nel payload della richiesta durante la creazione del report
QueryId ID query fornito nel payload della richiesta durante la creazione del report
Query Testo della query che verrà eseguito per questo report
User ID utente usato per creare il report
CreatedTime Ora UTC in cui è stato creato il report in questo formato: aaaa-MM-ggTHH:mm:ssZ
ModifiedTime Ora UTC dell'ultima modifica apportata al report in questo formato: aaaa-MM-ggTHH:mm:ssZ
ExecuteNow Parametro ExecuteNow fornito nel payload della richiesta durante la creazione del report
queryStartTime Ora di inizio della query specificata nel payload della richiesta durante la creazione del report. Questa opzione è applicabile solo se ExecuteNow è impostato su "True"
queryEndTime Ora di fine della query specificata nel payload della richiesta durante la creazione del report. Questa opzione è applicabile solo se ExecuteNow è impostato su "True"
StartTime Ora di inizio specificata nel payload della richiesta durante la creazione del report
ReportStatus Stato dell'esecuzione del report. I valori possibili sono Sospeso, Activee Inactive.
RecurrenceInterval Intervallo di ricorrenza specificato nel payload della richiesta durante la creazione del report
RecurrenceCount Numero di ricorrenze rimanenti per il rapporto
CallbackUrl URL di callback fornito nel payload della richiesta durante la creazione del report
CallbackMethod Metodo di callback fornito nel payload della richiesta durante la creazione del report
Format Formato dei file di report forniti nel payload della richiesta durante la creazione del report
EndTime Ora di fine specificata nel payload della richiesta durante la creazione del report. Questa opzione è applicabile solo se ExecuteNow è impostato su "True"
TotalRecurrenceCount RecurrenceCount fornito nel payload della richiesta durante la generazione del report
nextExecutionStartTime Timestamp UTC dell'ora di avvio dell'esecuzione successiva del report
TotalCount Numero di record nella matrice Value
StatusCode Codice risultato. I valori possibili sono 200, 400, 401, 403, 500
message Messaggio di stato dall'esecuzione dell'API

Ottieni API esecuzioni rapporto

È possibile usare questo metodo per eseguire una query sullo stato di un'esecuzione del report usando il ReportId ricevuto dalla Create Report API. Il metodo restituisce il collegamento di download del report se il report è pronto per il download. In caso contrario, il metodo restituisce lo stato. È anche possibile usare questa API per ottenere tutte le esecuzioni che si sono verificate per un determinato report.

Importante

Questa API include parametri di query predefiniti impostati per executionStatus=Completed e getLatestExecution=true. Di conseguenza, la chiamata all'API prima della prima esecuzione corretta del report restituirà 404. È possibile ottenere esecuzioni in sospeso impostando executionStatus=Pending.

Sintassi della richiesta

Metodo URI della richiesta
Ottieni https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution}

'intestazione richiesta

Intestazione Digitare Descrizione
Autorizzazione corda Obbligatorio. Token di accesso Microsoft Entra. Il formato è Bearer <token>.
Tipo di contenuto corda application/json

parametro Path

Nessuno

parametro di query

Nome del parametro Obbligatorio Digitare Descrizione
reportId corda Filtro per ottenere i dettagli di esecuzione solo dei report con reportId specificati in questo argomento.
executionId No corda Filtra per ottenere i dettagli solo dei report con executionId indicato in questo argomento. È possibile specificare più executionIds separandoli con un punto e virgola ";".
executionStatus No stringa/enumerazione Filtra per ottenere i dettagli solo dei report con executionStatus specificati in questo argomento.
I valori validi sono: Pending, Running, Pausede Completed
Il valore predefinito è Completed.
getLatestExecution No booleano L'API restituirà i dettagli dell'esecuzione del report più recente.
Per impostazione predefinita, questo parametro è impostato su true. Se si sceglie di passare il valore di questo parametro come false, l'API restituirà le istanze di esecuzione degli ultimi 90 giorni.

Payload della richiesta

Nessuno

Risposta di esempio

Il payload della risposta è strutturato come segue:

Codici di risposta: 200, 400, 401, 403, 404, 500

Esempio di contenuto della risposta:

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

Al termine dell'esecuzione del report, viene visualizzato lo stato di esecuzione Completed. È possibile scaricare il report selezionando l'URL nel reportAccessSecureLink.

Glossario

Definizioni chiave degli elementi nella risposta.

Parametro Descrizione
ExecutionId Identificatore univoco universale (UUID) dell'istanza di esecuzione
ReportId ID del report associato all'istanza di esecuzione
RecurrenceInterval Intervallo di ricorrenza specificato durante la creazione del report
RecurrenceCount Numero di ricorrenze specificato durante la creazione del report
CallbackUrl URL di callback associato all'istanza di esecuzione
CallbackMethod Metodo di callback fornito nel payload della richiesta durante la creazione del report
Format Formato del file generato alla fine dell'esecuzione
ExecutionStatus Stato dell'istanza di esecuzione del report.
I valori validi sono: Pending, Running, Pausede Completed
ReportLocation Luogo in cui viene scaricato il report.
ReportAccessSecureLink Collegamento tramite il quale è possibile accedere al report in modo sicuro
ReportExpiryTime Ora UTC dopo la quale il collegamento al report scadrà in questo formato: aaaa-MM-ggTHH:mm:ssZ
ReportGeneratedTime Ora UTC in cui è stato generato il report in questo formato: aaaa-MM-ggTHH:mm:ssZ
EndTime Ora di fine specificata nel payload della richiesta durante la creazione del report. Questa opzione è applicabile solo se ExecuteNow è impostato su "True"
TotalRecurrenceCount RecurrenceCount fornito nel payload della richiesta durante la creazione del report
nextExecutionStartTime Timestamp UTC all'avvio dell'esecuzione successiva del report
TotalCount Numero di set di dati nella matrice Valore
StatusCode Codice risultato
I valori possibili sono 200, 400, 401, 403, 404 e 500
message Messaggio di stato dall'esecuzione dell'API

È possibile provare le API tramite l'URL dell'API Swagger .