In diesem Artikel erläutern wir die i-doit JSON-RPC API im Detail. Wenn Sie wissen wollen, welche Parameter für jede Methode gesetzt werden müssen/können und wie eine typische Antwort aussieht, ist dies die richtige Ressource.


Namespace idoit

Dieser Namensraum ist für gängige Methoden reserviert.

 idoit.search

idoit.search

Suchen in i-doit

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
qStringJaAbfrage, zum Beispiel: "My little server"

Antwort

JSON-Schlüsselergebnis enthält ein Array von JSON-Objekten. Jedes Objekt enthält ein Suchergebnis.

KeyJSON DatentypBeschreibung
documentIDStringIdentifikationsnummer
keyStringAttribut, das sich auf die Abfrage bezieht
valueStringWert, der sich auf die Abfrage bezieht
typeStringAdd-on oder Kernfunktionalität
linkStringRelative URL, die direkt zum Suchergebnis führt
scoreIntegerPunktevergabe (veraltet)

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "idoit.search",
    "params": {
        "q": "My little server",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

 Body:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "documentId": "1000",
            "key": "Virtual Host > Global > Title",
            "value": "My little server",
            "type": "cmdb",
            "link": "/?objID=1000&catgID=1&cateID=1029&highlight=My%20little%20server",
            "score": 0
        },
        […]
    ],
    "id": 1
}
 idoit.version

idoit.version

Informationen über i-doit und den aktuellen Benutzer abrufen

Anfrage Parameter

Keine

Antwort

Das JSON-Schlüsselergebnis enthält ein JSON-Objekt mit verschiedenen Informationen über i-doit selbst und den aktuellen Benutzer.

KeyJSON DatentypBeschreibung
loginArrayInformationen über den Benutzer, der die Anfrage durchgeführt hat; Einzelheiten siehe unten
login.useridStringObjekt-Identifikator (als numerische Zeichenfolge)
login.nameStringObjektBezeichnung
login.mailStringE-Mail-Adresse (siehe Kategorie Personen → Stammdaten)
login.usernameStringBenutzername (siehe Kategorie Personen → Login)
login.tenantStringName des Mandanten
login.languageStringSprache: "en" oder "de"
versionStringVersion des installierten i-doit
stepStringDev, alpha oder beta release
typeStringVariante: "OPEN" oder "PRO".

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "idoit.version",
    "params": {
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "login": {
            "userid": "9",
            "name": "i-doit Systemadministrator ",
            "mail": "i-doit@acme-it.example",
            "username": "admin",
            "mandator": "ACME IT Solutions",
            "language": "en"
        },
        "version": "1.10.2",
        "step": "",
        "type": "PRO"
    },
    "id": 1
}
 idoit.constants

idoit.constants

Abrufen definierter Konstanten aus i-doit

Anfrage Parameter

Keine

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
objectTypesObject

Liste der Objekttypen

Schlüssel: Objekttyp-Konstanten

Werte: Bezeichnung der übersetzten Objekttypen

categoriesObject

Liste der globalen und spezifischen Kategorien

categories.gObject

Liste der globalen Kategorien

Schlüssel: Kategorie-Konstanten

Werte: übersetzte Kategorie Bezeichnung

categories.sObject

Liste spezifischer Kategorien

Schlüssel: Kategorie-Konstanten

Werte: übersetzte Kategorie Bezeichnung

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "idoit.constants",
    "params": {
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "objectTypes": {
            "C__OBJTYPE__SERVER": "Server",
            […]
        },
        "categories": {
            "g": {
                "C__CATG__GLOBAL": "General",
                "C__CATG__MODEL": "Model",
                […]
            },
            "s": {
                "C__CATS__MONITOR": "Monitor",
                […]
            }
        }
    },
    "id": 1
}
 idoit.login

idoit.login

Neue Sitzung erstellen

Anfrage Parameter

Keine

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
resultBooleanSollte true sein
useridStringObjekt-Identifikator des eingeloggten Benutzers (als numerische Zeichenfolge)
nameStringObjektBezeichnung des eingeloggten Benutzers
mailStringAttribut E-Mail-Adresse in der Kategorie Personen → Stammdaten
usernameStringAttribut Benutzername in Kategorie Personen → Anmeldung
session-idStringGenerierter Sitzungs-Identifikator
client-idStringMandanten Identifikator (als numerische Zeichenfolge)
client-nameStringName des Mandanten

