Chatbot mit synchronem Kanal verbinden

Chatbot mit synchronem Kanal verbinden

Die Channel-Schnittstelle im Kiko-CMS funktioniert asynchron. Damit der Channel Chatbot-Nachrichten empfangen kann, ist vom Channel ein extra API-Endpunkt bereitzustellen. Kanäle, die im synchronen Modus arbeiten (Anfrage wartet auf Antwort) können bisher nur sehr aufwändig verbunden werden.

Mit dem Service “Sync-Channel” wird eine synchrone Kommunikation mit Kiko hergestellt. Der Channel sendet eine Anfrage an den Chatbot und als Rückgabewert zur Anfrage wird die Antwort-Nachricht oder ein Paket von Antwort-Nachrichten übergeben. Das System kommt dadurch ohne extra Endpunkt aus.

Bevor der Webservice “Sync-Channel” genutzt werden kann, ist er für das Kiko-Konto zu aktivieren. Diese Einrichtung können Sie mittels Kiko-CMS-Assistent erledigen:
Loggen Sie sich dafür in Ihrem Kiko-Konto als Admin ein. Klicken Sie unten rechts auf das Widget für den CMS-Assistenten, links neben dem Widget für den Testchat.
Führen Sie folgende Eingaben durch:
  1. ~kiko-webservices
  2. Einstellungen -> Service-Verwaltung
  3. "Sync-Channel" aktivieren (falls deaktiviert)
Der Webservice ist nun aktiviert.

Zur Nutzung benötigen Sie weiterhin den Webservice-API-Key für Ihr Kiko-Konto. Führen Sie dafür folgende Eingaben mittels Kiko-CMS-Assistent durch:
  1. ~kiko-webservices
  2. Einstellungen -> Webservice API Key
  3. Ausgabe: Kiko Webservice API Key für das aktuelle Konto: 1234abcd-ws
Merken Sie sich den API-Key.

Beispiel:

Ziel des Beispiels ist es, einen neuen Kanal mit Kiko zu integrieren. Anfragen vom Kanal sollen an den Metabot im eigenen Konto geleitet werden. Die Chatbot-Antwort soll sofort zurück geliefert werden.

Im Konto wird unter “Kanäle” ein neuer Kanal vom Typ “Custom” angelegt. Die Channel-Id des neuen Kanals lautet im Beispiel “G557Zqp4g”.

Beispiel Kiko Kanal
Im Integrationscode zum Kanal wird die allgemeine Callback-Endpunkt-URL von Sync-Channel eingetragen sowie die eigene individuelle Channel-ID und der eigene API-Key als Parameter.
  1. {
  2.   "url": "https://webservice.kiko.bot/sync-channel/v1/callback?channel=G557Zqp4g&apikey=1234abcd-ws"
  3. }
Danach kann der Kanal von außen eine Anfrage an den Metabot senden. Dabei ist die Kanal-ID und der Instanz-Key anzugeben. Standardmäßig werden die Anfragen an die Instanz ‘cloud02’ geleitet.

Der folgende curl-Befehl simuliert beispielhaft für eine solche Anfrage per Kommandozeile mit der Textnachricht “hallo” vom Nutzer und einer session-id “123456-sid” vom externen Kanal.

Legen Sie zunächst mit einem Texteditor eine Datei ‘request.json’ an.


  1.   "sender": "123456-sid",
  2.   "data": {
  3.     "messages": [
  4.       {
  5.         "type": "message",
  6.         "data": {
  7.           "type": "text/plain",
  8.           "content": "hallo"
  9.         }
  10.       }
  11.     ]
  12.   }
  13. }
Im Beispiel wird die Cloud Shell von Google - https://shell.cloud.google.com/ - als Kommandozeilen-Tool verwendet. Die angelegte Datei ist in die Shell hochzuladen. Über folgenden Befehl wird danach der Webservice aufgerufen. Die Anfrage-Daten werden dabei an den Kanal gesendet.
  1. curl -X POST 'https://webservice.kiko.bot/sync-channel/v1/request?channel=G557Zqp4g&apikey=1234abcd-ws' -H 'Content-Type: application/json' --data-binary '@request.json'
Die Anfrage wird standardmäßig vom Kanal an den Metabot weitergeleitet und die folgende Beispiel-Antwort wird nach kurzer Zeit als Rückgabewert geliefert:
  1. {
  2.   "messages": [
  3.     {
  4.       "metaData": {
  5.         "hasFinalIntent": true
  6.       },
  7.       "data": {
  8.         "type": "text/plain",
  9.         "content": "Hallo Welt."
  10.       },
  11.       "type": "message"
  12.     }
  13.   ]
  14. }
Weitere Erläuterungen zu den Daten-Schemas finden Sie in den API-Dokumentationen:

    • Related Articles

    • Chatbot Design - Tutorial für Grafiker

      Dieses Tutorial soll Grafiker bei der Erstellung eines individuellen Chatbot-Designs unterstützen. Sie lernen den Webchat Konfigurator näher kennen und erfahren hilfreiche Tipps zur Anpassung an das gewünschte Corporate Design.  Abschnitt 1 - Planung ...
    • Chatbot in Wordpress einbinden - Anleitung mit Plugin in 3 Schritten

      Kiko ist eine Plattform für Chatbots, die von 1000° DIGITAL in Deutschland entwickelt und gehostet wird. Einen eigenen Chatbot können Sie schnell erstellen und in Wordpress einbinden. Bei einer moderaten monatlichen Nutzung verwenden Sie den Chatbot ...
    • Telefon-Chatbot einrichten (Phonebot)

      Jeder kennt die Sprachdialogsysteme herkömmlicher Telefonanlagen (auch TK-Anlage), welche den Anrufer zum Ansprechpartner für ein bestimmtes Thema leiten oder einen hinterlegten Ansagetext abspielen. Diese sogenannten IVRs (=Interactive Voice ...
    • Chatbot in Wordpress einbetten - mit individuellem HTML

      In diesem früheren Beitrag haben wir die Einbindung des Kiko-Chatbots in Wordpress mittels Kiko-Chatbot Plugin beschrieben. Alternativ zum Plugin können Sie Ihren Kiko-Chatbot auch mit einem individuellen HTML-Code (Embed-Code) in Ihre ...
    • FAQ - Chatbot erstellen und verbessern

      Wie kann die Spracherkennung mit der Zeit verbessert werden? Eine unerkannte Nutzer-Anfrage kann zur Erweiterung der Schlagwort-Liste einer bestehenden Absicht verwendet werden. Je umfangreicher die Synonym-Liste ist, um so besser funktioniert die ...