Omnichannel & Kan\u00e4le
PulseChat kann als Omnichannel-Posteingang f\u00fcr externe Messaging-Plattformen wie WhatsApp, Telegram, E-Mail, SMS, Slack, Viber usw. fungieren. Diese Seite erkl\u00e4rt, wie Kan\u00e4le funktionieren, wie man sie konfiguriert und wie Mitarbeiter mit ihnen interagieren.
1. Konzepte
- Kanal -- eine konfigurierte Verbindung zu einem externen Dienst (z.B. eine WhatsApp Business-Nummer, ein Telegram-Bot, ein IMAP-E-Mail-Postfach).
- Kanalkonversation -- ein Thread mit einem externen Kontakt (z.B. ein WhatsApp-Chat mit einem Kunden).
- Externer Kontakt -- einheitlicher Datensatz, der die externe Partei repr\u00e4sentiert (Telefon, E-Mail, etc.), wenn m\u00f6glich CRM-Kunden/Kontakten/Leads zugeordnet.
Kerntabellen (erstellt in 122_version_122.php):
pc_channels-- Kanalkonfigurationen (Typ, Name, verschl\u00fcsseltes Config).pc_external_contacts-- \u00fcbergeordnete externe Kontaktidentit\u00e4ten.pc_contact_identities-- spezifische Identifikatoren (Telefon, E-Mail, PSID, chat_id, etc.).pc_automation_rules-- Routing- und Automatisierungsregeln.
2. Omnichannel aktivieren
- Gehen Sie als Administrator zu den PulseChat-Einstellungen.
- Aktivieren Sie:
- Omnichannel-Kan\u00e4le aktivieren
- Option:
pulsechat_channels_enabled
- Option:
- Omnichannel-Kan\u00e4le aktivieren
- Speichern.
- In der Chat-Oberfl\u00e4che erscheint ein Kan\u00e4le-Tab in der Seitenleiste.
3. Kan\u00e4le konfigurieren
In der Chat-Oberfl\u00e4che:
- Klicken Sie auf den Kan\u00e4le-Tab.
- Klicken Sie auf das Zahnradsymbol in der Kan\u00e4le-Filterleiste (Kanaleinstellungen).
- Dies \u00f6ffnet das Kanaleinstellungen-Modal, wo Sie:
- Neue Kan\u00e4le erstellen k\u00f6nnen.
- Bestehende Kan\u00e4le bearbeiten k\u00f6nnen.
- Konfiguration testen und speichern k\u00f6nnen.
Jeder Kanaltyp hat eigene Konfigurationsfelder und Anforderungen, implementiert \u00fcber Adapterklassen in libraries/channels/:
WhatsappAdapter.phpTelegramAdapter.phpEmailAdapter.php- (und andere wie SMS, Slack, Viber, etc.)
Die Admin-Oberfl\u00e4che f\u00fcr Kan\u00e4le wird gesteuert durch:
controllers/Pulsechat_Channels.phpassets/js/pulsechat-channels.js
Viele Kanalanbieter erfordern Webhooks (z.B. Telegram, WhatsApp Cloud API) und/oder periodisches Polling (z.B. E-Mail \u00fcber IMAP). Stellen Sie sicher, dass Sie die Webhook-URL Ihres Anbieters oder die IMAP-Zugangsdaten wie in der Kanaleinstellungen-Oberfl\u00e4che angegeben konfigurieren.
4. Unterst\u00fctzte Kanaltypen
Die Basismigration (122_version_122.php) deklariert diese Typen:
whatsapptelegrammessengerinstagramemailsmsslackviber
Verschiedene Adapter k\u00f6nnen vorhanden sein oder im Laufe der Zeit hinzugef\u00fcgt werden. \u00dcberpr\u00fcfen Sie libraries/channels/ f\u00fcr verf\u00fcgbare Adapter in Ihrer Version.
5. Eingehender Fluss (\u00dcberblick)
-
Externe Nachricht trifft ein:
- \u00dcber Webhook (z.B. WhatsApp/Telegram \u00fcber
modules/pulsechat/webhook.phpodercontrollers/webhooks/ChannelWebhook.php). - \u00dcber Polling (z.B. E-Mail IMAP \u00fcber
pulsechat_cron_email_poll).
- \u00dcber Webhook (z.B. WhatsApp/Telegram \u00fcber
-
ChannelManager:
libraries/channels/ChannelManager.phpempf\u00e4ngt die eingehende Payload.- Validiert Rate-Limits, decodiert die Nachricht und normalisiert Metadaten.
-
Kontaktzuordnung:
libraries/ContactMatcher.phpversucht, den eingehenden Identifikator (Telefon, E-Mail, PSID, etc.) einem bestehenden zuzuordnen:- Externen Kontakt (
pc_external_contacts), - CRM-Kontakt / Kunden (
tblcontacts/tblclients), - Lead (
tblleads), - oder erstellt einen neuen externen Kontaktdatensatz.
- Externen Kontakt (
-
Konversationsrouting:
pc_conversationsenth\u00e4lt Omnichannel-Konversationen (Typchannel).- Automatisierungsregeln (
pc_automation_rules) k\u00f6nnen angewendet werden f\u00fcr:- Auto-Zuweisung an Mitarbeiter / Team.
- Status, Priorit\u00e4t, Tags setzen.
- Aktionen ausl\u00f6sen (Auto-Antwort, Ticket-Erstellung, KI-Antwort, etc.).
-
Nachrichtenerstellung:
- Eine Nachrichtenzeile wird in
pc_messageseingef\u00fcgt mit:channel_id,channel_type, externerchannel_conversation_id.- Richtung (
inbound), Status, Zustellungsstatus.
- Eine Nachrichtenzeile wird in
-
Oberfl\u00e4chen-Aktualisierung:
- Die Kanalkonversationsliste wird in
pulsechat-channels.jsaktualisiert. - Der aktive Agent sieht die neue Konversation und kann von PulseChat aus antworten.
- Die Kanalkonversationsliste wird in
6. Ausgehender Fluss (\u00dcberblick)
Wenn ein Agent in einer Kanalkonversation antwortet:
-
pulsechat-channels.jsruft auf:config.channelSendMessageUrl\u00fcberadmin/pulsechat/channel_api/send_channel_message
-
Pulsechat_Channels::send_channel_message():- Validiert Berechtigungen.
- Speichert die Nachricht in
pc_messagesalsoutbound.
-
ChannelManager:
- Verwendet den passenden Adapter (
WhatsappAdapter,TelegramAdapter,EmailAdapter, etc.), um die Nachricht an die externe Plattform zu senden. - Aktualisiert
delivery_status(queued,sent,delivered,read,failed) und Fehlermeldungen falls vorhanden.
- Verwendet den passenden Adapter (
-
Oberfl\u00e4chen-Feedback:
- Die Nachricht erscheint in der Konversation mit einem Statusindikator.
- Fehler (z.B. ung\u00fcltiges Token, Netzwerkprobleme) werden in der Oberfl\u00e4che angezeigt, oft mit Hinweisen (z.B. "Aktualisieren Sie Ihr WhatsApp-Token in den Kanaleinstellungen").
7. Kanalspezifische Hinweise
7.1 WhatsApp
- Adapter:
libraries/channels/WhatsappAdapter.php - Erfordert:
- Permanentes Zugriffstoken von Meta (System-Benutzer-Token mit
whatsapp_business_messaging-Berechtigung). - Telefonnummer-ID und WhatsApp Business-Kontodetails.
- Permanentes Zugriffstoken von Meta (System-Benutzer-Token mit
- Oberfl\u00e4che:
- Das Kanalkonfigurationsformular zeigt Felder wie Zugriffstoken, Telefon-ID, Webhook-Verifizierungstoken, etc.
- Fehler von WhatsApp (z.B. "Sitzung ist abgelaufen") werden erfasst und dem Agenten mit Behebungshinweisen angezeigt.
7.2 Telegram
- Adapter:
libraries/channels/TelegramAdapter.php - Erfordert:
- Bot-Token von BotFather.
- Verwendet Webhooks:
- Sie m\u00fcssen Telegram mit der in den Kanaleinstellungen angezeigten Webhook-URL konfigurieren.
- Die Signaturverifizierung wird im Adapter behandelt.
7.3 E-Mail
- Adapter:
libraries/channels/EmailAdapter.php - Verwendet IMAP-Polling und SMTP:
- IMAP: Abrufen eingehender E-Mails aus einem Postfach.
- SMTP: Senden von Antworten (oder R\u00fcckfall auf Perfex' Standard-SMTP wenn nicht konfiguriert).
- Polling:
- Implementiert \u00fcber
pulsechat_cron_email_poll()inpulsechat.php. - Eingehakt in Perfex'
after_cron_run.
- Implementiert \u00fcber
- TLS/OAuth:
- Der E-Mail-Adapter unterst\u00fctzt OAuth- oder App-Passwort-basierte Anmeldungen je nach Anbieter und Konfiguration.
8. Automatisierungsregeln
Im Omnichannel-Modus k\u00f6nnen Sie Automatisierungsregeln f\u00fcr Routing und Aktionen definieren.
- Gespeichert in
pc_automation_rules. - Konfigurierbar \u00fcber die Omnichannel-Oberfl\u00e4che (Abschnitt Automatisierungsregeln).
- Aktionen k\u00f6nnen umfassen:
- Zuweisung an Mitarbeiter / Team.
- Status / Priorit\u00e4t setzen.
- Tags hinzuf\u00fcgen.
- Standardantworten senden.
- Tickets erstellen.
- KI-Antwort ausl\u00f6sen (integriert sich mit dem KI-Assistenten f\u00fcr vollst\u00e4ndig automatische Antworten).
Diese Regeln erm\u00f6glichen Ihnen den Aufbau fortgeschrittener Workflows wie:
- "Wenn die Nachricht von WhatsApp an die 'Vertrieb'-Nummer kommt, dem Vertriebsteam zuweisen und als
whatsapp-leadtaggen." - "Wenn der Kanal E-Mail ist und der Betreff 'Support' enth\u00e4lt, automatisch ein Ticket erstellen und die Konversation als
pendingmarkieren."
9. Kan\u00e4le-Tab-Oberfl\u00e4che
Im Kan\u00e4le-Tab sehen Agenten:
-
Eine Filterleiste:
- Statusfilter (Offen, Ausstehend, Gel\u00f6st, Geschlossen).
- Priorit\u00e4tsfilter (Niedrig, Normal, Hoch, Dringend).
- Kanaltypfilter (WhatsApp, Telegram, E-Mail, etc.).
- Kanaleinstellungen-Schaltfl\u00e4che (Zahnrad).
-
Eine Kanalkonversationsliste:
- Jede Zeile zeigt:
- Name des externen Kontakts.
- Kanalsymbol / -typ.
- Vorschau der letzten Nachricht.
- Status, Priorit\u00e4t, Anzahl ungelesener.
- Jede Zeile zeigt:
-
Bei Auswahl einer Konversation:
- \u00d6ffnet sich im mittleren Chat-Panel.
- Das Detailpanel zeigt CRM-Kontext des Kontakts (verkn\u00fcpfter Kunde/Kontakt/Lead falls zugeordnet).
10. Best Practices
-
Testen Sie einen Kanal immer nach der Konfiguration:
- Verwenden Sie ein Testtelefon/-E-Mail.
- Pr\u00fcfen Sie, ob ein- und ausgehende Nachrichten funktionieren und Status aktualisiert werden.
-
Verwenden Sie Automatisierungsregeln um:
- Neue Konversationen automatisch dem richtigen Team zuzuweisen.
- Nach Kanal und Inhalt zu taggen und zu priorisieren.
-
Halten Sie Zugangsdaten aktuell:
- Tokens und App-Passw\u00f6rter laufen oft ab.
- Bei wiederholten Sendefehlern \u00fcberpr\u00fcfen Sie die Kanaleinstellungen und Anbieter-Dashboards.
-
F\u00fcr E-Mail-Kan\u00e4le:
- Stellen Sie sicher, dass der Perfex-Cron konfiguriert ist und regelm\u00e4\u00dfig l\u00e4uft, sonst werden eingehende E-Mails nicht abgerufen.
Wenn ein bestimmter Kanal Probleme macht, siehe Fehlerbehebung & FAQ f\u00fcr gezielte Pr\u00fcfungen.