Beispiel

AnfrageAntwort

Header:

X-RPC-Auth-Username: admin
X-RPC-Auth-Password: admin

Body:

{
    "version": "2.0",
    "method": "idoit.login",
    "params": {
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Header:

X-RPC-Auth-Session: d1obs9m3d2pd8651grptjhdjg3

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "result": true,
        "userid": "9",
        "name": "i-doit Systemadministrator ",
        "mail": "i-doit@acme-it.example",
        "username": "admin",
        "session-id": "d1obs9m3d2pd8651grptjhdjg3",
        "client-id": "1",
        "client-name": "ACME IT Solutions"
    },
    "id": 1
}
AnfrageAntwort

Header:

X-RPC-Auth-Session: d1obs9m3d2pd8651grptjhdjg3

Body:

{
    "version": "2.0",
    "method": "idoit.version",
    "params": {
        "apikey": "xxx",
        "language": "en"
    },
    "id": 2
}

Header:

X-RPC-Auth-Session: d1obs9m3d2pd8651grptjhdjg3

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "login": {
            "userid": "9",
            "name": "i-doit Systemadministrator ",
            "mail": "i-doit@acme-it.example",
            "username": "admin",
            "mandator": "ACME IT Solutions",
            "language": "de"
        },
        "version": "1.9",
        "step": "",
        "type": "PRO"
    },
    "id": 2
}
AnfrageAntwort

Header:

X-RPC-Auth-Session: d1obs9m3d2pd8651grptjhdjg3

Body:

{
    "version": "2.0",
    "method": "idoit.logout",
    "params": {
        "apikey": "xxx",
        "language": "en"
    },
    "id": 3
}

Header:

X-RPC-Auth-Session: d1obs9m3d2pd8651grptjhdjg3

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "message": "Logout successfull",
        "result": true
    },
    "id": 3
}
 idoit.logout

idoit.logout

Aktuelle Sitzung schließen

Anfrage Parameter

Keine

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
messageStringSollte "Logout successfull" sein
resultBooleanSollte true sein

Beispiel

Siehe Methode idoit.login


Namespace cmdb

Dieser Namensraum bezieht sich auf alle CMDB-spezifischen Methoden wie die Behandlung von Objekten und Kategorien.

 cmdb.object.create

cmdb.object.create

Erstelle ein neues Objekt mit einigen optionalen Informationen

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
typeString|IntegerJa

Objekttyp Konstante als String, zum Beispiel: "C__OBJTYPE__SERVER".

Alternativ z.B. Objekttyp-Identifikator als Ganzzahl: 5

titleStringJaZum Beispiel Objekt Bezeichnung "My little server"
categoryStringNeinAttribut-Kategorie in Kategorie Global
purposeStringNeinAttribut Zweck in der Kategorie Global, zum Beispiel: "In production"
cmdb_statusString|IntegerNein

Attribute CMDB-Status in der Kategorie Global z. B. durch seine Konstante (String): "C__CMDB_STATUS__IN_OPERATION"

Alternativ, durch seinen Bezeichner (Ganzzahl), zum Beispiel: 6

