Webhooks
Webhooks ermöglichen es dem Assistenten, mit externen Systemen zu interagieren und diese zu integrieren. Mit Webhooks kann der Assistent entweder aktuelle Informationen abrufen (z. B. Kundendaten, verfügbare Produkte oder freie Termine) oder gesammelte Informationen senden/übermitteln (z. B. nachdem der Benutzer eine Transaktion/Buchung abgeschlossen hat).
So konfigurieren Sie Webhooks
Webhooks können direkt innerhalb einer Aktion/Funktion, die der Assistent ausführt, konfiguriert werden, indem Sie den Webhook-Schalter aktivieren und die Webhook-URL wie unten gezeigt angeben:

Der Voicebot sendet die als Parameter extrahierten Daten als Body in einem POST-Request.
Post Processing
Wenn der Webhook zum Abrufen von Daten verwendet wird, ist es manchmal notwendig, die Daten zu transformieren, z. B. Einträge zu filtern oder zu formatieren.
Wenn Post Processing erforderlich ist, kann das Feld Post hook JS function call verwendet werden, um den Namen einer Funktion anzugeben, die direkt nach dem Abrufen der Daten durch den Webhook aufgerufen werden soll.
Der Funktionsparameter ist ein verschachteltes JSON-Objekt mit dem vom Webhook zurückgegebenen Body, sofern es sich um ein JSON-Objekt handelt. Andernfalls ist der Parameter ein String (wenn der Body nicht als JSON geparst werden konnte).
Programmgesteuerte Ausführung von Webhooks
Webhooks können auch via Code in jedem JavaScript-Code-Snippet zu jedem Zeitpunkt wie folgt ausgeführt werden:
function myFunction(params) {
response = webhook("https://mydomain.com/apiEndpoint", {"sample": "data"});
return response;
}Beispiele
Senden Sie einen JSON-Body mit einem benutzerdefinierten Request-Header:
webhook("https://httpbingo.org/json", {"test": "hello world"}, {
headers: {"Token": "xyz"}
});Geben Sie die vollständige Antwort einschließlich der Response-Header zurück, indem Sie raw auf true setzen:
const raw = webhook("https://httpbingo.org/json", {"test": "hello world"}, {
headers: {"Token": "xyz"},
raw: true
});
log(raw);Senden Sie URL-kodierte Formulardaten, indem Sie einen String als Body und den passenden Content-Type angeben:
webhook("https://httpbingo.org/post", "test=we343", {
headers: {"Content-Type": "application/x-www-form-urlencoded"}
});Rufen Sie Endpunkte auf, die einen HTTP-Fehlerstatus wie 500 oder 404 zurückgeben:
webhook("https://httpbingo.org/status/500");
webhook("https://httpbingo.org/status/404");Legen Sie ein Request-Timeout in Sekunden fest:
webhook("http://127.0.0.1:9999/timeout", {timeout: 3});Parameter
| Parameter | Beschreibung |
|---|---|
| url | Die URL einschließlich aller GET-Parameter, die aufgerufen werden soll |
| body | Der Body/ein JavaScript-Objekt, das als Body in POST/PUT-Requests gesendet wird |
| options (Optional) | method: "get"|"put"|"post"|"delete"|"head" |
| options (Optional) | headers: ein Objekt mit zusätzlichen HTTP-Request-Headern |
| options (Optional) | ttlCache: 0 (falls der Request gecacht werden soll) |
| options (Optional) | raw: true|false - falls auch die Header mit zurückgegeben werden sollen |
| options (Optional) | timeout: das Request-Timeout in Sekunden |