Senden von E-Mails und Benachrichtigungen
Es gibt zwei Wege, um die Benutzer über Ereignisse zu informieren, die sich nicht auf das Objekt beziehen, das sie aktuell bearbeiten:
-
E-Mails: Normale E-Mail, die an Benutzer, Kontakte oder an jede andere Person gesendet werden kann. Die Grundlage für den E-Mail-Text bildet normalerweise eine Vorlage, siehe Vorlagen. Der Empfänger kann aus dem Vorgang übernommen oder manuell eingegeben werden, siehe Senden von E-Mails.
-
Benachrichtigungen: Kurze Mitteilung, die im Benachrichtigungsfenster im Web Client neben der Schnellsuche. Wenn der Benutzer im Browser Benachrichtigungen erlaubt, können sie auch in der Windows-Taskleiste erscheinen, siehe Senden von Benachrichtigungen.
Senden von E-Mails
Es gibt verschiedene Möglichkeiten, E-Mails aus Workflows zu senden. Die folgende Liste gibt einen Überblick über die Klassen und Methoden, die verwendet werden können, und geht auf die Vor- und Nachteile jeder Variante ein.
Klasse |
Vorteile |
Nachteile |
Bemerkung |
---|---|---|---|
|
|
|
Verwenden Sie die Methode send(), um die E-Mail zu senden (in der API-Dokumentation der Klasse nicht enthalten). |
workflowAPI |
Die Methode sendEmail() besitzt Signaturen, mit denen eine Empfängerliste direkt als Parameter angegeben werden kann. |
|
Verwenden Sie die Methode sendEmail(). |
mailService |
|
|
|
Details über alle Methoden, die in den entsprechenden Klassen zur Verfügung stehen, finden Sie in der ConSol CM API-Dokumentation.
Beachten Sie die folgenden Aspekte, wenn Sie E-Mails im Workflow senden:
-
E-Mails werden nicht automatisch in das Vorgangsprotokoll eingefügt. Falls erforderlich, kann der entsprechende Protokolleintrag im Skript mit der Methode Mail.setAppendToTicket(Ticket) hinzugefügt werden.
-
Das Betreff der E-Mail muss mit dem Muster, das für ausgehende E-Mails im Abschnitt E-Mail definiert wurde, übereinstimmen, siehe E-Mail-Konfiguration. Dies ist nötig, damit Antworten auf die E-Mail dem richtigen Vorgang zugeordnet werden können.
-
Abhängig von der verwendeten Methode werden E-Mails möglicherweise automatisch an Vertreter gesendet, siehe Umgang mit Benutzervertretungen in aus Skripten versendeten E-Mails.
-
Wenn das Template, auf dem die E-Mail basiert, Attachments hat, können Sie mit der Methode MailTemplate.setIncludeAttachments(boolean) entscheiden, ob diese an die E-Mail angehängt werden sollen oder nicht.
Umgang mit Benutzervertretungen in aus Skripten versendeten E-Mails
Wenn Sie E-Mails über Skripte senden, müssen Sie das gewünschte Verhalten definieren, falls der Empfänger ein ConSol CM-Benutzer ist, der zur Zeit durch einen anderen Benutzer vertreten wird. Details zu Vertretungen finden Sie in Konfigurieren von Vertretungen.
Das Verhalten von automatischen E-Mails kann definiert werden, wenn die E-Mail mit der Klasse Mail erstellt wird:
-
Keine Kopie der E-Mail an Vertreter senden:
Mail.setTo(String pTo)
Der Parameter ist die E-Mail-Adresse des ursprünglichen Empfängers.
-
Kopie der E-Mail an Vertreter senden - ein ursprünglicher Empfänger:
Mail.setTargetEngineer(Engineer pTargetEngineer)
Der Parameter ist das Engineer-Objekt des ursprünglichen Empfängers.
-
Kopie der E-Mail an Vertreter senden - mehrere ursprüngliche Empfänger:
Mail.setTargetEngineers(List<Engineer> pTargetEngineers)
Der Parameter ist eine Liste von Engineer-Objekten der ursprünglichen Empfänger.
-
Kopie der E-Mail an Vertreter senden:
Mail.setHandleRepresentatives(boolean pHandleRepresentatives)
Senden von Benachrichtigungen
Die Benachrichtigungen werden angezeigt, wenn der Bearbeiter in der Kopfzeile des Web Clients auf das Glocken-Symbol klickt. Wenn der Benutzer im Browser Benachrichtigungen erlaubt, können sie auch in der Windows-Taskleiste erscheinen.
Abbildung 16: ConSol CM Web Client - Benachrichtigung mit Link zum Vorgang
Automatische Benachrichtigungen können dazu verwendet werden, Benutzer über Ereignisse zu informieren, die in ihren Vorgängen auftreten. Der Code, der die Benachrichtigung erzeugt, kann zum Beispiel in der automatischen Aktivität nach einem Trigger platziert werden.
Beispiel: Wenn eine E-Mail zu einem Vorgang eintrifft, können Sie ein Overlay zum Vorgangs-Icon hinzufügen und dem zugewiesenen Bearbeiter eine Benachrichtigung senden. Zu diesem Zweck brauchen Sie nur einen E-Mail-Trigger hinzuzufügen, der mit einer automatischen Aktivität verbunden ist, in der das Overlay hinzugefügt und die Benachrichtigung gesendet wird. Die Benachrichtigung kann einen Link zum Vorgang enthalten.
Das Skript für die Aktivität könnte wie folgt aussehen:
def myEngineer = workflowApi.engineer.name
def myTicket = workflowApi.ticket.name
if (myEngineer) {
broadcasterService.notificationBuilder().
withSenderName("System").
withMessage("Email received in your case").
withNature("INFO").
withOrigin(myTicket).
withOriginContext("TICKET").
addRecipientName(myEngineer).
build().
send();
}
Code-Beispiel 22: Workflow-Skript zum Senden einer Benachrichtigung
Im Auswahlfeld Verpasste Benachrichtigungen im Benutzerprofil können die Benutzer entscheiden, ob Sie E-Mails für verpasste Benachrichtigungen erhalten wollen:
-
Eine E-Mail pro Tag mit der Anzahl der verpassten Benachrichtigungen: Der Benutzer erhält am Ende des Tages eine Zusammenfassung mit der Anzahl der an diesem Tag erhaltenen ungelesenen Benachrichtigungen.
-
Eine E-Mail für jede verpasste Benachrichtigung mit dem Text: Wenn der Benutzer eine Benachrichtigung erhält, während er offline ist, wird ihm eine E-Mail mit dem Text der Benachrichtigung gesendet.
-
Keine E-Mails für verpasste Benachrichtigungen: Der Benutzer erhält keine E-Mails für verpasste Benachrichtigungen (Standardwert).