API Konstrukt via PHP benutzerdefiniertes Objekt
-
Hallo,
ich stecke fest und würde am Boden kriechend Hilfe benötigen.
Aus einem PHP-Script wird via API in eine benutzerdefinierte Kategorie sowie eines Benutzerdefinierten Objekts geschrieben.Der Datensatz wird in i-doit erstellt, der Titel wird hinterlegt im Feld Bezeichnung.
Doch der Rest kommt nicht an. Die Variablen, die übergeben werden, sind befüllt.
Ab C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL ist wohl ein Fehler.Erkennt jemand den Fehler?
$jsonData = [ 'version' => '2.0', 'method' => 'cmdb.object.create', 'params' => [ 'apikey' => $apiKey, 'type' => 'C__OBJTYPE__SD_LSCHPROTOKOLL', 'title' => $vartitle, 'categories' => [ 'C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL' => [ 'f_popup_c_1675341962187' => $currentDateTime, 'f_popup_c_1675342078466' => $datenbereich, 'f_popup_c_1675342171620' => $loeschverfahren, 'f_popup_c_1675342277156' => $varwho, 'description' => $vardescript ] ], ], 'id' => 3 // ID für die Anfrage ];Danke
LG Stefan -
Hey @StefanP74,
könntest du ggf. ein paar mehr Infos zu deiner benutzerdefinierten Kategorie posten? Sollten die Attribut-Schlüssel und Inhalte stimmen könnte ich mir noch vorstellen das es ggf. doppelt in einem Array stehen muss, also anstatt:
'categories' => [ 'C__CATG__CUSTOM_FIELDS_XYZ' => [ 'attr' => 'wert', 'attr2' => 'wert2', ... ] ],Müsste es so aussehen:
[...] 'categories' => [ 'C__CATG__CUSTOM_FIELDS_XYZ' => [ [ 'attr' => 'wert', 'attr2' => 'wert2', ... ] ] ],Der Grund dafür (wenn ich mich richtig erinnere) ist das wir keinen Unterschied zwischen Single- und Multivalue Kategorien machen, wenn diese beim erstellen des Objekts erzeugt werden.
Deswegen müssen auch Singlevalue Kategorien noch mal in ein Array geschachtelt werden
Ich hoffe damit klappt es!
Viele Grüße
Leo -
Guten Morgen @LFischer,
danke für den Input, bei Multi-Value hat es dann geklingelt.
$jsonData = [ 'version' => '2.0', 'method' => 'cmdb.object.create', 'params' => [ 'apikey' => $apiKey, 'type' => 'C__OBJTYPE__SD_LSCHPROTOKOLL', 'title' => $vartitle, 'categories' => [ 'C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL' => [ [ 'f_popup_c_1675341962187' => $currentDateTime, 'f_popup_c_1675342078466' => [ $datenbereich ], 'f_popup_c_1675342171620' => $loeschverfahren, 'f_popup_c_1675342277156' => [ $varwho ], 'description' => $vardescript ] ] ], ], 'id' => 3 // ID für die Anfrage ];Ich musste zusätzlich zu deiner Lösung die beiden Multi-Value Felder nochmal in eckige Klammern packen.
Perfekt, danke.Lustig wie oft man im api log über diese Zeile an einem Freitag drüberlesen kann:
"There was an validation error: f_popup_c_1675342277156: (object_browser) Property has to be an array."

So kann der Montag beginnen

LG Stefan
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login