Das Enneo SDK bietet eine umfassende Sammlung von Werkzeugen, die die Entwicklung von spezifischem Code für kundenspezifische Lösungen im Bereich des KI-gestützten Kundensupports erleichtert. Das SDK unterstützt die Implementierung regelbasierter Logik für KI-Agenten, eventbasierte Integrationen, kundenspezifische Webhooks und benutzerdefinierte Funktionen. Das SDK wird automatisch geladen und die Funktionen stehen direkt zur Verfügung.

Einbindung des SDK im Code

Um das Enneo SDK in Ihren Code einzubinden, kann folgendes Code-Snippet verwendet werden:

<?php

require(getenv()['SDK'] ?? 'sdk.php');

Enneo API Wrapper

Das Enneo SDK bietet Wrapper für die Enneo API Endpunkte, mit denen bequem auf die API zugegriffen werden kann:

  • Laden der Vertragsdaten anhand der Vertrags-ID

  • Laden der Ticket-Daten anhand der Ticket-ID

  • Ausführen benutzerdefinierter Funktionen

  • Aufrufen beliebiger Enneo-API Endpunkte (GET | POST | PATCH | PUT | DELETE)

    <?php
    
    use EnneoSDK\ApiEnneo;
    
    require(getenv()['SDK'] ?? 'sdk.php');
    
    /**
     * Lädt die Vertragsdaten zum Vertrag mit der ID 123
     */
    $contract = ApiEnneo::getContract(contractId: 123);
    
    /**
     * Lädt Ticketdaten zum Ticket mit der ID 456
     */
    $ticket = ApiEnneo::getTicket(ticketId: 456);
    
    /**
     * Fürt benutzerdefinierte Funktion 'user-defined-function' aus.
     * (s. Dokumentation der benutzerdefinierten Funktionen)
     * Eingegebene Parameter werden an die benutzerdefinierte Funktion übergeben
     * und können dort mittels \EnneoSDK\Input::load() geladen werden.
     */
    $response = ApiEnneo::executeUdf(
        name: 'user-defined-function',
        parameters: [
            'method' => 'POST',
            'api' => 'redirect',
            'params' => $payload
        ]
    );
    
    
    ##########################################################################
    ## Die Methoden get | post | patch | put | delete können verwendet werden,
    ## um beliebige Enneo API Endpunkte aufzurufen
    ## (s. API Dokumentation)
    ##########################################################################
    
    /**
     * Profil des aktuell eingeloggten Nutzers laden
     */
    $profile = ApiEnneo::get(endpoint: '/api/mind/profile');
    
    /**
     * OCR Zählerstandserkennung für vorgegebene Ticket-ID und URL zum Ticket-Anhang
     */
    $response = ApiEnneo::post(
        endpoint: '/api/cortex/ocrMeter',
        body: [
            'ticketId' => $ticketId,
            'fileUrl' => $_ENV['ENNEO_API_URL'] . $attachment->url,
        ]
    );
    
    /**
     * Ticket schließen
     */
    $response = ApiEnneo::patch(
        endpoint: '/api/mind/ticket/' . $ticketId,
        body: ['status' => 'closed']
    );
    

Aufruf benutzerdefinierter Funktionen

Der Aufruf benutzerdefinierter Funktionen im Code erfolgt mithilfe von executeUdf:

<?php

// Enneo SDK laden
require(getenv()['SDK']);

// Payload für den API Aufruf des Third-Party-Systems vorbereiten
$payload = [
    'ticket-id' => 123,
    'key' => 'value'
];

// Aufruf der benutzerdefinierten Funktion "third-party-api-call"
// diese Funktion erhält als Eingabeparameter ein Objekt:
// [
//      'method' => 'POST',
//      'api' => 'item',
//      'params' => [
//          'ticket-id' => 123,
//           'key' => 'value'
//      ]
// ]
EnneoSDK\ApiEnneo::executeUdf(
    'third-party-api-call',
    ['method' => 'POST', 'api' => 'item', 'params' => $payload]
);