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

    I-Doit API cmd.category.save Einträge Aktualisieren

    Scheduled Pinned Locked Moved Entwicklung
    3 Posts 2 Posters 405 Views
    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.
    • L Offline
      lewando
      last edited by

      Hallo zusammen, ich habe eine Frage zur Aktualisierung der Kategorien über die API von I-Doit. Konkret versuche ich gerade Informationen über Festplatten / Dateisysteme via API von einem Objekt zu aktualisieren.

      Aufurf:

      {
          "version": "2.0",
          "method": "cmdb.category.save",
          "params": {
              "object": 9241,
              "data": {
                  "title": "sda",
                  "mount_point" : "/",
                  "system_drive": "Yes",
                  "filesystem": "EXT4",
                  "capacity": 500,
                  "unit": "GB",
                  "serial": "",
                  "assigned_raid": null,
                  "drive_type": "1",
                  "device": null,
                  "raid": null,
                  "ldev": null,
                  "category_const": "",
                  "free_space": null,
                  "free_space_unit": null,
                  "used_space": null,
                  "used_space_unit": null,
                  "firmware": null,
                  "description": "Created WITH API"
              },
              "category": "C__CATG__DRIVE",
              "apikey": "API-KEY",
              "language": "en"
          },
          "id": 1
      }
      

      Der Rückgabewert des Requests ist, wie erwartet folgender:

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

      Wenn ich diesen Request jetzt jedoch zweimal ausführe, so wird der vorherige Eintrag nicht aktualisiert, sondern es werden 2 Einträge erstellt.

      Folglich stellt sich mir die Frage, wie kann ich über die cmb.category.save Methode Einträge eines Objektes aktualisieren?

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

        Moin @lewando
        in der Ausgabe wird eine entry-ID angegeben, welche du für ein Update des bestehenden Eintrages benötigst.
        Wenn du jetzt den folgenden Request um die entry-ID erweiterst, wird dieser Eintrag aktualisiert:

        "version": "2.0",
            "method": "cmdb.category.save",
            "params": {
                "object": 9241,
                "entry": 107,     <---------------
                "data": {
                    "title": "sda",
                    "mount_point" : "/",
                    "system_drive": "Yes",
                    "filesystem": "EXT4",
                    "capacity": 500,
                    "unit": "GB",
                    "serial": "",
                    "assigned_raid": null,
                    "drive_type": "1",
                    "device": null,
                    "raid": null,
                    "ldev": null,
                    "category_const": "",
                    "free_space": null,
                    "free_space_unit": null,
                    "used_space": null,
                    "used_space_unit": null,
                    "firmware": null,
                    "description": "Created WITH API"
                },
                "category": "C__CATG__DRIVE",
                "apikey": "API-KEY",
                "language": "en"
            },
            "id": 1
        }
        

        Damit kannst du dann den Eintrag aktualisieren 😉
        VG
        Phil

        L 1 Reply Last reply Reply Quote 1
        • L Offline
          lewando @Philipp Hörselmann
          last edited by

          @Philipp-Hörselmann
          Ah super vielen Dank für die schnelle Hilfe 😊

          Ich hab mich schon gefragt, wofür die Entry (ID) da ist, aber die DOKU erzeugte bei mir eher Fragezeichen xD (Da ich zunächst mit der Beschreibung "Eintragsidentifikator" die Verbindung zur Nutzung im Request nicht gezogen habe)

          Es ist zwar etwas unglücklich das man keine weiteren Identifikatoren nutzen kann, aber gut so muss ich zunächst das Objekt abfragen, bevor ich es aktualisieren kann, auch gut. (Weil im Anwendungsfall den ich gerade versuche umzusetzen, sind mir die Daten bereits bekannt, ich muss diese nur noch auf den passenden API Call mappen um diese zu aktualisieren.)

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