myContactCenterHandbuch

Ereignisse und Befehle

Alle Ereignisse, auf die ein Agentenskript reagieren kann, die Befehle und Eigenschaften, die es nutzen kann, die wichtigsten Daten einer Konversation und die Namensräume der Typen.

Ein Agentenskript überschreibt die Ereignisse, auf die es reagieren soll. Alle sind public virtual void; ein Ereignis, das das Skript nicht überschreibt, schreibt nur eine Zeile ins Protokoll.

Ereignisse zu Konversationen

Jedes Ereignis gibt es zweimal: für alle Konversationen, die der Agent kennt, und mit My_ davor für die eigenen — die, deren Agent er ist. conversation ist jeweils vom Typ Struct_Conversation.

Ereignis weitere Parameter tritt ein, wenn …
ConversationRegistered – der Agent eine Konversation kennenlernt
ConversationUnregistered – eine Konversation endet; das eigene Ereignis auch, wenn dieser Agent ihr voriger Agent war
ConversationStateChanged ConversationState previousState, ConversationState state sich ihr Zustand ändert — das am häufigsten genutzte Ereignis
ConversationAgentChanged Struct_Agent agent ein anderer Agent sie übernimmt
ConversationSkillChanged Struct_Skill previousSkill, Struct_Skill skill sich ihr Wissensgebiet ändert
ConversationLanguageChanged Struct_Language language sich ihre Sprache ändert
ConversationAgentLanguageChanged Struct_Language language sich die Sprache ändert, in der der Agent sie führt
ConversationAttachedDataReceived Struct_ConversationAttachedData elements ihre Zusatzdaten vollständig neu ankommen
ConversationAttachedDataElementAdded, ConversationAttachedDataElementRemoved ConversationDataElement element ein Zusatzdatum hinzukommt bzw. entfällt
ConversationPositionChanged int position sich ihr Platz im Wartefeld ändert
ConversationQueueTimeChanged, ConversationStartTimeChanged DateTime time sich der Zeitpunkt des Einreihens bzw. des Beginns ändert
ConversationQuickPicked Struct_Agent agent ein Agent sie heranholt; das eigene Ereignis, wenn dieser Agent es war
ConversationSenderChanged, ConversationRecipientChanged string sender bzw. string recipient sich der Name des Absenders bzw. Empfängers ändert
ConversationContactIdChanged string previousContactId, string contactId sich ihre Kontaktkennung ändert
ConversationTypeChanged ConversationType previousType, ConversationType type sich ihr Konversationstyp ändert
ConversationVIPClassChanged Struct_VIPClass vipClass sie eine VIP-Klasse bekommt
ConversationPbxSettingsChanged Struct_PbxSettings previous, Struct_PbxSettings pbxSettings sich ihre Telefonanlage ändert
ConversationRecordingPermissionChanged bool permitted sich ändert, ob sie aufgezeichnet werden darf
ConversationRecordingChanged alle: Struct_Agent agent vor conversation; beide: bool isRecording ein Mitschnitt beginnt oder endet

Nur für alle Konversationen gibt es außerdem ConversationTranscribingChanged(Struct_Agent agent, Struct_Conversation conversation, bool isTranscribing) — eine Transkription beginnt oder endet — und ConversationsReplaced(): Der Agent hat die Liste aller Konversationen neu geladen.

Ereignisse zu allen Agenten

Der erste Parameter ist jeweils der betroffene Agent, Struct_Agent agent.

Ereignis weitere Parameter tritt ein, wenn …
AgentLogon, AgentLogoff bei AgentLogoff: AgentLogoffReason reason sich ein Agent an- bzw. abmeldet
AgentWrapupChanged bool state ein Agent in die Nacharbeit geht oder sie beendet
AgentWrapupUntil DateTime until feststeht, wann seine dynamische Nacharbeit endet
AgentWrapupTerminated – seine dynamische Nacharbeit endet
AgentActivityChanged bool state, Struct_Activity activityType ein Agent eine Tätigkeit beginnt oder beendet
AgentPresenceStateChanged RichPresenceState richPresenceState sich seine Präsenz ändert
AgentMicrophoneMuteChanged bool muteState er sein Mikrofon stumm- oder zurückschaltet
AgentConfigChanged – sich seine Einstellungen ändern
AgentPbxSettingsChanged string pbx sich seine Telefonanlage ändert

Ereignisse zum eigenen Agenten

