API Jitterbit-Variablen im Design Studio
Einführung
Diese Seite behandelt Jitterbit-Variablen, die für benutzerdefinierte Jitterbit-APIs verfügbar sind, organisiert nach Informationsvariablen, die Sie lesen (Informational), und Einstellungsvariablen, die Sie schreiben (Settings).
Variablen, die mit einem Sternchen (*) enden, sollen signalisieren, dass das Sternchen durch einen anderen Wert ersetzt werden soll, wie in der Dokumentation für jede Variable mit einem Sternchen (*) beschrieben.
Hinweis
Für Jitterbit-Variablen mit einem Bindestrich in ihrem Namen verwenden Sie die Funktionen Get und Set, um deren Werte abzurufen und festzulegen. Zum Beispiel: Get('jitterbit.target.http.response.header.X-Jitterbit-Authorization').
Informationsvariablen
jitterbit.api.request.body und jitterbit.api.request.body.*
Datentyp
String
Beschreibung
Betrachtet die an die API übermittelten Payloads. Beachten Sie, dass Sie bei den meisten APIs nur eine einfache Payload erwarten würden, und daher ist jitterbit.api.request.body die zu verwendende Variable (auch bekannt als content-type:text/plain).
Wenn Sie erwarten, dass mehrere Payloads gleichzeitig übermittelt werden, verwenden Sie das URL-kodierte Formular (auch bekannt als content-type:application/x-www-form-urlencoded), wie im Fall einer API, die als Backend eines Übermittlungsformulars verwendet wird (siehe http://www.w3.org/TR/html401/interact/forms.html), dann sollten Sie jitterbit.api.request.body.* verwenden. Wie bei jitterbit.api.request.parameters.* wird jitterbit.api.request.body.name gleich EStore sein, wenn der Wert des Feldes "name" im Formular als EStore eingegeben wurde.
jitterbit.api.request.enum.body
Datentyp
String
Beschreibung
Variablenarray, das verwendet wird, um dynamisch durch alle übermittelten Teile der Payload/des Körpers zu iterieren (im Gegensatz zur Überprüfung eines bestimmten Teils wie bei jitterbit.api.request.body.*). Die Verwendung ist die gleiche wie bei den jitterbit.api.request.enum.parameters.
jitterbit.api.request.enum.headers
Datentyp
String
Beschreibung
Variable Array, das verwendet wird, um dynamisch durch alle Anfrage-Header zu iterieren (im Gegensatz zum Überprüfen spezifischer Header wie bei jitterbit.api.request.headers.*). Die Verwendung ist die gleiche wie bei jitterbit.api.request.enum.parameters und jitterbit.api.request.enum.body.
jitterbit.api.request.enum.mvparameters
Datentyp
String
Beschreibung
Variable Array, das verwendet wird, um dynamisch durch alle Mehrwertparameter zu iterieren (im Gegensatz zum spezifischen Überprüfen jedes Parameters wie jitterbit.api.request.mvparameters.ProdID).
jitterbit.api.request.enum.parameters
Datentyp
String
Beschreibung
Variable Array, das verwendet wird, um dynamisch durch alle übermittelten Parameter zu iterieren (im Gegensatz zum spezifischen Überprüfen jedes Parameters wie jitterbit.api.request.parameters.name).
Dieses Beispielskript fügt alle bereitgestellten Parameter einer neuen Variablen hinzu, um sie später dem Benutzer anzuzeigen:
<trans>
$output = "URL Parameters: <br>\r\n";
enum = $jitterbit.api.request.enum.parameters;
i = 0;
while(i<length(enum),
  name = enum[i];
  $output = $output + "$" + name + ": " + Get(name) + " <br>\r\n";
  i = i+1;
 );
if(i==0, $output = $output + "(none)<br>\r\n");
</trans>
jitterbit.api.request.headers.*
Datentyp
String
Beschreibung
Diese Jitterbit-Variable gibt den Wert des angegebenen Headers zurück, der in der API-Anfrage gesendet wird. Das Sternchen (*) muss durch den Schlüssel des Headers ersetzt werden.
Zum Beispiel gibt die Variable jitterbit.api.request.headers.x_forwarded_for die öffentliche IP der Box/des Benutzers zurück, der auf die URL zugreift.
Sowohl Standard-Header in RFC 9110 als auch benutzerdefinierte Header werden unterstützt. Um zu bestimmen, welche Header-Schlüssel gesendet werden, konsultieren Sie die OpenAPI-Dokumentation über die Seiten API-Portal und Portal-Manager.
Wichtig
Wenn der Header-Schlüssel einen Bindestrich (-) im Namen hat, muss die Get-Funktion verwendet werden, um seinen Wert abzurufen. Verwenden Sie kein Dollarzeichen ($), um auf die Variable zuzugreifen.
Beispiele
// Gibt den Wert des Content-Type-Headers zurück
Get('jitterbit.api.request.headers.Content-Type')
// Returns the value of the x_forwarded_for header
Get('jitterbit.api.request.headers.x_forwarded_for')
// Returns the value of the x_forwarded_for header
$jitterbit.api.request.headers.x_forwarded_for
// Gibt den Wert des my-custom-key-Headers zurück
Get('jitterbit.api.request.headers.my-custom-key')
// Returns the value of the My_Custom_Key header
Get('jitterbit.api.request.headers.My_Custom_Key')
// Returns the value of the My_Custom_Key header
$jitterbit.api.request.headers.My_Custom_Key
jitterbit.api.request.headers.fulluri
Datentyp
String
Beschreibung
Die URL, die aufgerufen wurde, um die Jitterbit OData- oder benutzerdefinierte API auszulösen.
jitterbit.api.request.method
Datentyp
String
Beschreibung
Die Anfragemethode, die verwendet wurde, um die API aufzurufen.
jitterbit.api.request.mvparameters.*
Datentyp
String
Beschreibung
Betrachtet die Mehrfachwerte des Parameters, der direkt über die URL an die API übermittelt wurde, und gibt die Werte als Array mit einem Leerzeichen zwischen jedem Wert zurück.
Wenn die URL beispielsweise https://jitterbitxx.na.jitterbit.org/dev/ProductAPIResponse?ProdID=abc&ProdID=abc1&ProdID=abc2 ist, dann wird jitterbit.api.request.mvparameters.ProdID abc abc1 abc2 sein.
jitterbit.api.request.parameters.*
Datentyp
String
Beschreibung
Betrachtet die Parameter, die direkt über die URL an die API übermittelt wurden; zum Beispiel wird jitterbit.api.request.parameters.name gleich EStore sein, wenn die angeforderte URL &name=EStore hatte.
Hinweis
Mehrwert-URL-Parameter geben eine durch ||| (3 Pipes) getrennte Zeichenfolge zurück. Um Mehrwert-URL-Parameter als Array zurückzugeben, verwenden Sie stattdessen die Variable jitterbit.api.request.mvparameters.*.
Wenn die URL beispielsweise https://jitterbitxx.na.jitterbit.org/dev/ProductAPIResponse?ProdID=abc&ProdID=abc1&ProdID=abc2 ist, wird jitterbit.api.request.parameters.ProdID abc|||abc1|||abc2 sein.
Einstellungen
jitterbit.api.response
Datentyp
Zeichenfolge
Beschreibung
Diese Variable muss gesetzt werden, wenn Ihre benutzerdefinierte API so konfiguriert ist, dass sie eine Systemvariable als Antworttyp verwendet. Die Variable jitterbit.api.response kann mehrfach in einer Operationkette verwendet werden, muss jedoch für jede Verwendung gesetzt werden.
Tipp
Die Variable jitterbit.api.response kann in einem Variablen Endpunkt gesetzt und verwendet werden, um in denselben oder nachgelagerten Operationen referenziert zu werden.
jitterbit.api.response.blank_error_response
Datentyp
Boolean
Beschreibung
Erlaubt es, eine leere API-Antwort für nicht-200-Statuscodes zurückzugeben, wenn jitterbit.api.response.blank_error_response auf true gesetzt ist. Wenn es auf false (Standard) gesetzt ist, wird eine HTML-Statusseite für den zurückgegebenen Statuscode gerendert. Verfügbar für die Verwendung mit Agenten- und API-Gateway-Versionen 10.59 oder höher.
jitterbit.api.response.enabled_null_support
Datentyp
Boolean
Standardwert
false
Beschreibung
Setzen Sie es auf true, bevor Sie mit jitterbit.api.response arbeiten, um die Trunkierung von Nullwerten zu verhindern. Diese Variable wird unterstützt, wenn Agenten-Versionen 11.44 oder höher verwendet werden.
jitterbit.api.response.headers.*
Datentyp
String
Beschreibung
Wird verwendet, um die Antwort-Header der API festzulegen. Zum Beispiel jitterbit.api.response.headers.access_control_allow_origin="*" setzen, um das standardmäßige CORS-Verhalten zu überschreiben und den Zugriff auf die API von jeder Domain in einer Cross-Site-Manier zu ermöglichen.
jitterbit.api.response.status_code
Datentyp
String
Beschreibung
Bietet die Möglichkeit, den HTTP-Antwortcode für benutzerdefinierte APIs über eine Jitterbit-Skriptvariable zu überschreiben. Setzen Sie die Variable jitterbit.api.response.status_code im Skript, das von einer benutzerdefinierten API ausgeführt wird. Dies ermöglicht es den Projektautoren, einen spezifischen HTTP-Fehlercode (neben den tatsächlichen Payload-Informationen) festzulegen, anstatt sich darauf zu verlassen, dass das System die Codes 200 oder 500 basierend auf dem Standardverhalten zurückgibt.