descriptionStringNeinAttributbeschreibung in der Kategorie Global

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
idStringObjektbezeichner (als numerische Zeichenfolge)
messageStringEinige Informationen
successBooleanSollte immer true sein

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.create",
    "params": {
        "type": "C__OBJTYPE__SERVER",
        "title": "My little server",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

 {
    "jsonrpc": "2.0",
    "result": {
        "id": "42",
        "message": "Object was successfully created",
        "success": true
    },
    "id": 1
}
 cmdb.object.read

cmdb.object.read

Lesen Sie allgemeine Informationen über eine Objekt

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
idIntegerJaObjekt-Identifikator; zum Beispiel: 42

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
idStringObjektbezeichner (als numerische Zeichenfolge)
titleStringObjekt Bezeichnung
sysidStringSYSID (siehe Kategorie Global)
objecttypeStringObjekt-Typ-Identifikator (als numerische Zeichenfolge)
createdStringDatum der Erstellung; Format: Y-m-d H:i:s
updatedString

Datum der letzten Aktualisierung; Format: Y-m-d H:i:s

Hinweis: Dieser Schlüssel ist optional, da nicht jedes Objekt zuvor aktualisiert wurde.

type_titleStringÜbersetzter Name des Objekttyps
type_iconStringRelative URL zum Objekttyp-Symbol
statusString

Objekt status:

  • C__RECORD_STATUS__BIRTH
    Status-ID = 1
    Bezeichnung = Unfertig
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 2

    Bezeichnung = Normal
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 3

    Bezeichnung = Archiviert
  • C__RECORD_STATUS__DELETED
    Status-ID = 4

    Bezeichnung = Gelöscht
  • C__RECORD_STATUS__TEMPLATE
    Status-ID = 6

    Bezeichnung = Vorlage
  • C__RECORD_STATUS__MASS_CHANGES_TEMPLATE
    Status-ID = 7

    Bezeichnung = Vorlage für Massenänderung
cmdb_statusStringCMDB-Status (siehe Kategorie Global; als numerische Zeichenfolge)
cmdb_status_titleStringÜbersetzter CMDB-Status (siehe Kategorie Global)
imageStringURL zum Objektbild

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.read",
    "params": {
        "id": 1000,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

 {
    "jsonrpc": "2.0",
    "result": {
        "id": "1000",
        "title": "ESXi1",
        "sysid": "VHOST_1426338622",
        "objecttype": "58",
        "type_title": "Virtual host",
        "type_icon": "images/icons/silk/server_database.png",
        "status": "2",
        "cmdb_status": "6",
        "cmdb_status_title": "in operation",
        "created": "2015-03-14 14:10:22",
        "updated": "2017-04-26 10:22:20",
        "image": "http://demo.synetics.int/pro/images/objecttypes/server.png"
    },
    "id": 1
}
 cmdb.object.update

cmdb.object.update

Objekt ändern, z.B. Bezeichnung eines Objekts

Anfrage Parameter

KeyJSON DatentypErforderlichDescription
idIntegerJaObjekt-Identifikator, zum Beispiel: 42
titleStringJaNeue Objekt Bezeichnung, zum Beispiel: "Your little server"

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
messageStringSollte "Object title was successfully updated" sein
successBooleanSollte true sein

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.update",
    "params": {
        "id": 42,
        "title": "Your little server",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "message": "Object title was successfully updated",
        "success": true
    },
    "id": 1
}
 cmdb.object.delete

cmdb.object.delete

Löscht ein Objekt

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
idIntegerJaObjekt-Identifikator, zum Beispiel: 42
statusStringJa

Status Konstante:

  • "C__RECORD_STATUS__ARCHIVED": Archiviertes Objekt
  • "C__RECORD_STATUS__DELETED": Objekt als gelöscht markieren
  • "C__RECORD_STATUS__PURGE": Objekt aus der Datenbank bereinigen

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.delete",
    "params": {
        "id": 42,
        "status": "C__RECORD_STATUS__ARCHIVED",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "message": "Object(s) successfully archived!",
        "success": true
    },
    "id": 1
}
 cmdb.object.recycle

cmdb.object.recycle

Wiederherstellen eines Objekts

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 464

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.recycle",
    "params": {
        "object": 464,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Object 464 has been recycled."
    }
}
 cmdb.object.archive

cmdb.object.archive

Archiviert ein Objekt

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Yes

Objekt-Identifikator, zum Beispiel: 464

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.archive",
    "params": {
        "object": 464,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Object 464 has been archived."
    }
}
 cmdb.object.purge

cmdb.object.purge

Löscht ein Objekt

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 464

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.purge",
    "params": {
        "object": 464,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Object 464 has been purged."
    }
}
 cmdb.object.markAsTemplate

cmdb.object.markAsTemplate

Setze den Objekt Zustand auf Vorlage

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 465

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.markAsTemplate",
    "params": {
        "object": 465,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Object 465 has been marked as template."
    }
}
 cmdb.object.markAsMassChangeTemplate

cmdb.object.markAsMassChangeTemplate

Setze den Objekt Zustand auf MassenänderungTemplate

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 465

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.object.markAsMassChangeTemplate",
    "params": {
        "object": 465,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Object 465 has been marked as mass change template."
    }
}
 cmdb.objects.read

