Compartir a través de


Paradigma de acceso mediante programación para Microsoft Marketplace

En este diagrama se muestra el patrón de llamada a la API utilizado para crear una nueva plantilla de informe, programar el informe personalizado y recuperar los datos de error.

Muestra el patrón de llamada a la API utilizado para crear una nueva plantilla de informe, programar el informe personalizado y recuperar datos de error. Figura 1: Flujo de alto nivel del patrón de llamadas a la API

Esta lista proporciona más detalles sobre la Figura 1.

  1. La aplicación cliente puede definir el esquema o la plantilla de informe personalizado llamando a la API Crear consulta de informe. Como alternativa, puede utilizar una plantilla de informe (QueryId) de la lista de consultas del sistema.
  2. En caso de éxito, la API Crear plantilla de informe devuelve el archivo QueryId.
  3. A continuación, la aplicación cliente llama a la API Crear informe mediante el QueryID junto con la fecha de inicio del informe, el intervalo de repetición, la periodicidad y un URI de devolución de llamada opcional.
  4. En caso de éxito, la API de creación de informes devuelve el archivo ReportID.
  5. La aplicación cliente recibe una notificación en el URI de devolución de llamada tan pronto como los datos del informe están listos para su descarga.
  6. A continuación, la aplicación cliente usa la API Get Report Executions para consultar el estado del informe con el Report ID intervalo de fechas y.
  7. Si se realiza correctamente, se devuelve el enlace de descarga del informe y la aplicación puede iniciar la descarga de los datos.

Especificación del lenguaje de consulta de informes

Si bien proporcionamos consultas del sistema que puede usar para crear informes, también puede crear sus propias consultas en función de las necesidades de su negocio. Para obtener más información sobre las consultas personalizadas, consulte Especificación de consultas personalizadas.

Creación de una API de consulta de informes

Esta API ayuda a crear consultas personalizadas que definen el conjunto de datos desde el que se deben exportar las columnas y las métricas. La API proporciona la flexibilidad necesaria para crear una nueva plantilla de informes en función de las necesidades de su empresa.

También puede utilizar las consultas del sistema que proporcionamos. Cuando no se necesitan plantillas de informes personalizadas, puede llamar directamente a la API Crear informe mediante los QueryIds de las consultas del sistema que proporcionamos.

En el ejemplo siguiente se muestra cómo crear una consulta personalizada para obtener el uso normalizado y los cargos financieros estimados para SKU de pago del conjunto de datos ISVUsage del último mes.

Sintaxis de la solicitud

Método Solicitud de URI
EXPONER https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries

Encabezado de solicitud

Cabecera Tipo Descripción
Autorización cuerda / cadena Obligatorio. El token de acceso de Microsoft Entra. El formato es Bearer <token>.
Tipo de contenido string application/JSON

Parámetro de ruta de acceso

Ninguno

Parámetro de consulta

Ninguno

Ejemplo de carga útil de solicitud

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

Glosario

Esta tabla proporciona las definiciones de clave de los elementos en la carga útil de la solicitud.

Parámetro Obligatorio Descripción Valores permitidos
Name Nombre descriptivo de la consulta cuerda / cadena
Description No Descripción de la consulta creada cuerda / cadena
Query Cadena de consulta basada en las necesidades del negocio cuerda / cadena

Nota:

Para obtener ejemplos de consultas personalizadas, consulte consultas de ejemplo.

Respuesta de muestra

La carga de respuesta se estructura de la manera siguiente:

Códigos de respuesta: 200, 400, 401, 403, 500

Ejemplo de carga de respuesta:

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

Glosario

Esta tabla proporciona las definiciones clave de los elementos de la respuesta.

Parámetro Descripción
QueryId Identificador único universal (UUID) de la consulta creada
Name Nombre proporcionado en la carga útil de la solicitud durante la creación de la consulta
Description Descripción proporcionada en la carga útil de la solicitud durante la creación de la consulta
Query Consulta de informe personalizada proporcionada en la carga de la solicitud durante la creación de la consulta
Type Establézcalo en userDefined para consultas creadas manualmente
User ID de usuario utilizado para crear la consulta
CreatedTime UTC Hora en que se creó la consulta. Formato: aaaa-MM-ddTHH:mm:ssZ
TotalCount Número de registros en la matriz Value
StatusCode Código de resultado
Los valores posibles son 200, 400, 401, 403, 500
message Mensaje de estado de la ejecución de la API

Crear API de informes

Al crear correctamente una plantilla de informe personalizada y recibir la respuesta como parte de Crear QueryIDconsulta de informe , se puede llamar a esta API para programar una consulta para que se ejecute a intervalos regulares. Puede establecer una frecuencia y una programación para que se entregue el informe. En el caso de las consultas del sistema que proporcionamos, también se puede llamar a la API Crear informe con QueryId.

