Enneo ermöglicht es, eigenen Code in Form von “User Defined Functions” zu hinterlegen und in verschiedenen Bereichen
anzuwenden. Diese Funktionen können insbesondere in der Business-Logik von regelbasierten KI-Agenten, in Webhooks
oder Event-Implementierungen genutzt werden. Also überall dort, wo eigener Code oder SDKs verwendet werden.
Die Verwaltung der user defined Funktionen erfolgt im Bereich Integration der Umsysteme in den Einstellungen.
Hier können beliebig viele benutzerdefinierte Funktionen hinterlegt werden.
Funktionen werden als Codefragmente gespeichert, die spezifische Anwendungslogik implementieren und in verschiedenen
Integrationsszenarien abrufbar sind.
User Defined Functions bieten vielfältige Einsatzmöglichkeiten. Zum Beispiel:
Schnittstellenaufrufe der Umsysteme: Zum Beispiel für ERP, Task-Management, oder Archiv-Systeme.
Anbindung von Output-Management-Systemen: Beispielsweise für den Versand von Benachrichtigungen.
Auslagerung komplexer Abläufe: In Form von wiederverwendbaren Bausteinen.
Mit diesen Funktionalitäten erweitert Enneo die Anpassungsfähigkeit und ermöglicht die Integration spezifischer
Unternehmenslogik in die AI-basierte Kundenbetreuung.
Enneo kann benutzerdefinierte Funktionen speichern und verwenden.Folgende Aufrufe sind möglich,
am Beispiel einer User-Defined-Function namens ‘my-udf’:
Innerhalb von Enneo mittels Python SDK:
Es kann ein beliebiges JSON-Objekt als Enneo-internes Speicherobjekt für benutzerdefinierte Funktionen verwendet werden.
Dies ermöglicht das Speichern und Abrufen von Daten mittels des Enneo-SDK.
Im zweiten Schritt, kann eine benutzerdefinierte Funktion fetch-thirdparty-token für das Laden der Credentials
implementiert werden. Diese Vorgehensweise ist besonders dann sinnvoll, wenn das Laden der Credentials in mehreren
anderen Prozessen wiederverwendet werden kann.
Copy
Ask AI
<?php// Enneo SDK ladenrequire(getenv()['SDK']);// Speicherobjekt für benutzerdefinierte Funktionen laden$udfStorage = \EnneoSDK\Setting::get('udfStorage');// Token laden$clientId = $udfStorage->thirdParty->oauth->clientId;$clientSecret = $udfStorage->thirdParty->oauth->clientSecret;$result = \EnneoSDK\Api::call( method: 'POST', url: $udfStorage->thirdParty->oauth->tokenEndpoint, headers: [ 'Authorization: Basic ' . base64_encode($clientId . ':' . $clientSecret), 'Content-Type: application/x-www-form-urlencoded', 'Accept: application/json' ], params: http_build_query(['grant_type' => $udfStorage->thirdParty->oauth->grantType ?? 'client_credentials', 'scope' => $udfStorage->thirdParty->oauth->scope ?? null]));// Die Ausgabe erfolgt im JSON Format und kann nach dem Aufruf im entsprechenden Code verwendet werdenecho json_encode(['accessToken' => $result->access_token, 'accessTokenExpiresAt' => date("Y-m-d H:i:s T", time() + $result->expires_in), "baseUrl" => $udfStorage->thirdParty->baseUrl, "headers" => $udfStorage->thirdParty->headers ?? [], "apiName" => $udfStorage->thirdParty->apiName ?? "Kunden-API",]);
Anschließend kann die Implementierung der Funktion third-party-api-call für den eigentlichen API-Aufruf erfolgen:
Copy
Ask AI
<?php<?php// SDK ladenrequire(getenv()['SDK']);// Token mithilfe der zuvor definierten "fetch-thirdparty-token" Funktion laden$credentials = \EnneoSDK\ApiEnneo::executeUdf('fetch-thirdparty-token', []);// Eingabeparameter laden$in = \EnneoSDK\Input::load();// Header für den Request der Third-Party-API vorbereiten$headers = [ 'Authorization: Bearer '. $credentials->accessToken, 'Accept: application/json'];foreach (($cred->headers ?? []) as $key => $val) { $headers[] = "$key: $val";}// API Aufruf und Ausgabe$res = \EnneoSDK\Api::call( method: $in->method, url: $credentials->baseUrl.'/'.$in->api, headers: $headers, params: $in->params);// Output resultecho json_encode($res);
Diese Struktur ermöglicht die flexible Nutzung und Integration von benutzerdefiniertem Code innerhalb von Enneo,
um spezifische Geschäftslogik abzubilden oder externe Systeme nahtlos anzubinden.