Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Modell und Hersteller per API pflegen

    Scheduled Pinned Locked Moved Entwicklung
    5 Posts 2 Posters 360 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      ajoel
      last edited by

      Hallo zusammen,
      ich sitze schon recht lange an diesem Problem und wäre für jede Hilfe dankbar. Ich möchte bei meinen angelegten Client-PCs das Modell und den Hersteller über die JSON API pflegen. Ich habe aber ein Problem mit genau diesen beiden Feldern. Seriennummer und Service-Tag zum Beispiel kann ich pflegen.

      Ich vermute, dass es mit der Tatsache zu tun hat, dass es sich um Multi-Value Felder handelt?

      Das hier habe ich versucht:

      {
        "version": "2.0",
        "method": "cmdb.category.save",
        "params": {
          "object": 38012274,
          "data": {
      	"manufacturer": "Microsoft",
              "title": "Surface"
      	},
      "category": "C__CATG__MODEL",
      "apikey": "xyz"
        },
        "id": 1
      }
      

      Kann mir irgendjemand einen Tipp für die richtige Syntax geben?

      Vielen Dank und Gruß
      Andreas

      1 Reply Last reply Reply Quote 0
      • Philipp HörselmannP Offline
        Philipp Hörselmann
        last edited by

        Moin @ajoel
        welche Versionen von i-doit und der API nutzt du aktuell?
        Folgender Request funktioniert bei mir fehlerfrei:

        {
        	"version": "2.0",
        	"method": "cmdb.category.save",
        	"params": {
        		"object": 210686,
        		"category": "C__CATG__MODEL",
        		"data": {
        			"manufacturer": "Lenovo",
        			"title": "X1"
        		},
        		"apikey": "API-KEY",
        		"language": "en"
        	},
        	"id": 1
        }
        

        VG
        Phil

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          ajoel @Philipp Hörselmann
          last edited by

          @philipp-hörselmann

          Hallo Phil und vielen Dank, dass du dir die Zeit nimmst. Ich habe dein Snippet genommen, Object und API-Key ersetzt und bekomme leider denselben Effekt. "No body returned for response".

          Wir haben die Version 1.14.1 PRO installiert. Dem Debug-Logfile nach läuft die JSON-RPC API auf der Version 1.10.1

          Hast du noch eine Idee?

          VG
          Andreas

          Philipp HörselmannP 1 Reply Last reply Reply Quote 0
          • Philipp HörselmannP Offline
            Philipp Hörselmann @ajoel
            last edited by

            Moin @ajoel ,
            es kann an den älteren Versionen liegen (aktuell ist i-doit 1.15.2 und API 1.11.3)
            Weiterhin könntest du mal schauen, ob und welche Einträge du in den jeweiligen Dialog+ Feldern hast.

            Bsp.:

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

            Damit kannst du z.B. erstmal auslesen, was für Hersteller bisher existieren.

            VG
            Phil

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              ajoel @Philipp Hörselmann
              last edited by

              @philipp-hörselmann

              Hallo nochmal und frohe Weihnachten 🙂

              Ich fürchte dann werde ich wohl erstmal das Update in Angriff nehmen müssen.

              Das Ausgeben von Kategorien stellt kein Problem dar. Mit meinem ursprünglich geposteten Snippet werden sogar neue Hersteller angelegt, aber es erfolgt einfach keine Zuweisung zum Client. Hier ein Ausschnitt des Responses auf die von dir gepostete Abfrage (wobei ich "C__CATG__CPU" durch "C__CATG__MODEL" ersetzt habe, da es mir um die Hersteller dort geht).

              {
                "id": 1,
                "jsonrpc": "2.0",
                "result": [
                  {
                    "id": "1",
                    "const": "C__MODEL_NOT_SPECIFIED",
                    "title": "Not specified"
                  },
                  {
                    "id": "2",
                    "const": "",
                    "title": "Apple"
                  },
                  {
                    "id": "3",
                    "const": "",
                    "title": "Hewlett Packard"
                  },
                  {
                    "id": "4",
                    "const": "",
                    "title": "Cisco Systems"
                  },
              ]
              }
              

              Die Herstellerpflege per se ist also nicht direkt das Problem. Eher die Zuweisung zu einzelnen CMDB-Objekten.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post