Datenmodell
Rekonstruiert aus den JSON-Antworten der Agent-API. Feldtypen sind aus den Beispieldaten abgeleitet; „ref“ bedeutet Fremdschlüssel auf eine andere Entität.
Agent 1───n Device 1───n Supply
│ └── TonerThreshold
├───n Counter
├─── Location ─── Customer
├─── DeviceGroup ─── RecipientGroup n─n Recipient
└─── AlertSet 1───n AlertSetEntry
Login n─── Agent (Rollen-Flags, assignedGroups, assignedAgents)
Contract ─── Device | DeviceGroup | globalGET /json/system/agentInfoIdentität und Lizenzzähler der laufenden Agent-Instanz.
| Feld | Typ | Hinweis |
|---|---|---|
| agentId | uuid | — |
| agentMac | string | — |
| dealerNo | string | — |
| widgetServiceBooked / thinAgentServiceBooked | bool | — |
| clientLicenses / activatedClientLicenses / assignedLicenses / missingLicenses / neededLicenses | int | — |
| managedDevices / unmanagedDevices | int | — |
| supportUntil / licenseInfo.licenseUntil | date / ms-epoch | — |
| flatEnabled | bool | — |
GET /json/backend/getLoginBenutzerkonto inkl. Rollen-Flags. userPassword ist MD5-gehasht.
| Feld | Typ | Hinweis |
|---|---|---|
| userId, contactId | uuid | — |
| userLogin | string | — |
| userPassword | md5-hash | — |
| manage* / monitorDevices / viewStatistics / useServiceModule / useSoapService | bool | siehe Berechtigungstabelle |
| assignedGroups, assignedAgents | json-array (string) | — |
| serverMode / agentMode / isFlat | bool | — |
| deviceWebProtocol | "http"|"https" | — |
| deviceWebAddress | "ipAddress"|… | — |
| supportUntil, licenseUntil | date | — |
| loginType | int | — |
GET /json/devices/printDevicesPaging, /json/devices/getDeviceVerwalteter Drucker. Verknüpft mit Location, Gerätegruppe, Modell/Hersteller-Definition.
| Feld | Typ | Hinweis |
|---|---|---|
| deviceId | uuid | — |
| ipAddress, hostname, macAddress | string | — |
| serialNumber, assetNumber, contractNo, costCenter | string | — |
| manufacturerId, modelId | ref → Definition | — |
| locationId, deviceGroupId | ref | — |
| snmpConfigId | ref → snmpConfig | — |
| counters | 1:n → Counter | — |
| supplies | 1:n → Supply | — |
| alertSetId | ref → AlertSet | — |
| recordTimestamp | timestamp | — |
GET /json/devices/supplyParts(Paging)Toner, Waste-Box, Fuser, OPC etc. je Gerät.
| Feld | Typ | Hinweis |
|---|---|---|
| supplyId | uuid | — |
| deviceId | ref → Device | — |
| type | "mono"|"color"|"waste"|"fuser"|"opc"|… | — |
| level | int (0–100) | — |
| orderState | enum | — |
| thresholdId | ref → TonerThreshold | — |
GET /json/statistics/counter*Zählerstände pro Gerät und Zeit (stündlich, täglich, historisch).
| Feld | Typ | Hinweis |
|---|---|---|
| deviceId | ref → Device | — |
| counterName | string (siehe tCounterNames) | — |
| value | long | — |
| timestamp | datetime | — |
GET /json/master/contacts/*Kunden, Standorte, Empfänger für Benachrichtigungen.
| Feld | Typ | Hinweis |
|---|---|---|
| contactId | uuid | — |
| customerId, clientId | ref | — |
| locationId | ref → Location | — |
| recipientType | enum → recipientTypes | — |
| string | — | |
| assignedGroups | 1:n → RecipientGroup | — |
GET /json/master/contacts/recipientGroupsEmpfängergruppen; können aus Gerätegruppen erzeugt werden.
| Feld | Typ | Hinweis |
|---|---|---|
| groupId | uuid | — |
| groupName | string | — |
| recipients | n:m → Recipient | — |
| linkedDeviceGroupId | ref (optional) | — |
GET /json/system/alertSets, /json/system/alertSetEntriesRegelwerke für Alarme; herstellerspezifisch oder eigener Satz.
| Feld | Typ | Hinweis |
|---|---|---|
| setId | string | — |
| setName | string | — |
| isPublic, isDefault | bool | — |
| version, recordTimestamp | int / timestamp | — |
GET /json/system/tonerThresholdsSchwellenwerte für Nachbestellung/Wechsel je Verbrauchsteil.
| Feld | Typ | Hinweis |
|---|---|---|
| thresholdId, thresholdName, thresholdDesc | string | — |
| monoTonerThreshold / colorTonerThreshold | int (%) | — |
| wasteBoxThreshold / fuserThreshold / opcThreshold / otherSuppliesThreshold | int (%) | — |
| tonerThresholdDays / DaysDropPercent / DaysMinLevel | int | — |
| thresholdType | enum → thresholdTypes | — |
| isPublic, isActive | bool | — |
| specificTonerThresholds | map | — |
GET /json/system/contractVolumen-/Klick-Kontingent; global oder je Gerät/Gruppe.
| Feld | Typ | Hinweis |
|---|---|---|
| contractId | uuid | — |
| deviceId / deviceGroupId | ref (0 = global) | — |
| isGlobal | bool | — |
| contingentMono / contingentColor | int | — |
| contingentThresholdMono / Color | int (%) | — |
| type | "disabled"|… | — |
GET /json/system/licensesLizenzschlüssel, Aktivierungen, Laufzeiten.
| Feld | Typ | Hinweis |
|---|---|---|
| licenseId, baseLicenseId | int | — |
| keyType | "DemoKey"|… | — |
| productType | "SCAgent"|… | — |
| agentId | ref → Agent | — |
| numberOfLicesenses, activatedLicesenses, activatedSupportLicesenses | int | SIC – Feldname im Original |
| runtimeUnitLicense / runtimeLicense, runtimeUnitSupport / runtimeSupport | enum + int | — |
| activationDate, deactivationDate, licenseDate | date | — |
| deactivated, invalid | bool | — |