cmdb.objects.read

Hole eine Liste von Objekten

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
categoriesArrayNeinHier kann nach einer Liste oder einer Kategorie, in Form von Kategorie Konstante/n, gefiltert werden.
"categories": ["C__CATG__MY_CUSTOM_CATEGORY"]
"categories": ["C__CATG__MY_CUSTOM_CATEGORY", "C__CATG__MY_SECOND_CATEGORY"]
filterArrayNeinListe der Objekte filtern; siehe unten für eine vollständige Liste der Optionen
limitMixedNein

Maximale Anzahl von Objekten (als ganze Zahl), z.B. die ersten tausend Objekte abrufen: 1000

Kombinieren Sie diese Grenze mit einem Offset (als Zeichenkette), z.B. holen Sie die nächsten tausend Objekte: "1000,1000"

order_byStringNein

Ordnen Sie das Ergebnis nach (siehe Filter für weitere Details, was jeder Wert bedeutet):

  • "isys_obj_type__id",
  • "isys_obj__isys_obj_type__id",
  • "type",
  • "isys_obj__title",
  • "title",
  • "isys_obj_type__title",
  • "type_title",
  • "isys_obj__sysid",
  • "sysid",
  • "isys_cats_person_list__first_name",
  • "first_name",
  • "isys_cats_person_list__last_name",
  • "last_name",
  • "isys_cats_person_list__mail_address",
  • "email",
  • "isys_obj__id", or
  • "id"
sortStringNeinNur sinnvoll in Kombination mit Schlüssel order_by; erlaubte Werte sind entweder "ASC" (aufsteigend) oder "DESC" (absteigend)

Filter

KeyJSON DatentypErforderlichBeschreibung
idsArrayNeinListe von Objekt-Identifikatoren (als ganze Zahlen), zum Beispiel: [1, 2, 3]
typeInteger|StringNein

Objekttyp-Identifikator (als ganze Zahl), zum Beispiel: 5

Alternativ Objekttyp-Konstante (als String), z.B.: "C__OBJTYPE__SERVER"

titleStringNeinObjekt Bezeichnung (siehe Attribut Bezeichnung in Kategorie Global), z.B.: "My little server"
type_titleStringNein

Übersetzter Name des Objekttyps, zum Beispiel: "Server"

Hinweis: Stellen Sie in Ihrer Anfrage eine geeignete Sprache ein..

sysidStringNeinSYSID (siehe Kategorie Global), zum Beispiel: "SRV_101010"
first_nameStringNeinVorname eines Objekts vom Typ Personen (siehe Attribut Vorname in der Kategorie Personen → Stammdaten), z.B.: "John"
last_nameStringNeinNachname eines Objekts vom Typ Personen (siehe Attribut Nachname in der Kategorie Personen → Stammdaten), z.B.: "Doe"
emailStringNein

Primäre E-Mail-Adresse eines Objekts vom Typ Personen, Personengruppen oder Organisation (siehe Attribut E-Mail-Adresse in den Kategorien Personen/Personengruppen/Organisation → Stammdaten), zum Beispiel: "john.doe@example.com"

type_groupStringNein

Filter nach der Objekt Typ Gruppe z.B. Infrastructure oder Andere:
"C__OBJTYPE_GROUP__INFRASTRUCTURE"

statusString

Filter nach Status der Objekte z.B. Normal oder Archiviert:

  • C__RECORD_STATUS__BIRTH
    Status-ID = 1
    Bezeichnung = Unfertig
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 2

    Bezeichnung = Normal
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 3

    Bezeichnung = Archiviert
  • C__RECORD_STATUS__DELETED
    Status-ID = 4

    Bezeichnung = Gelöscht
  • C__RECORD_STATUS__TEMPLATE
    Status-ID = 6

    Bezeichnung = Vorlage
  • C__RECORD_STATUS__MASS_CHANGES_TEMPLATE
    Status-ID = 7

    Bezeichnung = Vorlage für Massenänderung

Sie können eine beliebige Kombination von Filtern verwenden. Filter sind logisch mit UND verknüpft. Eine gültige Kombination könnte sein: "Gib mir alle Server, die den gleichen Hostnamen haben."

