Dieser Artikel ermöglicht es, Rainbow-Anwendungen mit Hilfe einer Reihe von Aktionen, die aus einer custo-manifest.json Datei konfiguriert werden können, individuelle Funktionen hinzuzufügen.
Die verfügbaren Aktionen sind:
- Aktionen, die automatisch nach Ereignissen ausgelöst werden:
- on-incoming-pbx-call-actions: um eine Aktion auszuführen, wenn ein Anruf eingeht
- on-answering-incoming-pbx-call-actions: zum Ausführen einer Aktion, wenn ein eingehender Anruf angenommen wird
- on-releasing-incoming-pbx-call-actions: um eine Aktion auszuführen, wenn ein eingehender Anruf beendet wird
Bei eingehenden Anrufen können die Aktionen ein Skript, eine Anwendung oder eine Webseite mit Informationen über den eingehenden Anruf starten.
- Aktionen, die über eine Schaltfläche ausgelöst werden:
- on-incoming-pbx-call-button-actions: zum Ausführen einer Aktion durch Klicken auf eine Schaltfläche, die im Popup-Fenster für eingehende Anrufe hinzugefügt wurde
- on-call-log-list-actions: zum Ausführen einer Aktion durch Anklicken einer Schaltfläche, die in jedem Element des Anrufprotokolls eingefügt wird
- on-contact-list-actions: um eine Aktion auszuführen, indem Sie auf eine Schaltfläche klicken, die in jedem Element der Kontakte eingefügt ist
- on-contact-detail-actions: um eine Aktion auszuführen, indem Sie auf eine Schaltfläche klicken, die im Detailbereich der Kontakte eingefügt ist
- on-communication-card-actions: um eine Aktion auszuführen, indem Sie auf ein Menü in der Leiste des Anrufmanagers klicken.
- on-bubble-actions: um eine Aktion auszuführen, indem Sie auf eine Schaltfläche klicken, die in das Menü Bubbles eingefügt wurde
- on-bubble-conference-actions: um eine Aktion auszuführen, indem Sie auf eine Schaltfläche klicken, die in das Menü für Konferenzanrufe eingefügt wurde
Durch Anklicken von Schaltflächen können Aktionen Popup-Fenster öffnen, in denen Sie Kontakten oder Diensten per E-Mail beitreten können.
- Aktionen mit automatischer Informationsanzeige:
- on-incoming-pbx-call-display-actions: zum Einfügen von Informationen in das Popup-Fenster für eingehende Anrufe
- on-contact-card-display-actions: zum Einfügen von Informationen in den Detailbereich des Kontakts
- Aktion mit der Anzeige von Drittanbieteranwendungen:
- on-main-window-actions: um eine Drittanbieter-Anwendung in der Rainbow-Anwendung anzuzeigen (nur bei aktivierter Popup-Option: siehe: Zusätzliche Felder)
Durch Klicken auf das entsprechende Symbol im linken Fenster können Sie eine Drittanbieter-Anwendung im rechten Teil der Rainbow-Anwendung anzeigen lassen.
Diese Aktionen werden über die Datei custo-manifest.json konfiguriert, die in der Rainbow-Anwendung verfügbar ist.
Die Konfiguration besteht in:
- Exportieren der Datei custo-manifest.json auf den Computer
- Bearbeiten und Vervollständigen der Datei custo-manifest.json
- Importieren der Datei custo-manifest.json in die Rainbow-Anwendung
Die Konfiguration gilt nur für Rainbow Anwendungen, die auf einem Computer laufen.
Die Konfiguration muss für jede Rainbow-Anwendung durchgeführt werden.
Voraussetzungen
- Sie müssen über ein Administratorkonto in der Firma mit einer Business-, Enterprise- oder Attendant-Lizenz verfügen.
- Sie müssen die Desktop-Version der Rainbow-Anwendung verwenden.
Übersicht über die Datei Custo-manifest
Die custo-manifest Datei besteht aus zwei Teilen:
- Der erste Teil listet alle verfügbaren Aktionen auf und enthält für jede Aktion eine Vorlage mit den wichtigsten Parametern zum Ausfüllen.
Beispiel: - Der zweite Teil enthält eine Hilfe, die Sie für die Konfiguration lesen können.
Eine Aktion wird durch eine Reihe von Parametern definiert, die in den folgenden Abschnitten beschrieben werden.
Wichtigste Felder
- "Name": ist ein Text, der zur Identifizierung der Aktion verwendet wird, oder die Bezeichnung der Schaltfläche für Aktionen, die eine Schaltfläche verwenden
- Für Aktionen, die eine Schaltfläche verwenden:
- "Symbol": ist der Zugriffspfad zum Symbol der Schaltfläche
- "tooltip": ist der Zugriffspfad zum Tooltip, der angezeigt wird, wenn die Maus über die Schaltfläche bewegt wird
- "command": definiert die auszuführende Aktion
-
"url": ist der Pfad oder die URL zum Zugriff auf die lokale Anwendung, Webseite oder REST APIHinweis: Der Backslash muss im Zugriffspfad zur lokalen Anwendung doppelt vorkommen (z.B. C:\\MicroCRM\\MicroCRM.exe).
- "params": ist eine Zeichenkette mit Variablen ${xx}, die bei der Ausführung der Aktion durch ihren Wert ersetzt werden
-
"commandType": gibt den Aktionstyp an:
- "none": startet eine lokale Anwendung oder eine Webseite (wenn die Url mit 'http' oder 'https' beginnt)
- "rest": führt einen REST-API-Anruf aus
- "file": holt den Inhalt der Datei, die abgeholt werden soll (hauptsächlich für die Debugger-Abstimmung)
-
"responseType: definiert den Typ des von der Aktion zurückgegebenen Inhalts: "markdown", "json" oder "adaptiveCard".
Wenn auf "json" gesetzt, dann:
- "displayJsonField": definiert das Feld, dessen Wert der anzuzeigende Inhalt ist
- "firstNameJsonField": definiert das Feld, dessen Wert den Vornamen des Anrufers ersetzen soll
- "lastNameJsonField": definiert das Feld, dessen Wert für den Nachnamen des Anrufers stehen soll
- "companyJsonField": definiert das Feld, dessen Wert für den Firmennamen des Anrufers stehen soll
Wenn auf "adaptiveCard" gesetzt, dann:
- "adaptiveCardTemplateJsonField": definiert die Vorlage der adaptiven Karte, die angezeigt werden soll
- "adaptiveCardContentJsonField": definiert den Inhalt der anzuzeigenden adaptiven Karte
- Vorlage und Inhalt in einer Datei: wird hauptsächlich zum Testen verwendet. Die Datei kann lokal sein oder über eine URL zurückgeholt werden
- Vorlage im Manifest und Inhalt in einer Datei: ebenfalls zu Testzwecken verwendet. Die Datei kann auch das Ergebnis eines CGI-Skripts sein
- Vorlage im Manifest und Inhalt Ergebnis eines Rest-Anrufs: nur die Daten werden über eine Rest-API aus der Ferne zurückgeholt
- Vorlage und Inhalt Ergebnis eines Rest-Anrufs: die Daten und das Layout werden per Fernzugriff über eine Rest-API zurückgeholt
Hauptfelder:
Typ des Inhalts in "json":
Zusätzliche Felder
- "AnswerOnClick": wenn auf "true" gesetzt, wird die Aktion ausgeführt und der eingehende Anruf gleichzeitig beantwortet (nur für die Aktion "on-incoming-pbx-call-buttonactions" )
- "filter": wenn auf "NoShortNumber" gesetzt, wird das Ereignis nicht ausgelöst, wenn die Nummer des Anrufers eine kurze Nummer ist
-
"RaiseChangeCall": ermöglicht die Konfiguration des Verhaltens bei der Entgegennahme eines weitergeleiteten Anrufs:
- false: nur direkte Anrufe an den Benutzer lösen das Ereignis aus
- true: das Ereignis wird für direkte Anrufe an den Benutzer und auch für Anrufe, die an diesen Benutzer weitergeleitet wurden, ausgelöst
- only: nur übertragene Anrufe an den Benutzer lösen das Ereignis aus
- "Popup": wenn auf true gesetzt, wird eine Anwendung eines Drittanbieters im rechten Teil der Rainbow-Anwendung angezeigt (nur für die Aktion on-main-window-actions )
Variablen ${xx}
Die Aktionsvorlage kann Variablen ${xx} enthalten, die in den Parametern "url", "params" und "bodyParameters" (für REST API) konfiguriert sind. Sie werden durch ihren Wert ersetzt, wenn die Aktion ausgeführt wird.
Die Variablen ${xx} können sein:
Ein regulärer Ausdruck (d.h. regex) kann auf eine Variable ${xx} angewendet werden.
Die Syntax lautet: ${rainbowVariable.regex(regexPatternValue, replacementValue)}
Der Regex wird auf die Variable ${xx} angewendet, bevor sie an die externe Anwendung gesendet wird, wenn sie Teil der Anfrage ist, oder bevor sie an die Webanwendung übergeben wird, wenn sie Teil einer Antwort ist.
Beispiele:
Wenn ${localUser.phonePbx} durch seinen Wert ersetzt wird, wird auch ein Regex darauf angewendet.
"params": "pbx=${localuser.phonepbx.regex(^\\+33\|^\\+1, 0)}="0)}"
In diesem Beispiel wird "+333909090" in "03909090" geändert.
"params": "byEmail=${localUser.email.regex(alcatel.com, al-enterprise.com)}"
In diesem Beispiel wird "someone@alcatel.com" in "someone@al-enterprise.com" geändert.
Exportieren der Datei "custo-manifest" auf den Computer
- Klicken Sie in der Rainbow-Anwendung auf den Avatar im linken Bereich und dann auf das Menü Einstellungen.
- Wählen Sie im linken Menü Telefonie.
Das Fenster Einstellungen - Telefonie-Konfiguration wird geöffnet. - Erweitern Sie das Fenster bis zum Abschnitt CUSTOMIZATION.
- Klicken Sie auf Datei exportieren und verwenden Sie den Browser, um die Datei custo-manifest auf den Computer zu exportieren.
- Klicken Sie auf Schließen, um das Fenster Telefonie-Einstellungen zu verlassen.
Lokale Konfiguration der custo-manifest Datei
- Öffnen Sie die custo-manifest Datei mit einem Texteditor.
- Konfigurieren Sie die Parameter der zu verwendenden Aktionen.Achtung: Löschen Sie nicht den Raum zwischen den doppelten Anführungszeichen für die nicht verwendeten Parameter ("name": " ", "url": " ", "params": " "), sonst wird die importierte Datei nicht berücksichtigt.
- Entfernen Sie die Parameter aller nicht verwendeten Aktionen.
- Speichern Sie die custo-manifest Datei.
- Wenn die custo-manifest Datei auf externe Quellen (Bilder und/oder Textdateien) verweist, erstellen Sie eine *.zip Datei mit der custo-manifest Datei und den externen Quellen.
Beispiel:
In diesem Beispiel muss die *.ZIP-Datei die Dateien custo-manifest.json, basketball.png und FileDisplay.txt enthalten.
Importieren der custo-manifest Datei in die Rainbow Anwendung
- Klicken Sie in der Rainbow-Anwendung auf den Avatar in der linken Leiste, dann auf das Menü Einstellungen.
- Wählen Sie im linken Menü Telefonie.
Das Fenster Einstellungen - Telefonie-Konfiguration wird geöffnet. - Erweitern Sie das Fenster bis zum Abschnitt CUSTOMIZATION.
- Klicken Sie auf Datei importieren und verwenden Sie den Browser, um entweder nur die custo-manifest Datei (*.json) oder die custo-manifest Datei und ihre externen Quellen (*.ZIP) auszuwählen und in die Rainbow Anwendung zu importieren.
Das Fenster Anpassungsdatei importieren wird geöffnet. - Klicken Sie auf Weiter, um die Rainbow-Anwendung neu zu starten und die neue Datei zu berücksichtigen.
Beispiele für die Konfiguration
Führen Sie eine Anwendung oder ein Skript mit Parametern aus
Beispiel 1:
Die Aktion on-incoming-pbx-call-actions führt eine Anwendung (z.B. MicroCrm) mit einem Parameter aus 'params' aus (keine Rückgabe).
"Version": "2",
"extension-points": {
"on-incoming-pbx-call-actions": [ { "name": "Exec CRM", "command": { "url": "C:\\MyApp\\CustoApp\\MicroCRM.exe", "params": "-number ${caller.phoneNumber}" } ],
Beispiel 2:
Die Aktion on-incoming-pbx-call-actions führt ein Skript (*.bat) mit Parametern aus 'params' aus (keine Rückgabe).
"Version": "2",
"extension-points": {
"on-incoming-pbx-call-actions": [ { "name": "BatScript", "Befehl": { "url": "C:\\MyApp\\MyApp.bat", "params": "IN-COMING canNr:${localUser.canonicalNumber} userIntNr:$"{localUser.internalNumber} caller[Nr:${calle.phoneNumber} FN:${caller.firstName} LN:${caller.lastName} .... CorData:[${call.correlatorData Hex:${call.hexCorrelatorData]" }
} ],
Öffnen Sie eine Webseite mit Parametern
Beispiel 1:
Die Aktion on-incoming-pbx-call-actions öffnet eine Webseite mit Parametern aus 'params' (keine Rückgabe).
"Version": "2",
"extension-points": {
"on-incoming-pbx-call-actions": [ { "name": "Gelbe Seiten", "command": { "url":"https://www.pagesjaunes.fr/annuaireinverse/recherche",
"params": "quoiqui=${caller.phoneNumber}&proximite=0"
}
}
],
Beispiel 2:
Die Aktion on-incoming-pbx-call-actions öffnet eine Webseite mit Parametern direkt in der URL (kein Return).
"Version": "2",
"extension-points": {
"on-incoming-pbx-call-actions": [ { "name": "Kontakt popup", "command": { "url":"http://localhost:3000/contactShow?phone=${caller.phoneNumber}",
"params": " "
}
}
],
Ausführen eines REST-API-Anrufs mit Parametern
Beispiel 1:
Wenn ein eingehender Anruf freigegeben wird, erstellt die Aktion on-releasing-incoming-pbx-call-actions ein END-Anrufprotokoll in REST mit der GET-Methode und den Parametern aus "params" (keine Rückgabe).
"version": "2",
"extension-points": {
"on-releasing-incoming-pbx-call-actions": [ { "name": "GetRestApi", "command": {
"commandType": "rest",
"method": "GET", "url":"http://localhost:3000/IncidentManager/CreateCallLog",
"params": "byEmail=${localUser.email}&CustomerContact=${caller.phonenumber}"
}
}
],
Beispiel 2:
Wenn ein eingehender Anruf freigegeben wird, erstellt die Aktion on-releasing-incoming-pbx-call-actions ein END-Anrufprotokoll in REST mit der POST-Methode und den Parametern von "bodyParameters" (keine Rückgabe).
"version": "2",
"extension-points": {
"on-releasing-incoming-pbx-call-actions": [
{
"name": "PostRestApi",
"command": {
"commandType": "rest",
"method": "POST",
"url":"http://localhost:3000/IncidentManager/EndCallLog",
"params": " "
},
"bodyParameter": {
"caller": "${contact.phoneNumber}",
"Benutzer": "${localUser.email}",
}
],