Hallo Leo,
Vielen Dank für den Codeschnipsel. Damit konnte ich die Aufgabe lösen.
Als "Test-Client" verwende ich Postman, implementiert wird das in einer Delphi-Applikation.
Viele Grüße
René
Hallo Leo,
Vielen Dank für den Codeschnipsel. Damit konnte ich die Aufgabe lösen.
Als "Test-Client" verwende ich Postman, implementiert wird das in einer Delphi-Applikation.
Viele Grüße
René
Eine Liste aller Ports eines Patchfeldes (id = 118) lese ich bekanntlich aus:
{"method":"cmdb.category","id":"34","params":{"apikey":"xxxx","objID":"118","category":"C__CATG__CONNECTOR"},"version":"2.0"}
Wie aber kann ich einen einzelnen Port (hier id = 17) auslesen? Filtern scheint in der Catagory nicht zu klappen oder mache ich etwas falsch?
{"method":"cmdb.category","id":"34","params":{"apikey":"xxxx","objID":"118","category":"C__CATG__CONNECTOR","filter":{"id":"17"}},"version":"2.0"}
Die id neben der objId zu schreiben bringt nichts - wird kommentarlos ignoriert. Ohne objId kommt ein Fehler, dass eben diese fehlt.
Viele Grüße
René
Ich hoffe das ich dir helfen konnte.
Ja, ich hatte das wohl etwas kompliziert gemacht. Die vielen Parameter hatte ich im Wissen verwendet, dass einige nicht verwendet werden. Ich wusste nur nicht, welche.
Der Aufruf macht jetzt genau das, was ich wollte.
Vielen Dank.
René
Oh, ich habe wohl die Ergänzung in den falschen Post kopiert. Mit CateID hat das hier tatsächlich nichts zu tun.
Ich habe inzwischen versucht weiter am Problem zu arbeiten:
{"method":"cmdb.category.update","id":1,
"params": {
"apikey":"xxxx",
"objID":"116",
"name":"7",
"id":"13",
"category":"C__CATG__CONNECTOR",
"data": {
"category_id":"assigned_connector",
"objID":"118",
"id": "29",
"name":"7"
}
},
"version":"2.0"
}
Vom Patchfeld1 (ObjID 116), Port "7" (id 13) soll eine Verbindung zum Patchfeld2 (ObjID 118) auch auf Port "7" (id: 29) gesetzt werden.
Als Ergebnis erhalte ich ein mir völlig unverständliches
"error": "Unable to find a category entry with id 29 for object 116."
Da ein Port kein Objekt ist, scheint das "normale" Update nicht zu funktionieren. Wo liegt mein Fehler?
Wenn schon nicht direkt, kann man wenigstens eine SQL Abfrage über die API absetzen?
SELECT isys_cable_colour__id, isys_cable_colour__title FROM idoit_data.isys_cable_colour i;
Ich möchte per API Aufruf die Kabelfarbe ändern. Beim Aufruf wird dieser Record zurückgegeben:
"cable_colour": {
"id": "4",
"title": "Grün",
"const": null,
"title_lang": "Grün"
}
Beim Update kann ich aber nur
... "data":{"length":"80", "cable_colour":"4" ...
schreiben. Wie kann ich eine Liste aller definierten Farben (title und id reichen) über die API abfragen?
Gruß - René
Hallo,
ich beschäftige mich seit ein paar Tagen mit der API und versuche gerade, zwei Patchpanel-Ports (Eingänge) zu verbinden. Wie aber setze ich den "assigned_connector" eines Ports? Ich finde den Port nicht als "Objekt" (C__CATG__PORT o.ä.) und aus der Portliste (C__CATG__CONNECTOR(ObjId)) heraus habe ich keinen Plan wie ich das machen soll. Hat jemand einen Tipp?
VG - René
[6:12 PM] René Kadner: Es reicht für den Anfang auch eine Abfrage entsprechend: http://myHost/?objID=116&tvMode=1006&catgID=50&objTypeID=43&cateID=2
Das Kommando {"method":"cmdb.category","id":1,"params":{"apikey":"xyz", "objID":116, "objTypeID":"43", "cateID":"1"},"version":"2.0"} ignoriert aber die Parameter objTypeID und cateID.
Im Explorer erscheint für eine gefilterte Schrankliste (TypeId 4) folgende Syntax:
http://localhost/?viewMode=1001&objTypeID=4&tableFilter=R&tableFilterField=isys_cmdb_dao_category_g_location__location_path&filtered=1
Diese Abfrage würde ich gern auch per API absetzen. Der Vorteil: Hier steht gleich der Standort im Ergebnis. In der "normal" Abfrage fehlt dieser und müsste immer erst mit einer zusätzlichen Abfrage ermittelt werden. Schrankliste ohne Location:{"method":"cmdb.objects","id":1,"params":{"apikey":"xxx", "filter":{"type":4}},"version":"2.0"}
Gibt es eine Möglichkeit, die auf das "Listenobjekt" zuzugreifen? Lesend reicht völlig ….
Danke & Gruß
René