Mappings
Mappings ermöglichen es entweder, Daten wie Prozessvariablen von LoyJoy an eine externe API zu senden oder Daten aus einer externen API zu extrahieren und in LoyJoy-Prozessvariablen zu schreiben.
Daten von LoyJoy an externe APIs senden
Wenn Prozessmodule wie das CleverReach-Modul Daten senden, erwartet die API die Daten üblicherweise im JSON-Format. Um Informationen an die API zu senden, können Sie Mappings verwenden. LoyJoy folgt dem JSON-Pointer-Standard, um Informationen an die API zu senden.
Mapping auf JSON-Eigenschaft basierend auf Target JSON Pointer
Im folgenden Beispiel wird eine LoyJoy-Prozessvariable firstname mit dem Schlüssel first_name in JSON geschrieben. Beachten Sie, dass der Schlüssel first_name mit dem JSON-Pointer /first_name bezeichnet wird, d. h. der führende Schrägstrich / ist gemäß dem JSON-Pointer-Standard erforderlich.

{
"first_name": "John"
}
Mapping auf JSON-Objekt basierend auf Target JSON Pointer
Im folgenden Beispiel wird eine LoyJoy-Prozessvariable street mit dem Schlüssel street in das JSON-Objekt store_address geschrieben.

{
"store_address": {
"street": "Main Street 20"
}
}
Mapping auf JSON-Array basierend auf Target JSON Pointer
Im folgenden Beispiel wird eine LoyJoy-Prozessvariable street mit dem Schlüssel street in das erste Element des JSON-Arrays addresses an Position 0 geschrieben.

{
"addresses": [
{
"street": "Main Street 20"
}
]
}
Daten von externen APIs nach LoyJoy abrufen
Wenn Prozessmodule wie das API-Client-Modul Daten von einer API abrufen, sind die Daten üblicherweise im JSON- oder XML-Format. Um Informationen aus den JSON- und XML-Antworten zu extrahieren, können Sie Mappings verwenden. LoyJoy folgt den Standards JSON-Pointer und XPath, um Informationen aus JSON- und XML-Antworten zu extrahieren.
Mapping für JSON basierend auf Source JSON Pointer
Um Variablen in LoyJoy zu deklarieren, verwenden Sie das Feld Zielvariable in LoyJoy, und um Informationen aus dem JSON der Antwort zu extrahieren, verwenden Sie das Feld Source-JSON-Pointer, um einen JSON-Pointer einzugeben. Betrachten Sie das folgende Beispiel.

Dieses Mapping setzt voraus, dass das JSON-Payload den Schlüssel personal_consultant enthält. Betrachten Sie zum Beispiel die folgende Antwort.
{
"personal_consultant": "John Doe",
"store_address": {
"street": "Main Street 20",
"city": "Münster",
"zipcode": "48147"
}
}
Sie können die Variable consultant dann im Chat verwenden.
Um verschachtelte Informationen eines JSON-Payloads zu extrahieren, verketten Sie die Felder mit einem /, d. h. um die Stadt als Variable city zu extrahieren, verwenden Sie /store_address/city.

Mapping für JSON basierend auf Source Expression
Standardmäßig wird der Source-JSON-Pointer verwendet, um Informationen aus der JSON-Antwort zu extrahieren. Sie können jedoch auch einen Ausdruck verwenden, um Informationen aus der JSON-Antwort zu extrahieren. Dies ist nützlich, wenn Sie Informationen aus der JSON-Antwort extrahieren möchten, die mit einem JSON-Pointer nicht direkt zugänglich sind. Betrachten Sie zum Beispiel die folgende JSON-Antwort.
{
"personal_consultant": "John Doe",
"store_address": {
"street": "Prinzipalmarkt 10",
"city": "Münster",
"zipcode": "48143"
}
}
Um alle Schlüssel des Objekts store_address zu extrahieren, können Sie den folgenden Ausdruck basierend auf der objectKeys-Funktion und dem Objekt root verwenden.
objectKeys(root.store_address)

Dies gibt das folgende Array zurück.
["street", "city", "zipcode"]
Um alle Werte des Objekts store_address zu extrahieren, können Sie den folgenden Ausdruck verwenden.
objectValues(root.store_address)
Dies gibt das folgende Array zurück.
["Prinzipalmarkt 10", "Münster", "48143"]
Grundsätzlich können Sie jeden Ausdruck verwenden, der in LoyJoy gültig ist, um Informationen aus der JSON-Antwort zu extrahieren. Dies umfasst dynamische Array-Zugriffe basierend auf Variablen wie
root.store_address[varContainingValueCity]
Mapping für XML basierend auf XPath-Ausdruck
Um Informationen aus einer XML-Antwort zu extrahieren, können Sie einen XPath-Ausdruck verwenden. Betrachten Sie zum Beispiel die folgende XML-Antwort.
<response>
<personal_consultant>John Doe</personal_consultant>
<store_address>
<street>Main Street 20</street>
<city>Münster</city>
<zipcode>48147</zipcode>
</store_address>
</response>
Um die Stadt als Variable city zu extrahieren, verwenden Sie den XPath-Ausdruck /response/store_address/city.

Sie können XPath auch verwenden, um Attribute eines XML-Elements zu extrahieren. Betrachten Sie zum Beispiel die folgende XML-Antwort.
<response>
<personal_consultant>John Doe</personal_consultant>
<store_address>
<street>Main Street 20</street>
<city>Münster</city>
<zipcode>48147</zipcode>
<coordinates lat="51.960664" lon="7.626134"/>
</store_address>
</response>
Um den Breitengrad als Variable latitude zu extrahieren, verwenden Sie den XPath-Ausdruck /response/store_address/coordinates/@lat.