Antwort

JSON-Schlüsselergebnis enthält ein Array von JSON-Objekten. Jedes Objekt enthält ein Bündel von Informationen über ein i-doit-Objekt.

KeyJSON DatentypBeschreibung
idStringObjektbezeichner (als numerische Zeichenfolge)
titleStringObjekt Bezeichnung
sysidStringSYSID (siehe Kategorie Global)
typeStringObjekt-Typ-Identifikator (als numerische Zeichenfolge)
createdStringDatum der Erstellung; Format: Y-m-d H:i:s
updatedString

Datum der letzten Aktualisierung; Format: Y-m-d H:i:s

Hinweis: Dieser Schlüssel ist optional, da nicht jedes Objekt zuvor aktualisiert wurde..

type_titleStringÜbersetzter Name des Objekttyps
type_group_titleStringÜbersetzter Name der Objekttypgruppe
statusString

Objekt status:

  • C__RECORD_STATUS__BIRTH
    Status-ID = 1
    Bezeichnung = Unfertig
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 2

    Bezeichnung = Normal
  • C__RECORD_STATUS__ARCHIVED
    Status-ID = 3

    Bezeichnung = Archiviert
  • C__RECORD_STATUS__DELETED
    Status-ID = 4

    Bezeichnung = Gelöscht
  • C__RECORD_STATUS__TEMPLATE
    Status-ID = 6

    Bezeichnung = Vorlage
  • C__RECORD_STATUS__MASS_CHANGES_TEMPLATE
    Status-ID = 7

    Bezeichnung = Vorlage für Massenänderung
cmdb_statusStringCMDB-Status (siehe Kategorie Global; als numerische Zeichenfolge)
cmdb_status_titleStringÜbersetzter CMDB-Status (siehe Kategorie Global)
imageStringURL zum Objektbild
categoriesMixedOptionale Attribute mit Werten abhängig von der angeforderten Kategorie

Beispiel

AnfrageAntwort

Body:

 {
    "version": "2.0",
    "method": "cmdb.objects.read",
    "params": {
        "filter": {
            "type": "C__OBJTYPE__SERVER",
			"status": "C__RECORD_STATUS__ARCHIVED"
        },
        "limit": "0,10",
        "order_by": "title",
        "sort": "ASC",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "id": "123",
            "title": "My little server",
            "sysid": "SRV_101010",
            "type": "5",
            "created": "2017-03-07 15:57:48",
            "updated": "2017-05-10 15:40:27",
            "type_title": "Server",
            "type_group_title": "Hardware",
            "status": "3",
            "cmdb_status": "6",
            "cmdb_status_title": "in operation",
            "image": "https://demo.i-doit.com/images/objecttypes/empty.png"
        },
        […]
    ]
}
 cmdb.category.save

cmdb.category.save

Kategorieeintrag eines Objekts erstellen oder aktualisieren.

Es funktioniert für multi-value Kategorien und single-value Kategorien.

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 456

category

String

Ja

Kategoriekonstante, zum Beispiel: "C__CATG__ACCESS"

data

Object

Ja

{

 "title":”Name of the access”,

  "description":”description of the access

}

Antwort

Objekt-Identifikator, zum Beispiel

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

entry

Integer

Eintragsidentifikator, zum Beispiel: 35

Beispiel

Create

AnfrageAntwort

Body:

 {
    "version": "2.0",
    "method": "cmdb.category.save",
    "params": {
        "object": 456,
        "data": {
            "title":”Name of the access”,
            "description":”description of the access”
        },
        "category": "C__CATG__ACCESS"
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Category entry successfully saved",          
        "entry": 35
    }
}


Update

AnfrageAntwort

Body:

{
  "version": "2.0",
  "method": "cmdb.category.save",
  "params": {
    "object": 456,
    "data": {
      "manufacturer": "Name of manufacturer",
      "title": "Name of model"
    },
    "category": "C__CATG__MODEL",
    "entry": 24,
    "apikey": "xxx",
    "language": "en"
  },
  "id": 1
}

Body:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "success": true,
    "message": "Category entry successfully saved",
    "entry": 24
  }
}
 cmdb.category.create

cmdb.category.create