Sintaxis de la solicitud

Método Solicitud de URI
EXPONER https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport

Encabezado de solicitud

Cabecera Tipo Descripción
Autorización cuerda / cadena Obligatorio. El token de acceso de Microsoft Entra. El formato es Bearer <token>.
Tipo de contenido cuerda / cadena application/JSON

Parámetro de ruta de acceso

Ninguno

Parámetro de consulta

Ninguno

Ejemplo de carga útil de solicitud

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

Glosario

Esta tabla proporciona las definiciones de clave de los elementos en la carga útil de la solicitud.

Parámetro Obligatorio Descripción Valores permitidos
ReportName Nombre descriptivo asignado al informe Cuerda
Description No Descripción del informe creado Cuerda
QueryId Id. de consulta que se debe usar para la generación de informes Cuerda
StartTime Marca de tiempo UTC en la que comenzará la generación del informe. El formato debe ser aaaa-MM-ddTHH:mm:ssZ Cuerda
ExecuteNow No Este parámetro se debe utilizar para crear un informe que se ejecute una sola vez. StartTime, , RecurrenceIntervalRecurrenceCount, y EndTime se ignoran si se establece entrue Booleano
QueryStartTime No Opcionalmente, especifica la hora de inicio de la consulta que extrae los datos. Este parámetro solo es aplicable para el informe de ejecución de una sola vez que se ha ExecuteNow establecido en true. El formato debe ser aaaa-MM-ddTHH:mm:ssZ Marca de tiempo como cadena
QueryEndTime No Opcionalmente, especifica la hora de finalización de la consulta que extrae los datos. Este parámetro solo es aplicable para el informe de ejecución de una sola vez que se ha ExecuteNow establecido en true. El formato debe ser aaaa-MM-ddTHH:mm:ssZ Marca de tiempo como cadena
RecurrenceInterval Frecuencia en horas en las que se debe generar el informe. El valor mínimo es 1 y el valor máximo es 17520 Entero
RecurrenceCount Número de informes que se van a generar. El límite depende del intervalo de periodicidad Entero
Format No Formato de archivo del archivo exportado. El formato predeterminado es CSV CSV/TSV
CallbackUrl No URL de acceso público que se puede configurar opcionalmente como destino de devolución de llamada Cuerda
CallbackMethod No Método Get/Post que se puede configurar con URL de devolución de llamada OBTENER/PUBLICAR
EndTime Marca de tiempo UTC en la que finalizará la generación del informe. El formato debe ser aaaa-MM-ddTHH:mm:ssZ Cuerda

Nota:

Al crear el informe, es obligatorio uno EndTime o una combinación de RecurrenceInterval y RecurrenceCount .

Respuesta de muestra

La carga de respuesta se estructura de la manera siguiente:

Código de respuesta: 200, 400, 401, 403, 404, 500

Carga útil de respuesta:

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

Glosario

Esta tabla proporciona las definiciones clave de los elementos de la respuesta.

Parámetro Descripción
ReportId Identificador único universal (UUID) del informe que ha creado
ReportName Nombre proporcionado en la carga útil de la solicitud durante la creación del informe
Description Descripción proporcionada en la carga útil de la solicitud durante la creación del informe
QueryId Id. de consulta proporcionado en la carga útil de la solicitud durante la creación del informe
Query Texto de consulta que se ejecutará para este informe
User Identificador de usuario usado para crear el informe
CreatedTime Hora UTC en que se creó el informe en este formato: aaaa-MM-ddTHH:mm:ssZ
ModifiedTime Hora UTC en que se modificó por última vez el informe en este formato: aaaa-MM-ddTHH:mm:ssZ
ExecuteNow Parámetro ExecuteNow proporcionado en la carga útil de la solicitud durante la creación del informe
queryStartTime Hora de inicio de la consulta proporcionada en la carga útil de la solicitud durante la creación del informe. Esto solo es aplicable si ExecuteNow se establece en "Verdadero"
queryEndTime Hora de finalización de la consulta proporcionada en la carga útil de la solicitud durante la creación del informe. Esto solo es aplicable si ExecuteNow se establece en "Verdadero"
StartTime Hora de inicio proporcionada en la carga útil de la solicitud durante la creación del informe
ReportStatus Estado de la ejecución del informe. Los valores posibles son Pausado, Activo e Inactivo.
RecurrenceInterval Intervalo de periodicidad proporcionado en la carga útil de la solicitud durante la creación del informe
RecurrenceCount Recuento de periodicidades restante para el informe
CallbackUrl URL de devolución de llamada proporcionada en la carga útil de la solicitud durante la creación del informe
CallbackMethod Método de devolución de llamada proporcionado en la carga útil de la solicitud durante la creación del informe
Format Formato de los archivos de informe proporcionados en la carga útil de la solicitud durante la creación del informe
EndTime Hora de finalización proporcionada en la carga útil de la solicitud durante la creación del informe. Esto solo es aplicable si ExecuteNow se establece en "Verdadero"
TotalRecurrenceCount RecurrenceCount proporcionado en la carga útil de la solicitud durante la creación del informe
nextExecutionStartTime Marca de tiempo UTC cuando comenzará la próxima ejecución del informe
TotalCount Número de registros en la matriz Value
StatusCode Código de resultado. Los valores posibles son 200, 400, 401, 403, 500
message Mensaje de estado de la ejecución de la API

