Case Study
Torga Optical – KI-Assistent für WhatsApp
Torga Optical ist eine Optikerkette mit einem Filialnetz in Südafrika, Namibia, Lesotho und Eswatini. Das Unternehmen bietet Augenuntersuchungen, Korrektionsbrillen, Sonnenbrillen und Kontaktlinsen und verbindet optometrische Leistungen in den Filialen mit einem vollwertigen Online-Shop.
Die E-Commerce-Plattform basiert auf nopCommerce, wobei jede Filiale als eigener Standort mit eigenem Terminkalender, eigenem Personal und eigener Produktverfügbarkeit geführt wird. Kunden können den Katalog durchsehen, einen Sehtest in ihrer bevorzugten Filiale buchen und den Fortschritt ihrer Bestellung online verfolgen.
Da die Kundenkommunikation zunehmend zu WhatsApp wandert, wollte Torga Optical seine digitalen Services – Termine, Sendungsverfolgung, Aktionen und Filialkontakt – direkt in diesem Kanal anbieten, gestützt auf dieselben Live-Daten, mit denen die Filialen täglich arbeiten.
Das Projekt
eyeRobot ist ein dialogbasierter Self-Service-Assistent, der das Optikgeschäft des Kunden nach WhatsApp bringt. Der Bot basiert auf dem Hubot-Framework, ist an Rocket.Chat Omnichannel angebunden und erledigt die häufigsten Kundenanliegen von Anfang bis Ende – einen Sehtesttermin buchen, eine Bestellung prüfen, Aktionsgutscheine herunterladen und zur richtigen Filiale durchgestellt werden –, ohne dass zuerst ein menschlicher Mitarbeiter das Gespräch aufnehmen muss.
Jede Antwort des Bots beruht auf Live-Daten: Er spricht über die REST API direkt mit dem nopCommerce-Shop des Kunden, sodass Termine, Bestellungen, Filialen und Produkte immer mit dem Backoffice übereinstimmen.
Die Herausforderung
Der Kunde betreibt ein großes Netz von Optikfilialen in Südafrika, Namibia, Lesotho und Eswatini. Routineanfragen – „Wann kann ich zum Sehtest kommen?“, „Ist meine Brille fertig?“, „Wie lautet die Nummer meiner Filiale?“ – kamen über einen einzigen WhatsApp-Kanal an und mussten vom Kundenservice-Team manuell sortiert werden. Ziel war es, diese erste Kontaktebene zu automatisieren, den Rest an die richtige Filiale zu leiten und das in dem Kanal zu tun, den die Kunden ohnehin täglich nutzen.
Die Lösung
Wir haben einen Node.js-Chatbot geliefert, der als Rocket.Chat-Omnichannel-Agent läuft und ein nummeriertes, WhatsApp-taugliches Menü bereitstellt. Ein Zustandsautomat je Konversation verfolgt, an welcher Stelle eines Ablaufs sich jeder Kunde befindet, validiert jede Eingabe und bietet immer einen Weg zurück ins Hauptmenü.
Der Kunde wird automatisch anhand der Telefonnummer der WhatsApp-Konversation erkannt: Der Bot normalisiert die Nummer in mehrere Formate, ermittelt das Land aus der Vorwahl und schlägt das Profil in nopCommerce nach – einschließlich der bevorzugten Filiale des Kunden. Kein Login, keine Bestellformulare, keine separate App zum Installieren.
Wichtigste Funktionen
- Terminbuchung – ein geführter Ablauf über Provinz → Filiale → Terminart → Datum → freie Zeitfenster, die in Echtzeit aus den nopCommerce-Buchungsendpunkten geladen werden. Fehlende Profildaten (Name, E-Mail, Geburtsdatum) werden im Chat erfasst, vom Kunden bestätigt und mit der Buchung übermittelt.
- Bestellstatus – sofortige Abfrage nach Bestellnummer über die nopCommerce-Bestell-API, wobei der Status in klare Sprache übersetzt wird.
- Chat mit Ihrer Filiale – der Bot ermittelt die bevorzugte Filiale des Kunden, prüft, ob deren Mitarbeiter gerade online ist, und übergibt die WhatsApp-Konversation live über die Weiterleitungs-API von Rocket.Chat Livechat an ihn. Der Kunde chattet im selben Fenster weiter.
- Gutscheine über WhatsApp – der länderspezifische Gutscheinkatalog wird aus nopCommerce gelesen, und der ausgewählte Gutschein wird dem Kunden als PDF-Anhang über eine freigegebene WhatsApp-Business-Vorlagennachricht zugestellt.
- Meine Filiale anrufen – liefert die Telefonnummer und die Angaben zu der Filiale, bei der der Kunde registriert ist.
- Kundenservice & Hilfe – Kontaktdaten, Öffnungszeiten, Social-Media-Kanäle und eine kurze FAQ, immer einen Tastendruck entfernt.
Technische Highlights
- Der Konversationskontext ist je Raum isoliert, sodass Hunderte paralleler WhatsApp-Chats jeweils ihren eigenen Zustand, ihre eigenen Wiederholungen und Validierungsregeln behalten.
- Strenge Eingabevalidierung für Datumsangaben (DD/MM/YYYY, dazu „heute“ / „morgen“, keine Daten in der Vergangenheit, maximal vier Wochen im Voraus), E-Mail, Telefonnummern und Geburtsdaten – ungültige Antworten werden erneut abgefragt, statt den Ablauf abzubrechen.
- Unterstützung mehrerer Länder anhand der Vorwahl, zugeordnet zum richtigen nopCommerce-Land und zur richtigen Filiale.
- Token-basierte Authentifizierung gegen die nopCommerce-API mit automatischer erneuter Anmeldung sowie automatischer Erneuerung des Rocket.Chat-Tokens bei Ablauf.
- Containerisiertes Deployment mit Docker Compose, inklusive einer Startsperre, die wartet, bis die Rocket.Chat-API erreichbar ist, bevor sich der Bot verbindet, und einer automatischen Restart-Policy.
Technologien
Node.js 22, Hubot, CoffeeScript, Rocket.Chat (Omnichannel-/Livechat-Adapter und REST API), WhatsApp-Business-Vorlagennachrichten, nopCommerce REST API, Axios, Docker & Docker Compose.
Ergebnis
Kunden buchen jetzt 24/7 Termine, verfolgen Bestellungen und holen Gutscheine direkt in WhatsApp ab, während Gespräche, die wirklich einen Menschen brauchen, automatisch an die richtige Filiale geleitet werden – und nur dann, wenn dort tatsächlich jemand online ist. Die Routinelast des zentralen Kundenservice-Teams sinkt, und jede Interaktion beruht auf denselben nopCommerce-Daten, mit denen die Filialen ohnehin arbeiten.
Technologien
Node.js- Hubot
- CoffeeScript
- Rocket.Chat
- Rocket.Chat Omnichannel / Livechat API
WhatsApp Business API
nopCommerce
nopCommerce REST API
REST API Integration- Axios
Docker
Docker Compose