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

    Simkarte zu Handy via API zuweisen

    Scheduled Pinned Locked Moved Entwicklung
    6 Posts 2 Posters 404 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.
    • S Offline
      skussmann
      last edited by skussmann

      Bitte um Hilfe. Wenn ich versuche eine existierende Simkarte zu einem exisierenden Handy via API zuzuweisen bekomme ich zwar die Meldung „Category entry successfully saved“, sehe jedoch keine Veränderung in der GUI.

      Laut I-DOIT Log:

      Request: {
          "params": {
              "object": 105943,
              "data": {
                  "isys_obj__id": 105943,
                  "isys_catg_cards_list__id": 105489
              },
              "category": "C__CATG__ASSIGNED_SIM_CARDS",
              "apikey": "...",
              "language": "en"
          },
          "method": "cmdb.category.save",
          "id": 162929028596,
          "version": "2.0"
      }
      
      Response:  {
          "success": true,
          "message": "Category entry successfully saved",
          "entry": 1
      }
      

      Auch beim Auslesen via API existiert danach keine Verbindung, wenn ich die Verbindung händisch via GUI setze komme ich sehr wohl die Verbindung auch via API retour.

      105943 ist die ID des Cellular Phone, 105489 ist die ID der SIM card. Beides wurde schon via API erstellt, und passt soweit auch. Lediglich die Verbindung der beiden Objekte will aus irgendeinem Grund über die API nicht klappen.

      Wäre für jeden Hinweis dankbar, was ich hier exakt falsch mache. Besten Dank für euren Input vorab.

      Danke,
      Stefan

      LFischerL 1 Reply Last reply Reply Quote 0
      • LFischerL Offline
        LFischer @skussmann
        last edited by

        Hallo @skussmann

        ich müsste erst probieren dieses Verhalten lokal zu reproduzieren, könnte mir aber vorstellen das es ggf. aufgrund der Attribut-Namen zu Problemen kommen könnte. Diese haben nämlich das Format einer Tabellenspalten - vielleicht gerät i-doit hier durcheinander.

        Hattest du probiert die Daten aus der anderen Richtung zu speichern? Also in der Kategorie C__CATG__SIM_CARD über das Attribut assigned_mobile. Das könnte ein Workaround sein, bis wir das Problem angegangen sind 🙂

        Viele Grüße
        Leo

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          skussmann @LFischer
          last edited by

          Hallo @lfischer ,

          danke für die rasche Rückmeldung. Die Keys wurden anhand der Definition in Categories and attributes verwendet.
          2021-08-20 10_00_47-Window.png

          LFischerL 1 Reply Last reply Reply Quote 0
          • LFischerL Offline
            LFischer @skussmann
            last edited by

            Hey @skussmann

            die verwendeten Keys sind korrekt - die konnte ich auch so im Code finden, sie haben lediglich eine "ungewöhnliche" Form 🙂 Ich bin leider noch nicht dazu gekommen den Fehler zu reproduzieren...

            Hattest du es mit dem Workaround probiert den ich vorgeschlagen habe?

            Viele Grüße
            Leo

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              skussmann @LFischer
              last edited by

              Hallo @lfischer ,

              Danke für die Rückmeldung. Habe den Workarround soeben ausprobiert, auf diesem Wege funktioniert es, ja. Vielen Dank für den Input.

              Kannst Du mir bitte dennoch sagen wie die Syntax korrekt lauten müsste für C__CATG__ASSIGNED_SIM_CARDS?
              Habe nämlich das selbe Problem mit C__CATS__LAYER2_NET_ASSIGNED_PORTS, und ich vermute ich mache hier etwas falsch. Dort sind nämlich auch ähnliche Keynamen in Verwendung, ebenso write type integer[].

              Besten Dank vorab,
              LG Stefan

              LFischerL 1 Reply Last reply Reply Quote 0
              • LFischerL Offline
                LFischer @skussmann
                last edited by LFischer

                Hallo @skussmann

                ich bin nun endlich dazu gekommen das Problem nachzustellen - es stellt sich raus das die Daten in deinem Request nicht korrekt übergeben werden. Normalerweise meldet i-doit sich in einem solchen Fall mit einer Fehlermeldung... Hast du ggf. die "API Validierung" abgeschaltet?

                Die Fehlermeldung würde so aussehen:

                Internal error: There was an validation error [isys_obj__id: (object_browser) Property has to be an array.; isys_catg_cards_list__id: (object_browser) Property has to be an array.]
                

                Da hier mit "Objekt Referenzen" gearbeitet wird (im Frontend geschieht dies über Objekt-Browser) muss die ID folgendermaßen übergeben werden:

                {
                    "version": "2.0",
                    "method": "cmdb.category.save",
                    "params": {
                        "object": 21001,
                        "data": {
                            "isys_obj__id": {
                                "id": 21001
                            },
                            "isys_catg_cards_list__id": {
                                "id": 21003
                            }
                        },
                        "category": "C__CATG__ASSIGNED_SIM_CARDS",
                        "apikey": "<apikey>"
                    },
                    "id": 1
                }
                

                Ich schätze bei C__CATS__LAYER2_NET_ASSIGNED_PORTS dürfte es ein ähnliches Problem sein 🙂

                Ich hoffe ich konnte dir weiterhelfen!

                Viele Grüße
                Leo

                edit

                Ich schätze hier müssen wir unsere API Doku noch mal anpassen, da diese falsche Informationen liefert 😞

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