Einen neuen Kategorieeintrag erstellen

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
objIDIntegerJaObjekt-Identifikator, zum Beispiel: 42
categoryStringJaKategoriekonstante, zum Beispiel: C__CATG__MODEL
dataObjectJa

Attribute mit ihren Werten, zum Beispiel:

{
    "manufacturer": "Name of manufacturer",
    "title": "Name of model"
}

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
idStringEintragsidentifikator (als numerische Zeichenfolge)
messageStringEinige Informationen
successBooleanSollte immer true sein

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.create",
    "params": {
        "objID": 42,
        "data": {
            "manufacturer": "Name of manufacturer",
            "title": "Name of model"
        },
        "category": "C__CATG__MODEL",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

 {
    "jsonrpc": "2.0",
    "result": {
        "id": "123",
        "message": "Category entry successfully created.",
        "success": true
    },
    "id": 1
}
 cmdb.category.read

cmdb.category.read

Lesen Sie einen oder mehrere Kategorieeinträge für ein Objekt

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
objIDIntegerJaObjekt-Identifikator, zum Beispiel: 42
categoryStringJaKategorie-Konstante, zum Beispiel: "C__CATG__MODEL"

Antwort

JSON-Schlüsselergebnis enthält ein Array von JSON-Objekten. Jedes Objekt enthält alle verfügbaren Attribute für die angeforderte Kategorie. Hinweis: Auch wenn es sich um eine single-value Kategorie oder eine multi-value Kategorie mit nur 1 Eintrag handelt, enthält das JSON-Schlüsselergebnis immer ein Array von JSON-Objekten.

KeyJSON DatentypBeschreibung
idStringEingabe-Identifikator (als numerische Zeichenfolge)
objIDStringObjektbezeichner (als numerische Zeichenfolge)
MixedOptionale Attribute mit Werten abhängig von der angeforderten Kategorie

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.read",
    "params": {
        "objID": 1000,
        "category": "C__CATG__MODEL",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

 Body:

 {
    "jsonrpc": "2.0",
    "result": [
        {
            "id": "74",
            "objID": "1000",
            "manufacturer": {
                "id": "2",
                "title": "Lenovo",
                "const": null,
                "title_lang": "Lenovo"
            },
            "title": {
                "id": "1",
                "title": "ThinkServer RD350",
                "const": null,
                "title_lang": "ThinkServer RD350"
            },
            "productid": "",
            "service_tag": "",
            "serial": "123000999888",
            "firmware": "",
            "description": ""
        }
    ],
    "id": 1
}
 cmdb.category.update

cmdb.category.update

Kategorieeintrag eines Objekts aktualisieren

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
objIDIntegerJaObjekt-Identifikator, zum Beispiel: 42
categoryStringJaKategorie-Konstante, zum Beispiel: "C__CATG__MODEL"
dataObjectJa

Attribute, die aktualisiert werden

data.category_idIntegerJaEintrags-Identifikator (nur bei multi-value Kategorien erforderlich)

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
successBooleanSollte true sein
messageStringSollte "Category entry successfully saved" lauten

Beispiel

AnfrageAntwort

Body:

 {
    "version": "2.0",
    "method": "cmdb.category.update",
    "params": {
        "objID": 42,
        "category": "C__CATG__MODEL",
        "data": {
            "serial": "123abc"
        },
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Category entry successfully saved"
    },
    "id": 1
}
 cmdb.category.delete

cmdb.category.delete

Einen Kategorieeintrag für ein Objekt archivieren, als gelöscht markieren oder aus der Datenbank bereinigen

Einschränkungen

  • Dies funktioniert zur Zeit nur mit multi-value Kategorien.
  • Sie können nur Kategorieeinträge archivieren, die einen normalen Status haben.
  • Sie können nur Kategorieeinträge als gelöscht markieren, die archiviert sind.
  • Sie können nur Kategorieeinträge aus der Datenbank bereinigen, die als gelöscht markiert sind..

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
objIDIntegerJaObjekt-Identifikator, zum Beispiel: 42
categoryStringJaKategorie-Konstante, zum Beispiel: "C__CATG__IP"
cateIDIntegerJaEintrags-Identifikator, zum Beispiel: 3

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
successBooleanSollte true sein
messageStringEinige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.delete",
    "params": {
        "objID": 42,
        "category": "C__CATG__IP",
        "cateID": 3,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Category entry '3' successfully deleted"
    },
    "id": 1
}
 cmdb.category.quickpurge

cmdb.category.quickpurge

Wenn Quickpurge aktiviert ist, bereinigen Sie einen Kategorieeintrag eines Objekts direkt aus der Datenbank.

Anfrage Parameter

KeyJSON DatentypErforderlichBeschreibung
objIDIntegerJaObjekt-Identifikator, zum Beispiel: 42
categoryStringJaKategorie-Konstante, zum Beispiel: "C__CATG__IP"
cateIDIntegerJaEintrags-Identifikator, zum Beispiel: 3

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

KeyJSON DatentypBeschreibung
successBooleanSollte true sein
messageStringEinige Informationen

Beispiel

AnfrageAntwort

Body:

 {
    "version": "2.0",
    "method": "cmdb.category.quickpurge",
    "params": {
        "objID": 42,
        "category": "C__CATG__IP",
        "cateID": 3,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

 {
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Category entry '3' successfully purged"
    },
    "id": 1
}
 cmdb.category.purge

cmdb.category.purge

Bereinigen eines Kategorieeintrags eines Objekts.
Es funktioniert bei multi-value Kategorien und single-value Kategorien.

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 456

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__ACCESS"

entry

Integer

Ja

Eintrags-Identifikator, zum Beispiel: 33

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

 {
    "version": "2.0",
    "method": "cmdb.category.purge",
    "params": {
        "object": 456,
        "category": "C__CATG__ACCESS",
        "entry": 33,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Entry 33 has been successfully purged from 4 to 5."
    }
}

oder

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.purge",
    "params": {
        "object": 456,
        "category": "C__CATG__MODEL",
        "entry": 24,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Entry 24 has been successfully purged from 2 to 5."
    }
}
 cmdb.category.recycle

cmdb.category.recycle

Einschränkungen

  • Dies funktioniert zur Zeit nur mit multi-value Kategorien.
  • Sie können Kategorieeinträge, die den Status archiviert oder gelöscht haben, wiederherstellen.

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 456

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__ACCESS"

entry

Integer

Ja

Eintrags-Identifikator, zum Beispiel: 32

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.recycle",
    "params": {
        "object": 456,
        "category": "C__CATG__ACCESS",
        "entry": 32,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Entry 32 has been successfully recycled from 4 to 2."
    }
}
 cmdb.category.archive

