Como conectarse a la API de MonitorPro
La API de MonitorPro se puede utilizar para reportar y/o visualizar los datos de MonitorPro en otros sistemas externos. Por el momento, su función se limita sólamente a presentar/visualizar los datos existentes en la base de datos, y no a realizar inserciones o actualizaciones de la misma. Esto es con el fin de garantizar la auditoría de datos y la acreditación MCERTS.
Crear un Token de API
Navegue hacia la página de Administración y luego haga clic en el enlace API Token.
En la ventana emergente, haga clic en el botón "Generar" para crear un nuevo token.
Se mostrará un cuadro de diálogo que mostrará el token generado. Haga clic en el enlace del lado derecho para copiar el valor en el portapapeles.
Acceder a la API mediante el Token generado
Para acceder a la API, modifique la siguiente URL.
https://your.domain.com/api/{databaseId}/reporting/{reportName}/{selectionId}
- Establezca su ubicación local de MP-Web
- Establezca el protocolo de acuerdo con la configuración de su sitio web, HTTP o HTTPS. Se recomienda HTTPS.
- Reemplace {databaseId} con el databaseID de su base de datos desde la cual desea generar la salida. En caso de existir múltiples bases de datos, deberá verificar el ID correspondiente desde la tabla tblDatabase de la base de datos MP5WebGateway.
- Reemplace {reportName} con cualquiera de los nombres de los reportes (stored procedures) detallados en la lista que se muestra al final de este artículo.
- Reemplace {selectionId} con el ID del Dataset que desea utilizar para su consulta. Puede obtener el ID desde la tabla tblSelection, utilizando para ello el nombre del Dataset asignado por el usuario (puede ver el nombre del dataset en la columna sSelectionStoreName).
- Como parte de la llamada, el token de portador (utilizado para autenticar) debe pasarse en el encabezado de Autorización, es decir, Autorización: Portador <token>
Vea el siguiente ejemplo utilizando POSTMAN.
Acceder a la API mediante PowerBI
También es posible utilizar PowerBI para acceder a los datos a través de la API de MonitorPro.
En PowerBI, diríjase a la pestaña Home y haga clic en Get Data. Desde allí, seleccione la opción Blank query y luego abra el Editor Avanzado (Advanced Editor).
Pegue la siguiente consulta en el Editor Avanzado y actualice "your.domain.com" con la URL de MP-Web. Incluya el {databaseId} de su base de datos y el {reportName} en base al listado de reportes que se muestra al final de este artículo. Luego especifique el {selectionId} del dataset que desea utilizar. Finalmente, también deberá incluir el API Token generado en MP-Web.
let
// Define the API URL
apiUrl = "https://your.domain.com/api/{databaseId}/reporting/{reportName}/{selectionId}",
// Define the Authorization header with the Bearer token
headers = [
#"Authorization" = "Bearer {Your Token}"
],
// Call the API with the URL and headers
response = Web.Contents(apiUrl, [
Headers = headers
]),
// Parse the JSON response
jsonResponse = Json.Document(response),
// Convert the JSON response into a table (assuming it's a list of records)
dataTable = Table.FromList(jsonResponse, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
// Expand the records into columns (assuming each record contains fields)
expandedTable = Table.ExpandRecordColumn(dataTable, "Column1", Record.FieldNames(dataTable{0}[Column1]), Record.FieldNames(dataTable{0}[Column1])),
// Convert "Sample_Date" to Date type
transformedTable = Table.TransformColumnTypes(expandedTable, )
in
transformedTable
Cuando haya terminado, haga clic en Done para importar los datos. Si al hacerlo, se le solicitan las credenciales de conexión, seleccione Conexión Anónima (Anonymous).
Nota
A diferencia de la conexión a la base de datos a través de PowerBI, cada consulta se definirá para un Dataset específico (SelectionID). Por lo tanto, en caso de que necesite conectarse a distintos tipos de datos, repita el proceso de conexión para cada Dataset.
Revocar un Token
Para revocar el token generado, vaya a la página Administración -> API Token utilizada inicialmente y haga clic en el botón Revocar Token.
Reportes Disponibles
Los siguientes reportes o procedimientos almacenados (stored procedures) se encuentran disponibles:
- report_001_SelectedData
- report_001_SelectedLocations
- report_003_SelectedVariables
- report_003a_SelectedSources
- report_003b_SelectedSampleTypes
- report_005_Data_Basic
- report_005_Data_Basic_AdditionalFields
- report_005v_Data_Basic_VariableOrder
- report_005vs_Data_Basic_VariableSamplePointOrder
- report_005vs_Data_Basic_VariableSamplePointOrderPreordered
- report_005vsd_Data_Basic_VariableSamplePointOrderDummy
- report_005x_Data_Deleted
- report_006_Data_Extended
- report_006a_Data_Extended_ComplianceGridsOnly
- report_006a_Data_Extended_ComplianceGridsOnlyBroken
- report_006avs_Data_Extended_ComplianceGridsOnly_VariableSamplePointOrder
- report_006b_Data_Extended_AllComplianceTypes
- report_006b_Data_Extended_CompliancePivot
- report_006b1_Data_Extended_AllComplianceTypes_ImportanceWarning
- report_006b2_Data_Extended_AllComplianceTypes_ImportanceInternal
- report_006b3_Data_Extended_AllComplianceTypes_ImportanceBreach
- report_006b4_Data_Extended_AllComplianceTypes_ImportanceHighPriorityBreach
- report_007_Exceedences
- report_007a_Exceedences_ComplianceGridOnly
- report_007b_Exceedences_AllComplianceTypes
- report_008_Data_Basic_By_Group
- report_008_Data_Basic_by_Grp
- report_008x_Data_Basic_By_Group_Extended
- report_009_Data_Basic_By_Suite
- report_010_Aggregates
- report_010_DataImportedYesterday_Detail
- report_010_DataImportedYesterday_DetailWithThresholds
- report_010a_Aggregates_ComplianceGridsOnly
- report_010b_Aggregates_AllComplianceTypes
- report_011_Extended_Incl_Suites
- report_011a_Extended_Incl_Suites_ComplianceGridsOnly
- report_011b_Extended_Incl_Suites_AllComplianceTypes
- report_012_Exceedences_Raw_Data
- report_012a_Exceedences_Raw_Data_ComplianceGridsOnly
- report_012b_Exceedences_Raw_Data_AllComplianceTypes
- report_013_Data_Basic_Monitoring_Performance_Report
- report_DailyPreviousFiveDaySum
- report_DMR
- report_MonthlyMaxAnnualRollingAverage