Zum Hauptinhalt springen

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.

Image1

{
"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.

Image2

{
"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.

Image3

{
"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.

Image11

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.

Image12

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)

Image13

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.

Image14

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.

Image15