cmdb.category.archive

Limitations

  • Dies funktioniert zur Zeit nur mit multi-value Kategorien.
  • Sie können nur Kategorieeinträge archivieren, die einen normalen Status haben.

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

object

Integer

Ja

Objekt-Identifikator, zum Beispiel: 456

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__ACCESS"

entry

Integer

Ja

Eintrags-Identifikator, zum Beispiel: 32

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

message

String

Einige Informationen

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.category.archive",
    "params": {
        "object": 456,
        "category": "C__CATG__ACCESS",
        "entry": 32,
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "message": "Entry 32 has been successfully archived from 2 to 3."
    }
}
 cmdb.dialog.read

cmdb.dialog.read

Lese die Dialoginformationen.

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__CPU"

property

String

Ja

Attribut in der Kategorie, zum Beispiel: “manufacturer”

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

id

Integer

Identifikator

const

String

Konstante des Dialog-Attributs

title

String

Bezeichnung des Attributs

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.dialog.read",
    "params": {
        "category": "C__CATG__CPU",
        "property": "manufacturer",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": [
        {
            "id": "1",
            "const": "",
            "title": "AMD"
        },
        {
            "id": "2",
            "const": "",
            "title": "Intel"
        }
    ]
}
 cmdb.dialog.create

cmdb.dialog.create

Dialoge erstellen

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

category

String

Yes

Kategorie-Konstante, zum Beispiel: "C__CATG__CPU"

property

String

Yes

Attribut in der Kategorie, zum Beispiel: "Hersteller"

value

String

Yes

Wert des Attributs

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

entry_id

Integer

Eintrags-Identifikator, zum Beispiel

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.dialog.create",
    "params": {
        "category": "C__CATG__CPU",
        "property": "manufacturer",
        "value": "IBM",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "entry_id": 3
    }
}
 cmdb.dialog.update

