Web-Service-Modul
Einleitung
Das WebService-Prozessmodul ermöglicht die Verbindung von LoyJoy mit externen APIs. Sobald der Chat-Ablauf an einem WebService-Prozessmodul ankommt, wird eine synchrone HTTP-POST-Anfrage an die konfigurierte URL gesendet.
Typische Anwendungsfälle
Senden Sie Variablen und Parameter von LoyJoy an eine REST-API in Ihrer IT-Infrastruktur und geben Sie neue Variablen von Ihrer REST-API zurück an LoyJoy.
Verwendung des Moduls
HTTP-Anfrage, die an Ihre REST-API gesendet wird
Der Anfragebody ist wie folgt strukturiert:
{
"process_definition_id": ...,
"process_instance_id": ...,
"params": {
"referrer": "http://example.org/referring_page",
"user-agent": "Mozilla/1.0N (Windows)",
...
},
"variables": {
"email": "john.smith@example.org",
"firstname": "John",
"gender": "male",
"lastname": "Smith",
"nps_score": "10",
...
}
}
Die params und variables sind Beispiele. Die params werden hauptsächlich vom Webbrowser erzeugt. Die variables werden hauptsächlich von den Prozessmodulen erzeugt, die Sie in Ihren KI-Agenten eingebaut haben (prozessunabhängige Variablen, prozessspezifische Variablen).
HTTP-Antwort, die Ihre REST-API optional zurückgeben kann
Der WebService-REST-API-Endpunkt muss innerhalb weniger Sekunden antworten, sonst tritt ein Timeout auf und der Prozessablauf wird fortgesetzt. Optional kann die Antwort Variablen bereitstellen, die in der Prozessinstanz gesetzt werden sollen:
{
"data": {
"variables": {
"some_key": "some_value"
}
}
}
Das WebService-Prozessmodul mit einer Serverless Function integrieren
Ein typischer Anwendungsfall ist der Aufruf einer Serverless Function wie einer Google Cloud Function über das WebService-Prozessmodul. Dazu geben Sie einfach die URL Ihrer Serverless Function im WebService-Prozessmodul ein.
Für die Implementierung einer Serverless Function können Sie jede moderne Programmiersprache und Cloud-Plattform verwenden. Für Node.js finden Sie Beispiele hier.
Timeouts
Das Prozessmodul wartet rund 20 Sekunden auf eine Antwort vom Server. Wenn der Server nicht innerhalb dieser Zeit antwortet, stuft das Prozessmodul dies als Timeout ein. Es gibt mehrere Lösungen für dieses Problem.