Obtener API de ejecuciones de informes

Puede utilizar este método para consultar el estado de la ejecución de un informe mediante el ReportId recibido de la API Crear informe. El método devuelve el vínculo de descarga del informe si el informe está listo para su descarga. De lo contrario, el método devuelve el estado. También puede utilizar esta API para obtener todas las ejecuciones que se han producido para un informe determinado.

Importante

Esta API tiene parámetros de consulta predeterminados establecidos para executionStatus=Completed y getLatestExecution=true. Por lo tanto, si se llama a la API antes de la primera ejecución correcta del informe, se devolverá 404. Las ejecuciones pendientes se pueden obtener configurando executionStatus=Pending.

Sintaxis de la solicitud

Método Solicitud de URI
Obtener https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution}

Encabezado de solicitud

Cabecera Tipo Descripción
Autorización cuerda / cadena Obligatorio. El token de acceso de Microsoft Entra. El formato es Bearer <token>.
Tipo de contenido cuerda / cadena application/json

Parámetro de ruta de acceso

Ninguno

Parámetro de consulta

Nombre del parámetro Obligatorio Tipo Descripción
reportId cuerda / cadena Filtre para obtener los detalles de ejecución de solo los informes con reportId dado en este argumento.
executionId No cuerda / cadena Filtre para obtener detalles de solo los informes con executionId dado en este argumento. Se pueden especificar varios executionIds separándolos con un punto y coma ";".
executionStatus No cadena/enumeración Filtre para obtener detalles de solo los informes con executionStatus dado en este argumento.
Los valores válidos son: Pending, Running, Pausedy Completed
El valor predeterminado es Completed.
getLatestExecution No booleano La API devolverá detalles de la última ejecución del informe.
De manera predeterminada, este parámetro está establecido en true. Si elige pasar el valor de este parámetro como false, la API devolverá las instancias de ejecución de los últimos 90 días.

Solicitud de carga útil

Ninguno

Respuesta de muestra

La carga de respuesta se estructura de la manera siguiente:

Códigos de respuesta: 200, 400, 401, 403, 404, 500

Ejemplo de carga de respuesta:

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

Una vez completada la ejecución del informe, se muestra el estado Completed de ejecución. Para descargar el informe, seleccione la dirección URL en el reportAccessSecureLinkarchivo .

Glosario

Definiciones clave de los elementos de la respuesta.

Parámetro Descripción
ExecutionId Identificador único universal (UUID) de la instancia de ejecución
ReportId ID de informe asociado a la instancia de ejecución
RecurrenceInterval Intervalo de periodicidad proporcionado durante la creación del informe
RecurrenceCount Recuento de periodicidad proporcionado durante la creación del informe
CallbackUrl URL de devolución de llamada asociada a la instancia de ejecución
CallbackMethod Método de devolución de llamada proporcionado en la carga útil de la solicitud durante la creación del informe
Format Formato del archivo generado al final de la ejecución
ExecutionStatus Estado de la instancia de ejecución del informe.
Los valores válidos son: Pending, Running, Pausedy Completed
ReportLocation Ubicación donde se descarga el informe.
ReportAccessSecureLink Enlace a través del cual se puede acceder al informe de forma segura
ReportExpiryTime Hora UTC después de la cual el enlace del informe caducará en este formato: aaaa-MM-ddTHH:mm:ssZ
ReportGeneratedTime Hora UTC en la que se generó el informe en este formato: aaaa-MM-ddTHH:mm:ssZ
EndTime Hora de finalización proporcionada en la carga útil de la solicitud durante la creación del informe. Esto solo es aplicable si ExecuteNow se establece en "Verdadero"
TotalRecurrenceCount RecurrenceCount proporcionado en la carga útil de la solicitud durante la creación del informe
nextExecutionStartTime Marca de tiempo UTC cuando comenzará la próxima ejecución del informe
TotalCount Número de conjuntos de datos de la matriz Value
StatusCode Código de resultado
Los valores posibles son 200, 400, 401, 403, 404 y 500
message Mensaje de estado de la ejecución de la API

Puede probar las API a través de la dirección URL de la API de Swagger .