cmdb.dialog.update

Einen Dialogeintrag aktualisieren

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__CPU"

property

String

Ja

Attribut in der Kategorie, zum Beispiel: “manufacturer”

value

String

Ja

Wert des Attributs

entry_id

String

Ja

Eintrags-Identifikator, zum Beispiel: 3

Anfrage

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

entry_id

Integer/String

Eintrags-Identifikator, zum Beispiel: 3

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.dialog.update",
    "params": {
        "category": "C__CATG__CPU",
        "property": "manufacturer",
        "entry_id": "3",
        "value": "IBM 2",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "entry_id": 3
    }
}
 cmdb.dialog.delete

cmdb.dialog.delete

Löscht Dialoge

Anfrage Parameter

Key

JSON Datentyp

Erforderlich

Beschreibung

category

String

Ja

Kategorie-Konstante, zum Beispiel: "C__CATG__CPU"

property

String

Ja

Attribut in der Kategorie, zum Beispiel: “manufacturer”

entry_id

String

Ja

Eintrags-Identifikator, zum Beispiel: 3

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt..

Key

JSON Datentyp

Beschreibung

success

Boolean

Sollte true sein

entry_id

Integer/String

Eintrags-Identifikator, zum Beispiel: 3

Beispiel

AnfrageAntwort

Body:

{
    "version": "2.0",
    "method": "cmdb.dialog.delete",
    "params": {
        "category": "C__CATG__CPU",
        "property": "manufacturer",
        "entry_id": "3",
        "apikey": "xxx",
        "language": "en"
    },
    "id": 1
}

Body:

{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "success": true,
        "entry_id": "3"
    }
}
 cmdb.reports.read

cmdb.reports.read

Bericht anzeigen.

Anfrage Parameter

Keine

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt.

Key

JSON Datentyp

Beschreibung

id

String

Identifikator

category

String

Attribut-Kategorie in Kategorie Global

title

String

Bezeichnung des Berichts

description

String

Beschreibung des Berichts

created

String

Wann wurde er erstellt

Beispiel

AnfrageAntwort

Body:

{
  "version": "2.0",
  "method": "cmdb.reports.read",
  "params": {
    "apikey": "xxx",
    "language": "en"
  },
  "id": 1
}

Body:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": [
    {
      "id": "11",
      "category": "Changes",
      "title": "Changed objects from today",
      "description": "Shows objects which have been created or changed for today. Relation objects are excluded.",
      "created": "2016-08-31 15:23:17"
    },
    {
      "id": "7",
      "category": "Changes",
      "title": "Changed objects last 24 hours",
      "description": "Shows objects which have been created or changed for the last 24 hours. Relation objects are excluded.",
      "created": "2016-08-31 15:09:36"
    },
    {
      "id": "8",
      "category": "Changes",
      "title": "Changed objects last 7 days",
      "description": "Shows objects which have been created or changed for the last 7 days. Relation objects are excluded.",
      "created": "2016-08-31 15:11:29"
    }
  ]
}


Oder Sie können auch den Parameter "id" in Ihrer Anfrage verwenden, um den entsprechenden Bericht zu erhalten

Anfrage Parameter

Key

JSON Datentyp

Beschreibung

id

String

Identifikator

Antwort

JSON-Schlüsselergebnis enthält ein JSON-Objekt..

AnfrageAntwort

Body:

{
  "version": "2.0",
  "method": "cmdb.reports.read",
  "params": {
    "id": "3",
    "apikey": "xxx",
    "language": "en"
  },
  "id": 1
}

Body:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": [
    {
      "Title": "backup001",
      "Object type": "LC__CMDB__OBJTYPE__SERVER",
      "Last change": "<span data-date=\"2020-02-14 08:34:02\" class=\"hide\"></span>2020-02-14 - 08:34",
      "Last change by": "admin"
    },
    {
      "Title": "Backup Server",
      "Object type": "LC__CMDB__OBJTYPE__VIRTUAL_SERVER",
      "Last change": "<span data-date=\"2020-02-14 08:23:50\" class=\"hide\"></span>2020-02-14 - 08:23",
      "Last change by": "admin"
    }
  ]
}