Ereignis Parameter tritt ein, wenn …
My_AgentLogon, My_AgentLogoff bei My_AgentLogoff: AgentLogoffReason reason sich der Agent an- bzw. abmeldet
My_AgentConnected, My_AgentDisconnected bei My_AgentDisconnected: UnregisterReason reason die Verbindung zum Server steht bzw. abbricht
My_AgentIdleChanged bool state der Agent frei oder beschäftigt wird
My_AgentWrapupChanged bool state er in die Nacharbeit geht oder sie beendet
My_AgentWrapupUntil DateTime until feststeht, wann seine dynamische Nacharbeit endet
My_AgentWrapupTerminated – seine dynamische Nacharbeit endet
My_AgentMaxWrapupTimeElapsed – die Höchstdauer seiner dynamischen Nacharbeit abgelaufen ist
My_AgentActivityChanged bool state, Struct_Activity activityType er eine Tätigkeit beginnt oder beendet
My_AgentPresenceStateChanged RichPresenceState richPresenceState sich seine Präsenz ändert
My_AgentMicrophoneMuteChanged bool muteState er sein Mikrofon stumm- oder zurückschaltet
My_AgentConfigurationChanged – sich seine Einstellungen ändern
My_AgentPbxSettingsChanged string pbx sich seine Telefonanlage ändert
My_AgentConversationDispatched Struct_Conversation contact ihm eine Konversation zugestellt wird
My_AgentWarnHandlingTimeReached Struct_Conversation conversation die Warnzeit der Bearbeitung erreicht ist
My_AgentActivityPermissionReceived, My_AgentWrapupPermissionReceived, My_AgentLogoffPermissionReceived, My_AgentSkillChangePermissionReceived, My_AgentLanguageChangePermissionReceived ConstraintReason permission der Server auf eine Anfrage nach Tätigkeit, Nacharbeit, Abmeldung oder einem Wechsel von Wissensgebiet oder Sprache antwortet, siehe Beschränkungen
My_AgentChatMessageReceived string conversationId, string message eine Chatnachricht ankommt; message ist HTML
My_AgentChatFeedReceived string conversationId, IEnumerable<ChatMessage> feed der Verlauf eines Chats ankommt
My_AgentMimeMessageReceived MimeMessage mimeMessage eine angeforderte E-Mail ankommt, siehe Request_MimeMessage
My_AgentPOPUPMessageReceived string head, string body eine Mitteilung für das Hinweisfenster ankommt
My_AgentStatisticsReceived RealtimeAgentStatistics statistics seine Echtzeitstatistik ankommt
My_RecordingSummaryReceived RecordingSummary recordingSummary ein Mitschnitt abgeschlossen ist; enthält u. a. FilePath, FileTotalTime und FileSize

Eigenschaften

Eigenschaft Inhalt
Agent der eigene Agent (Struct_Agent), u. a. mit Name, Id, Extension, Wrapup, Activity, Idle
AgentConversations die Konversationen des eigenen Agenten
Conversations alle Konversationen, die der Agent kennt; Teilmengen wie Calls, Emails, Chats und InboundCalls
Trace das Protokoll des Skripts: Trace.Info(…), Trace.Warning(…), Trace.Error(…), Trace.Verbose(…)

Befehle

Befehl Wirkung
BrowseTo(string url, bool openInNewTab = false) öffnet die Adresse im Modul Browser — im aktiven Reiter oder in einem neuen
Show(Form form) zeigt ein eigenes Fenster über dem Hauptfenster des Agenten
AcceptConversation(Struct_Conversation conversation) nimmt einen Anruf am Softphone des Agenten an; andere Kanäle nimmt der Befehl nicht an
TerminateConversation(Struct_Conversation conversation) beendet die Konversation
HangupActiveCall() legt alle angenommenen Anrufe am Softphone auf, auch gehaltene
HangupAllCalls() legt alle Anrufe am Softphone auf
Wrapup(bool state) true fragt die Nacharbeit an, mit denselben Prüfungen wie von Hand; false beendet sie
TerminateDynamicWrapup() beendet die laufende dynamische Nacharbeit
Activity(false) beendet die laufende Tätigkeit
Logoff() fragt die Abmeldung an wie der Agent von Hand; ist sie erlaubt, meldet er sich ab und das Programm schließt
CreateEMail(string subject, string to), CreateEMail(string subject, string to, string skill, string language) legt eine neue E-Mail an; Wissensgebiet und Sprache mit Namen
Request_MimeMessage(Struct_Conversation conversation) fordert die E-Mail der Konversation an; sie kommt mit My_AgentMimeMessageReceived
SendMail(MimeMessage email, string conversationId) sendet die Nachricht als Antwort in einer bestehenden E-Mail-Konversation
ShowBusyLight(ConversationState state), ShowBusyLight(RichPresenceState state), SetBusyLightOff() steuert eine angeschlossene Statuslampe (Busylight)

Daten einer Konversation

Die wichtigsten Eigenschaften von Struct_Conversation:

Eigenschaft Inhalt
Id, TicketId Kennung der Konversation und ihres Tickets
State, PreviousState Zustand und voriger Zustand
ConversationType, ChannelType Konversationstyp und Kanal
IsCall, IsInboundCall, IsEmail, IsChat Art der Konversation
Skill, SkillName, Language Wissensgebiet und Sprache
Agent der Agent der Konversation
SenderName, SenderNumber, SenderMailAddress Name, Nummer und Adresse des Absenders
CallerNumber, CalledNumber Nummer des Anrufers und die gewählte Nummer
Subject Betreff
AttachedData die Zusatzdaten

Zusatzdaten lesen Sie mit conversation.AttachedData.StringValue("Schlüssel") — ohne Unterschied zwischen Groß- und Kleinschreibung, bei fehlendem Schlüssel ein leerer Text. Das Skript liest Zusatzdaten nur; ändern kann es sie nicht.

Namensräume

Namensraum Typen
ilogixx.Agent MyCCAgentScript
ilogixx.SharedFiles.GeneralDefinitions Struct_Conversation, Struct_Agent, Struct_Skill, Struct_Language, Struct_Activity, Struct_VIPClass, Struct_PbxSettings, Struct_ConversationAttachedData, ConversationDataElement
ilogixx.SharedFiles.GeneralEnums ConversationState, ConversationType, ChannelType, RichPresenceState
ilogixx.SharedFiles ConstraintReason, ChatMessage, RealtimeAgentStatistics
ilogixx AgentLogoffReason, UnregisterReason
ilogixx.General.Shared RecordingSummary
MimeKit MimeMessage
System.Windows.Forms Form

Das Skript kann alle Bibliotheken nutzen, die im Programmordner des Agenten liegen — also auch .NET selbst, etwa System.Net.Http für Webdienste oder System.Diagnostics.Process, um Programme zu starten.

    ↑ ↓ auswählen · Eingabe öffnen · Esc schließen