In manchen Fällen ist es notwendig, dass bestimmte Tickets und die dazugehörigen Konversationen in einem weiteren
Ticketsystem verfügbar sind. So kann beispielsweise eine Antwort eines Kunden auf eine Anfrage aus dem Ticket auch
im parallel laufenden System angezeigt werden. Dies kann durch den Einsatz eines Webhooks ermöglicht werden.
Um sicherzustellen, dass neue Konversationen in beiden Systemen synchronisiert werden, kann ein Webhook implementiert werden.
Unter Einstellungen -> Kommunikationskanäle -> E-Mail Konten muss dazu das entsprechende E-Mail Konto
ausgewählt werden. Falls die Webhooks an diesem Konto noch nicht aktiv sind, muss der Switch Webhooks aktiviert werden,
damit die Felder zur Konfiguration des Webhooks “Neue E-Mail” erscheinen.
In diesem Code-Beispiel wird zur besseren Übersichtlichkeit bewusst auf das Fehlerhandling verzichtet.
Der folgende PHP-Code nutzt das Enneo SDK, um Informationen von einem Ticket-System abzurufen und diese an ein
drittes System zu übermitteln.
Copy
Ask AI
<?phpuse EnneoSDK\ApiEnneo;require(getenv()['SDK'] ?? 'sdk.php');/** @var stdClass $in - enthält alle definierten Eingabeparameter aus dem Event */// get agent profile$agent = ApiEnneo::get('/api/mind/profile/' . $in->userId)->profile;// get ticket details$ticket = ApiEnneo::get('/api/mind/ticket/'. $in->ticketId .'?includeRawData=true');// get conversations$conversationData = ApiEnneo::get('/api/mind/ticket/' . $in->ticketId . '/conversation?includeRawData=true');// find current conversation$conversation = null;foreach ($conversationData->conversations as $c) { if ($c->id === $in->conversationId) { $conversation = $c; break; }}// prepare payload$payload = [ "ticketId" => $ticket->externalTicketId, "enneoId" => $ticket->id, "agent" => $agent, "conversationContent" => $conversation->bodyPlain];// send data to third-party-system using predefined custom code$result = ApiEnneo::executeUdf( name: 'send-to-third-party', parameters: ['method' => 'POST', 'api' => 'redirect', 'params' => $payload]);echo json_encode($result);
In diesem Beispiel wird mithilfe des Enneo SDK zunächst das Nutzerprofil geladen.
Anschließend werden erweiterte Daten zum Ticket sowie die Konversationen geladen.
Am Ende des Codeausschnitts werden die Daten der aktuellen Konversation an das externe Ticketsystem übertragen.
Hierbei wird eine Funktion send-to-third-party verwendet, die zuvor als
“User defined Function” hinterlegt werden muss.