Un script d’agent redéfinit les événements auxquels il doit
réagir. Tous sont public virtual void ; un événement que le script ne
redéfinit pas se contente d’écrire une ligne dans le journal.
Événements liés aux conversations
Chaque événement existe deux fois : pour toutes les conversations que
l’Agent connaît, et, précédé de My_, pour les siennes — celles dont il
est l’agent. conversation est chaque fois de type Struct_Conversation.
| Événement | Autres paramètres | Se produit lorsque … |
|---|---|---|
ConversationRegistered |
– | l’Agent prend connaissance d’une conversation |
ConversationUnregistered |
– | une conversation se termine ; l’événement propre aussi lorsque cet agent était son agent précédent |
ConversationStateChanged |
ConversationState previousState, ConversationState state |
son état change — l’événement le plus utilisé |
ConversationAgentChanged |
Struct_Agent agent |
un autre agent la reprend |
ConversationSkillChanged |
Struct_Skill previousSkill, Struct_Skill skill |
sa compétence change |
ConversationLanguageChanged |
Struct_Language language |
sa langue change |
ConversationAgentLanguageChanged |
Struct_Language language |
la langue dans laquelle l’agent la mène change |
ConversationAttachedDataReceived |
Struct_ConversationAttachedData elements |
ses données jointes arrivent à nouveau au complet |
ConversationAttachedDataElementAdded, ConversationAttachedDataElementRemoved |
ConversationDataElement element |
une donnée jointe est ajoutée ou supprimée |
ConversationPositionChanged |
int position |
sa place dans la file d’attente change |
ConversationQueueTimeChanged, ConversationStartTimeChanged |
DateTime time |
l’heure de la mise en file d’attente ou du début change |
ConversationQuickPicked |
Struct_Agent agent |
un agent la récupère ; l’événement propre lorsque c’était cet agent |
ConversationSenderChanged, ConversationRecipientChanged |
string sender ou string recipient |
le nom de l’expéditeur ou du destinataire change |
ConversationContactIdChanged |
string previousContactId, string contactId |
son identifiant de contact change |
ConversationTypeChanged |
ConversationType previousType, ConversationType type |
son type de conversation change |
ConversationVIPClassChanged |
Struct_VIPClass vipClass |
elle reçoit une classe VIP |
ConversationPbxSettingsChanged |
Struct_PbxSettings previous, Struct_PbxSettings pbxSettings |
son PBX change |
ConversationRecordingPermissionChanged |
bool permitted |
l’autorisation de l’enregistrer change |
ConversationRecordingChanged |
pour toutes : Struct_Agent agent avant conversation ; dans les deux cas : bool isRecording |
un enregistrement commence ou se termine |
Uniquement pour toutes les conversations, il existe en outre
ConversationTranscribingChanged(Struct_Agent agent, Struct_Conversation conversation, bool isTranscribing)
— une transcription commence ou se termine — et ConversationsReplaced() :
l’Agent a rechargé la liste de toutes les conversations.
Événements liés à tous les agents
Le premier paramètre est chaque fois l’agent concerné, Struct_Agent agent.
| Événement | Autres paramètres | Se produit lorsque … |
|---|---|---|
AgentLogon, AgentLogoff |
pour AgentLogoff : AgentLogoffReason reason |
un agent se connecte ou se déconnecte |
AgentWrapupChanged |
bool state |
un agent passe en post-traitement ou le termine |
AgentWrapupUntil |
DateTime until |
l’heure de fin de son post-traitement dynamique est connue |
AgentWrapupTerminated |
– | son post-traitement dynamique se termine |
AgentActivityChanged |
bool state, Struct_Activity activityType |
un agent commence ou termine une activité |
AgentPresenceStateChanged |
RichPresenceState richPresenceState |
sa présence change |
AgentMicrophoneMuteChanged |
bool muteState |
il coupe ou rétablit son micro |
AgentConfigChanged |
– | ses paramètres changent |
AgentPbxSettingsChanged |
string pbx |
son PBX change |
Événements liés à l’agent du poste
| Événement | Paramètres | Se produit lorsque … |
|---|---|---|
My_AgentLogon, My_AgentLogoff |
pour My_AgentLogoff : AgentLogoffReason reason |
l’agent se connecte ou se déconnecte |
My_AgentConnected, My_AgentDisconnected |
pour My_AgentDisconnected : UnregisterReason reason |
la connexion au serveur est établie ou interrompue |
My_AgentIdleChanged |
bool state |
l’agent devient libre ou occupé |
My_AgentWrapupChanged |
bool state |
il passe en post-traitement ou le termine |
My_AgentWrapupUntil |
DateTime until |
l’heure de fin de son post-traitement dynamique est connue |
My_AgentWrapupTerminated |
– | son post-traitement dynamique se termine |
My_AgentMaxWrapupTimeElapsed |
– | la durée maximale de son post-traitement dynamique est écoulée |
My_AgentActivityChanged |
bool state, Struct_Activity activityType |
il commence ou termine une activité |
My_AgentPresenceStateChanged |
RichPresenceState richPresenceState |
sa présence change |
My_AgentMicrophoneMuteChanged |
bool muteState |
il coupe ou rétablit son micro |
My_AgentConfigurationChanged |
– | ses paramètres changent |
My_AgentPbxSettingsChanged |
string pbx |
son PBX change |
My_AgentConversationDispatched |
Struct_Conversation contact |
une conversation lui est attribuée |
My_AgentWarnHandlingTimeReached |
Struct_Conversation conversation |
le délai d’avertissement du traitement est atteint |
My_AgentActivityPermissionReceived, My_AgentWrapupPermissionReceived, My_AgentLogoffPermissionReceived, My_AgentSkillChangePermissionReceived, My_AgentLanguageChangePermissionReceived |
ConstraintReason permission |
le serveur répond à une demande d’activité, de post-traitement, de déconnexion ou de changement de compétence ou de langue, voir Contraintes |
My_AgentChatMessageReceived |
string conversationId, string message |
un message de chat arrive ; message est du HTML |
My_AgentChatFeedReceived |
string conversationId, IEnumerable<ChatMessage> feed |
l’historique d’un chat arrive |
My_AgentMimeMessageReceived |
MimeMessage mimeMessage |
un e-mail demandé arrive, voir Request_MimeMessage |
My_AgentPOPUPMessageReceived |
string head, string body |
un message destiné à la fenêtre de notification arrive |
My_AgentStatisticsReceived |
RealtimeAgentStatistics statistics |
ses statistiques en temps réel arrivent |
My_RecordingSummaryReceived |
RecordingSummary recordingSummary |
un enregistrement est terminé ; contient entre autres FilePath, FileTotalTime et FileSize |
Propriétés
| Propriété | Contenu |
|---|---|
Agent |
l’agent du poste (Struct_Agent), avec entre autres Name, Id, Extension, Wrapup, Activity, Idle |
AgentConversations |
les conversations de l’agent du poste |
Conversations |
toutes les conversations que l’Agent connaît ; sous-ensembles comme Calls, Emails, Chats et InboundCalls |
Trace |
le journal du script : Trace.Info(…), Trace.Warning(…), Trace.Error(…), Trace.Verbose(…) |
Commandes
| Commande | Effet |
|---|---|
BrowseTo(string url, bool openInNewTab = false) |
ouvre l’adresse dans le module Navigateur — dans l’onglet actif ou dans un nouvel onglet |
Show(Form form) |
affiche une fenêtre personnalisée au-dessus de la fenêtre principale de l’Agent |
AcceptConversation(Struct_Conversation conversation) |
prend un appel sur le softphone de l’Agent ; la commande n’accepte pas les autres canaux |
TerminateConversation(Struct_Conversation conversation) |
met fin à la conversation |
HangupActiveCall() |
raccroche tous les appels pris sur le softphone, y compris ceux mis en attente |
HangupAllCalls() |
raccroche tous les appels sur le softphone |
Wrapup(bool state) |
true demande le post-traitement, avec les mêmes vérifications qu’à la main ; false le termine |
TerminateDynamicWrapup() |
termine le post-traitement dynamique en cours |
Activity(false) |
termine l’activité en cours |
Logoff() |
demande la déconnexion comme l’agent le fait à la main ; si elle est autorisée, il se déconnecte et le programme se ferme |
CreateEMail(string subject, string to), CreateEMail(string subject, string to, string skill, string language) |
crée un nouvel e-mail ; compétence et langue indiquées par leur nom |
Request_MimeMessage(Struct_Conversation conversation) |
demande l’e-mail de la conversation ; il arrive avec My_AgentMimeMessageReceived |
SendMail(MimeMessage email, string conversationId) |
envoie le message comme réponse dans une conversation e-mail existante |
ShowBusyLight(ConversationState state), ShowBusyLight(RichPresenceState state), SetBusyLightOff() |
pilote un voyant d’état connecté (Busylight) |
Données d’une conversation
Les principales propriétés de Struct_Conversation :
| Propriété | Contenu |
|---|---|
Id, TicketId |
identifiant de la conversation et de son ticket |
State, PreviousState |
état et état précédent |
ConversationType, ChannelType |
type de conversation et canal |
IsCall, IsInboundCall, IsEmail, IsChat |
nature de la conversation |
Skill, SkillName, Language |
compétence et langue |
Agent |
l’agent de la conversation |
SenderName, SenderNumber, SenderMailAddress |
nom, numéro et adresse de l’expéditeur |
CallerNumber, CalledNumber |
numéro de l’appelant et numéro composé |
Subject |
objet |
AttachedData |
les données jointes |
Vous lisez les données jointes avec conversation.AttachedData.StringValue("Clé")
— sans distinction entre majuscules et minuscules ; si la clé n’existe pas, le
résultat est un texte vide. Le script ne fait que lire les données jointes ; il
ne peut pas les modifier.
Espaces de noms
| Espace de noms | Types |
|---|---|
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 |
Le script peut utiliser toutes les bibliothèques qui se trouvent dans le
dossier du programme de l’Agent — donc aussi .NET lui-même, par exemple
System.Net.Http pour les services web ou System.Diagnostics.Process pour
démarrer des programmes.