Loading...
Loading...
Uzyskaj dostęp do danych zasobów w spłaszczonym formacie zoptymalizowanym dla narzędzi Business Intelligence. Wszystkie pola znajdują się na najwyższym poziomie, co ułatwia bezpośrednie mapowanie kolumn.
API BI zwraca całkowicie płaską strukturę - brak zagnieżdżonych obiektów. To sprawia, że jest idealne dla narzędzi oczekujących danych tabelarycznych:
| Metoda | Punkt końcowy | Opis |
|---|---|---|
| GET | /api/bi/v1/assets | Lista wszystkich zasobów w spłaszczonym formacie |
| GET | /api/bi/v1/assets/count | Uzyskaj całkowitą liczbę zasobów |
| GET | /api/bi/v1/assets/{assetId} | Uzyskaj konkretny zasób według ID |
/assetsZwraca stronicowaną listę zasobów ze wszystkimi polami spłaszczonymi do poziomu głównego. Idealne do masowego eksportu danych do narzędzi BI.
| Parameter | Type | Description |
|---|---|---|
| status | string | Filtruj według statusu zasobu (np. AKTYWNY, NIEAKTYWNY) |
| policy | string | Filtruj według nazwy ścieżki przypisanej polityki |
| page | integer | Numer strony (indeksowany od 0, domyślnie: 0) |
| size | integer | Rozmiar strony (domyślnie: 20, maks.: 100) |
| sort | string | Pole sortowania i kierunek (np. 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/countZwraca całkowitą liczbę zasobów pasujących do kryteriów filtrowania. Przydatne do obliczeń paginacji.
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}Zwraca pojedynczy zasób w spłaszczonym formacie według jego identyfikatora.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/asset_abc123" \
-H "X-API-Key: nm_acme_abc123..."Każdy obiekt zasobu podąża za płaską strukturą BiAssetDto. Wszystkie pola są ciągami znaków na poziomie głównym - brak zagnieżdżonych obiektów lub tablic.
| Field | Type | Description |
|---|---|---|
| Identyfikatory | ||
| pathName | string | Pełna ścieżka zasobu (np. enterprises/acme/assets/abc123) |
| identification | string | Przyjazny identyfikator zasobu |
| name | string | Nazwa urządzenia |
| description | string | Opis urządzenia |
| Informacje o sprzęcie | ||
| serialNumber | string | Numer seryjny urządzenia |
| imeis | string | Numery IMEI (rozdzielone przecinkami, jeśli jest ich wiele) |
| brand | string | Producent/marka urządzenia |
| model | string | Nazwa modelu urządzenia |
| Status i znaczniki czasu | ||
| status | string | Status zasobu (AKTYWNY, NIEAKTYWNY) |
| lastSyncAt | string | Znacznik czasu ostatniej synchronizacji (ISO 8601) |
| enrollmentTime | string | Znacznik czasu rejestracji urządzenia (ISO 8601) |
| Informacje o polisie | ||
| policyPathName | string | Pełna ścieżka przypisanej polityki |
| policyDisplayName | string | Czytelna dla człowieka nazwa polityki |
| policyGroupName | string | Grupa polityk do kategoryzacji |
| Dane niestandardowe | ||
| metadata | string | Niestandardowe metadane jako ciąg znaków JSON |
| tags | string | Tagi jako ciąg znaków oddzielony przecinkami |
| System operacyjny | ||
| operatingSystem | string | Nazwa systemu operacyjnego (np. Android) |
| operatingSystemVersion | string | Numer wersji systemu operacyjnego |
Główna różnica polega na strukturze odpowiedzi. Public API wykorzystuje zagnieżdżone obiekty do organizacji, podczas gdy BI API spłaszcza wszystko dla łatwego mapowania kolumn.
// 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"
}Wyniki są stronicowane przy użyciu tego samego formatu co Public API. Użyj parametrów page i size, aby nawigować po dużych zbiorach danych.
Wskazówka: Do eksportu masowego użyj size=100 (maksymalnie) i iteruj przez wszystkie strony. Powyższe przykłady Power BI i Python pokazują, jak automatycznie pobrać wszystkie strony.