Endpoint de Ativos BI
Acesse dados de ativos em formato simplificado otimizado para ferramentas de Business Intelligence. Todos os campos estão no nível raiz para mapeamento direto de colunas.
Diferença Principal da API Pública
A API BI retorna uma estrutura completamente plana - sem objetos aninhados. Isso a torna perfeita para ferramentas que esperam dados tabulares:
- •Todos os campos estão no nível superior (sem aninhamento)
- •Arrays são convertidos em strings separadas por vírgulas
- •Objetos são serializados como strings JSON
Endpoints Disponíveis
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/bi/v1/assets | Listar todos os ativos em formato simplificado |
| GET | /api/bi/v1/assets/count | Obter contagem total de ativos |
| GET | /api/bi/v1/assets/{assetId} | Obter um ativo específico por ID |
/assetsListar Todos os Ativos
Retorna uma lista paginada de ativos com todos os campos simplificados no nível raiz. Ideal para exportação em massa de dados para ferramentas BI.
Parâmetros de Consulta
| Parameter | Type | Description |
|---|---|---|
| status | string | Filtrar por status do ativo (ex., ACTIVE, INACTIVE) |
| policy | string | Filtrar por nome do caminho da política atribuída |
| page | integer | Número da página (indexado a partir de 0, padrão: 0) |
| size | integer | Tamanho da página (padrão: 20, máximo: 100) |
| sort | string | Campo de ordenação e direção (ex., 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/countObter Contagem de Ativos
Retorna a contagem total de ativos que correspondem aos critérios de filtro. Útil para cálculos de paginação.
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}Obter Ativo Específico
Retorna um único ativo em formato simplificado pelo seu ID de ativo.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/asset_abc123" \
-H "X-API-Key: nm_acme_abc123..."Esquema BiAssetDto
Cada objeto de ativo segue a estrutura plana BiAssetDto. Todos os campos são strings no nível raiz - sem objetos aninhados ou arrays.
| Field | Type | Description |
|---|---|---|
| Identificadores | ||
| pathName | string | Caminho completo do ativo (ex., enterprises/acme/assets/abc123) |
| identification | string | Identificador amigável do ativo |
| name | string | Nome do dispositivo |
| description | string | Descrição do dispositivo |
| Informações de Hardware | ||
| serialNumber | string | Número de série do dispositivo |
| imeis | string | Números IMEI (separados por vírgulas se múltiplos) |
| brand | string | Fabricante/marca do dispositivo |
| model | string | Nome do modelo do dispositivo |
| Status e Timestamps | ||
| status | string | Status do ativo (ACTIVE, INACTIVE) |
| lastSyncAt | string | Timestamp da última sincronização (ISO 8601) |
| enrollmentTime | string | Timestamp de inscrição do dispositivo (ISO 8601) |
| Informações de Política | ||
| policyPathName | string | Caminho completo da política atribuída |
| policyDisplayName | string | Nome legível da política |
| policyGroupName | string | Grupo de política para categorização |
| Dados Personalizados | ||
| metadata | string | Metadados personalizados como string JSON |
| tags | string | Tags como string separada por vírgulas |
| Sistema Operacional | ||
| operatingSystem | string | Nome do SO (ex., Android) |
| operatingSystemVersion | string | Número da versão do SO |
API Pública vs API BI
A principal diferença é a estrutura de resposta. A API Pública usa objetos aninhados para organização, enquanto a API BI simplifica tudo para mapeamento fácil de colunas.
API Pública (Aninhada)
// 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"
}
}API BI (Plana)
// 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"
}Paginação
Os resultados são paginados usando o mesmo formato da API Pública. Use os parâmetros page e size para navegar por grandes conjuntos de dados.
Dica: Para exportações em massa, use size=100 (máximo) e itere por todas as páginas. Os exemplos de Power BI e Python acima mostram como buscar todas as páginas automaticamente.