Loading...
Loading...
Accede a datos de activos en un formato aplanado optimizado para herramientas de Business Intelligence. Todos los campos están en el nivel raíz para mapeo directo de columnas.
La API BI devuelve una estructura completamente plana - sin objetos anidados. Esto la hace perfecta para herramientas que esperan datos tabulares:
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/bi/v1/assets | Listar todos los activos en formato aplanado |
| GET | /api/bi/v1/assets/count | Obtener el conteo total de activos |
| GET | /api/bi/v1/assets/{assetId} | Obtener un activo específico por ID |
/assetsDevuelve una lista paginada de activos con todos los campos aplanados al nivel raíz. Ideal para exportación masiva de datos a herramientas BI.
| Parameter | Type | Description |
|---|---|---|
| status | string | Filtrar por estado del activo (ej., ACTIVE, INACTIVE) |
| policy | string | Filtrar por nombre de ruta de política asignada |
| page | integer | Número de página (indexado desde 0, predeterminado: 0) |
| size | integer | Tamaño de página (predeterminado: 20, máximo: 100) |
| sort | string | Campo de ordenación y dirección (ej., lastSyncAt,desc) |
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets?status=ACTIVE&page=0&size=100" \
-H "X-API-Key: nm_acme_abc123..."{
"content": [
{
"pathName": "enterprises/acme/assets/asset_abc123",
"identification": "Warehouse Scanner 01",
"name": "WH-SCANNER-001",
"description": "Main warehouse barcode scanner",
"serialNumber": "ABC123XYZ",
"imeis": "123456789012345",
"brand": "Samsung",
"model": "Galaxy Tab Active3",
"status": "ACTIVE",
"lastSyncAt": "2026-01-29T08:15:00Z",
"enrollmentTime": "2025-01-15T10:30:00Z",
"policyPathName": "enterprises/acme/policies/warehouse",
"policyDisplayName": "Warehouse Policy",
"policyGroupName": "Warehouse",
"metadata": "{\"department\":\"logistics\",\"location\":\"warehouse-a\"}",
"tags": "warehouse,scanner,critical",
"operatingSystem": "Android",
"operatingSystemVersion": "13"
}
],
"totalElements": 156,
"totalPages": 2,
"size": 100,
"number": 0
}/assets/countDevuelve el conteo total de activos que coinciden con los criterios de filtro. Útil para cálculos de paginación.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/count?status=ACTIVE" \
-H "X-API-Key: nm_acme_abc123..."{
"count": 156
}/assets/{assetId}Devuelve un único activo en formato aplanado por su ID de activo.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/asset_abc123" \
-H "X-API-Key: nm_acme_abc123..."Cada objeto de activo sigue la estructura plana BiAssetDto. Todos los campos son cadenas en el nivel raíz - sin objetos anidados ni arrays.
| Field | Type | Description |
|---|---|---|
| Identificadores | ||
| pathName | string | Ruta completa del activo (ej., enterprises/acme/assets/abc123) |
| identification | string | Identificador amigable del activo |
| name | string | Nombre del dispositivo |
| description | string | Descripción del dispositivo |
| Información de Hardware | ||
| serialNumber | string | Número de serie del dispositivo |
| imeis | string | Números IMEI (separados por comas si hay múltiples) |
| brand | string | Fabricante/marca del dispositivo |
| model | string | Nombre del modelo del dispositivo |
| Estado y Marcas de Tiempo | ||
| status | string | Estado del activo (ACTIVE, INACTIVE) |
| lastSyncAt | string | Marca de tiempo de última sincronización (ISO 8601) |
| enrollmentTime | string | Marca de tiempo de inscripción del dispositivo (ISO 8601) |
| Información de Política | ||
| policyPathName | string | Ruta completa de la política asignada |
| policyDisplayName | string | Nombre legible de la política |
| policyGroupName | string | Grupo de política para categorización |
| Datos Personalizados | ||
| metadata | string | Metadatos personalizados como cadena JSON |
| tags | string | Etiquetas como cadena separada por comas |
| Sistema Operativo | ||
| operatingSystem | string | Nombre del SO (ej., Android) |
| operatingSystemVersion | string | Número de versión del SO |
La principal diferencia es la estructura de respuesta. La API Pública usa objetos anidados para organización, mientras que la API BI aplana todo para mapeo fácil de columnas.
// Public API Response (nested)
{
"pathName": "enterprises/acme/assets/abc123",
"customData": {
"metadata": { "department": "logistics" },
"tags": ["warehouse", "scanner"]
},
"specifications": {
"imeis": ["123456789012345"],
"serialNumber": "ABC123XYZ",
"brand": "Samsung"
},
"managedDevice": {
"policyPathName": "enterprises/acme/policies/warehouse"
}
}// BI API Response (flat)
{
"pathName": "enterprises/acme/assets/abc123",
"metadata": "{\"department\":\"logistics\"}",
"tags": "warehouse,scanner",
"imeis": "123456789012345",
"serialNumber": "ABC123XYZ",
"brand": "Samsung",
"policyPathName": "enterprises/acme/policies/warehouse"
}Los resultados están paginados usando el mismo formato que la API Pública. Usa los parámetros page y size para navegar por grandes conjuntos de datos.
Consejo: Para exportaciones masivas, usa size=100 (máximo) e itera por todas las páginas. Los ejemplos de Power BI y Python arriba muestran cómo obtener todas las páginas automáticamente.