myContactCenterManuel

Données du produit dans le script d’agent

Champs simples des structures du produit pour les conversations, agents, participants, compétences, langues, activités, données jointes, chats et enregistrements dans le script d’agent.

Le script d’agent reçoit des objets du produit dans ses événements. Agent donne aussi accès à l’agent courant. Les tableaux suivants décrivent les valeurs simples des structures utiles aux scripts : textes, nombres, booléens, valeurs temporelles et énumérations.

Les noms de types sont les véritables identifiants C#. Malgré leur nom, Struct_Conversation et Struct_Agent sont des classes, pas des types valeur C# struct. Une variable contenant un tel objet est donc une référence aux données du produit, pas une copie indépendante.

Accès et utilisation

Accès Données du produit
paramètre conversation des événements de conversation Struct_Conversation
Agent et paramètre agent Struct_Agent
conversation.Sender, conversation.Recipient Participant, éventuellement CallParticipant ou MailParticipant
conversation.Skill et événements de compétence Struct_Skill
conversation.Language et événements de langue Struct_Language
Agent.ActivityType et événements d’activité Struct_Activity
paramètre element lors de l’ajout ou du retrait de données jointes ConversationDataElement
paramètre vipClass lors du changement de classe VIP Struct_VIPClass
paramètres du système téléphonique fournis par les événements Struct_PbxSettings
message individuel d’un historique de chat ChatMessage
paramètre recordingSummary à la fin d’un enregistrement RecordingSummary

Une référence peut manquer, par exemple l’agent d’une conversation encore en attente. Vérifiez-la avant l’accès ou utilisez ?.. Dans le constructeur du script, l’API d’agent n’est pas encore affectée ; utilisez ces données dans les événements prévus.

Utilisez les objets du produit pour lire l’état courant. Un setter public ne signifie pas qu’une affectation demande une opération métier au Serveur. Pour accepter, transférer, lancer le post-traitement et effectuer d’autres actions, utilisez les commandes du script prévues. Voir Le script d’agent et Événements.

Struct_Conversation — conversation

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions. Sélection de propriétés simples :

Propriété Type Signification
Id string identifiant de conversation
RoutedConversationId string identifiant de conversation routée
ConversationType ConversationType type de conversation
ChannelType ChannelType canal déduit du type
State ConversationState état courant
PreviousState ConversationState état précédent
StateChangeTime DateTime instant du changement d’état
AgentChangeTime DateTime instant du changement d’agent
Position int position signalée dans la file d’attente
SkillName string nom de compétence, ou vide sans compétence
SkillId int identifiant de compétence
LanguageId int identifiant de langue ; 0 sans langue
SenderName string nom de l’expéditeur ; vide sans expéditeur
SenderNumber string numéro effectif d’un expéditeur téléphonique ; sinon vide
SenderMailAddress string adresse e-mail d’un expéditeur mail ; sinon vide
RecipientName string nom du destinataire ; vide sans destinataire
RecipientNumber string numéro effectif d’un destinataire téléphonique ; sinon vide
RecipientMailAddress string adresse e-mail d’un destinataire mail ; sinon vide
Subject string objet
CcMailAddresses, BccMailAddresses string destinataires e-mail supplémentaires
Classification string classification
TicketId int identifiant du ticket associé
RecordingPermitted bool autorisation d’enregistrer
IsRecording bool enregistrement actif
IsTranscribing bool transcription active
IsManuallyCreated bool création manuelle
IsConnected bool connecté, connecté en interne/externe ou en attente après mise en garde
WasConnected bool a déjà été connecté
IsChat, IsEmail, IsFax, IsCall bool vérifications déduites du type de conversation
IsInboundCall, IsOutboundCall bool appel entrant ou sortant
IsVirtualCallback, IsVirtualDialIn bool rappel virtuel ou réappel entrant virtuel
IsThreateningCall bool appel marqué comme menaçant
TotalWaitTime, TotalActiveTime, TotalHoldTime TimeSpan durées cumulées des états correspondants

State == ConversationState.Connected et IsConnected sont des vérifications différentes : IsConnected inclut aussi la mise en garde et les états connectés en interne ou en externe. WasConnected décrit le passé. Pour un numéro de téléphone, utilisez directement SenderNumber ou RecipientNumber ; cela évite une vérification explicite du type du participant.

Struct_Agent — agent

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions. Agent désigne l’agent courant. Un paramètre d’événement nommé agent peut en revanche concerner un autre agent.

Propriété Type Signification
Id, Name string identifiant et nom de l’agent
IsLogin bool connecté
Active bool indicateur actif
Activity bool activité en cours
Wrapup bool post-traitement normal actif
DynamicWrapup bool temps de post-traitement dynamique non expiré
IsPausing bool post-traitement, activité ou temps de post-traitement restant
RichPresenceState RichPresenceState état de présence ; hors ligne sans objet de présence
RichPresenceText string texte de présence ; vide sans objet de présence
EffectiveState ConversationState état effectif de la conversation déterminante
EffectiveCallState ConversationState état effectif de l’appel déterminant
IsTalking bool état effectif de l’appel connecté ou mis en garde
Extension string premier numéro public, à défaut premier numéro interne
InternalNumberString, PublicNumberString string numéros internes ou publics réunis dans un texte
PBXName, PBXStandby string nom du système téléphonique principal ou de secours
TotalNumberOfConversations int nombre de conversations actuellement traitées par l’agent
MicrophoneMuted bool microphone coupé
CurrentMissedConversations, CurrentRejectedConversations int compteurs courants de conversations manquées ou refusées
LastStateChangeTime, ActivityStartTime, WrapupStartTime DateTime instants des changements correspondants
WrapupTimeSpan, WrapupTillTimeSpan TimeSpan temps de post-traitement écoulé ou restant selon les propriétés correspondantes
ActivityTimeSpan, LoginTimeSpan TimeSpan durée de l’activité ou de la connexion
UnavailableForPhoneCallUntil DateTime instant jusqu’auquel la disponibilité téléphonique est bloquée

Active, IsLogin et la disponibilité pour la distribution sont des informations différentes. Ne déduisez pas une décision complète de distribution d’un seul champ booléen. Voir aussi Symboles des agents et disponibilité pour la représentation de l’état.

Participant, CallParticipant et MailParticipant — participants

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions.

Type Propriété Type de valeur Signification
Participant Identifier string identifiant du participant
Participant Name string nom du participant
CallParticipant EffectiveNumber string numéro effectif, éventuellement normalisé
CallParticipant SipRealm string domaine SIP
CallParticipant CountryCode int indicatif national détecté
CallParticipant LocaleCode, Location string information géographique détectée
CallParticipant NumberType PhoneNumberType type de numéro détecté
MailParticipant MailAddress string adresse e-mail ou indication d’adresse

Les deux types dérivés possèdent aussi Identifier et Name. Lisez les numéros téléphoniques via EffectiveNumber : le getter de CallParticipant.Number est privé et ne peut pas être lu dans le script.

Struct_Skill et Struct_Language — compétence et langue

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions. Les deux types possèdent ces valeurs simples :

Propriété Type Signification
Id int identifiant
Name, Description string nom et description
Deleted bool marqué comme supprimé
IsPrivate bool entrée privée
Key string identifiant sous forme de texte

Struct_Skill possède aussi Color (int, valeur de couleur stockée) et IsQualified (bool, non privé). Propriétés supplémentaires de Struct_Language :

Propriété Type Signification
MailReplyTag, MailForwardTag string marqueurs des réponses et transferts
DictionaryName string culture utilisée pour l’orthographe et la traduction des ressources
FemaleVoice, MaleVoice string voix configurées

Distinguer les niveaux de qualification

Un niveau nommé, par exemple « Expert », diffère de l’affectation d’un agent à une langue ou à une compétence. Tous les types du produit suivants se trouvent dans l’espace de noms ilogixx.SharedFiles.GeneralDefinitions.

Struct_LanguageQualification et Struct_SkillQualification décrivent les niveaux créés dans l’Administration. Ils possèdent tous deux ces propriétés simples :

Propriété Type Signification
Id int identifiant du niveau nommé, pas de la langue ou de la compétence
Qualification int numéro du niveau de qualification
Name string nom du niveau
Key string identifiant du niveau sous forme de texte

Un numéro de niveau valide plus petit signifie une meilleure qualification. La classe KnowledgeLevel définit les valeurs suivantes :

Valeur Signification
KnowledgeLevel.None = -1 non qualifié
KnowledgeLevel.Best = 1 meilleur niveau
KnowledgeLevel.Worst = int.MaxValue limite numérique supérieure des niveaux valides, pas le nombre de niveaux configurés

KnowledgeLevel.IsQualified(niveau, exigence) vérifie que le niveau est au moins égal à 1 et au plus égal à l’exigence. Pour une exigence de 2, les niveaux 1 et 2 suffisent ; 3, 0 et -1 ne suffisent pas. Pour créer et déplacer les niveaux nommés, voir Niveaux de qualification dans l’Administration.

Struct_LanguageQualificationEntry — qualification linguistique

Cet objet décrit l’affectation à une langue. Les affectations actuellement effectives d’un agent se trouvent dans EffectiveLanguages.

Propriété Type Signification
Id int identifiant de l’entrée d’affectation
LanguageId int identifiant de la langue affectée
Qualification int niveau de qualification linguistique ou KnowledgeLevel.None

Le setter de Qualification accepte les numéros de niveau valides à partir de 1 ; les autres valeurs deviennent KnowledgeLevel.None. La présence d’une entrée ne signifie donc pas à elle seule que l’agent est qualifié. IsQualified() vérifie un niveau valide ; IsQualified(exigence) vérifie un niveau suffisant pour l’exigence indiquée.

Dans le script, Agent.GetLanguageQualification(languageId) renvoie directement la valeur simple int de l’affectation actuellement effective. Si la langue manque dans ces affectations, la méthode renvoie KnowledgeLevel.None. D’autres surcharges acceptent un Struct_Language ou une Struct_Conversation. Agent.HasLanguageQualification(languageId, exigence) renvoie la vérification correspondante sous forme de bool.

Struct_SkillQualificationEntry — qualification de compétence

Cet objet décrit l’affectation à une compétence. Les affectations actuellement effectives d’un agent se trouvent dans EffectiveSkills.

Valeur Type Signification
Id int identifiant de l’entrée d’affectation
SkillId int identifiant de la compétence affectée
Qualification[typeQualification] int niveau pour un type de conversation donné ou KnowledgeLevel.None

Qualification lui-même n’est pas un int, mais un Struct_SkillQualificationLevel. Son indexeur renvoie la valeur simple du SkillQualificationType choisi dans l’espace de noms ilogixx.SharedFiles.GeneralEnums :

Type de qualification Signification
InboundCall appel entrant
VirtualCall appel virtuel
Fax fax
EMail e-mail
Chat chat
WebCallback rappel demandé sur le site web
VoiceRecording message vocal

Un type manquant et Undefined renvoient KnowledgeLevel.None. L’affectation à la compétence ne suffit donc pas : un agent peut être qualifié pour les appels dans une compétence, mais pas pour le chat. Les anciennes propriétés QualificationInbound, QualificationOutbound, QualificationFax, QualificationEMail et QualificationChat sont marquées comme obsolètes dans le code. Pour les nouveaux scripts, utilisez l’indexeur ou les méthodes de l’agent.

Agent.GetSkillQualification(skillId, typeQualification) renvoie le niveau actuellement effectif sous forme d’int ; sans affectation, elle renvoie KnowledgeLevel.None. Une surcharge accepte un Struct_Skill au lieu de son identifiant. Agent.GetSkillQualification(conversation) utilise la compétence et le type de qualification de la conversation. Agent.HasSkillQualification(skillId, typeQualification, exigence) renvoie la vérification correspondante sous forme de bool.

Skills et Languages décrivent les affectations configurées ; EffectiveSkills et EffectiveLanguages décrivent l’état actuellement effectif. Les méthodes de l’agent mentionnées utilisent cet état effectif. Une vérification de qualification ne remplace toutefois pas une vérification complète de la connexion, de la disponibilité et des conditions de distribution.

Struct_Activity — activité

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions.

Propriété Type Signification
Id int identifiant d’activité
Name, Description string nom et description
Duration int durée configurée en secondes
DurationTimeSpan TimeSpan même durée sous forme d’intervalle
IsBusyTime bool compter comme temps d’occupation
AllowCalls bool autoriser les appels pendant l’activité
AnswerBySupervisor bool réponse par le superviseur prévue
AutomaticRelease bool libération automatique prévue
SkipInEscalation bool ignorer lors de l’escalade
Key string identifiant sous forme de texte

ConversationDataElement — donnée jointe individuelle

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions.

Propriété Type Signification
Key string nom de la donnée jointe
Value string valeur stockée
Position int position
IsVisible bool indicateur de visibilité, activé par défaut

Value est toujours du texte. Pour un calcul, analysez explicitement un nombre ou une date stockés avec le format adapté. L’événement d’un élément individuel ne fournit pas une collection de toutes les données jointes. Voir Événements.

Struct_VIPClass — classe VIP

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions.

Propriété Type Signification
Id int identifiant
Name, Description string nom et description
Priority int priorité
ARGBColor int valeur de couleur ARGB stockée
Key string identifiant sous forme de texte

Struct_PbxSettings — référence au système téléphonique

Espace de noms : ilogixx.SharedFiles.GeneralDefinitions. Ces champs permettent une référence simple au système téléphonique :

Propriété Type Signification
Tag string identifiant des paramètres téléphoniques
Master, Standby string serveur principal et de secours
PBXType PBXType type de système téléphonique
PBXProtocol Protocol protocole
SipRealm string domaine SIP
ExternalLinePrefix string préfixe de ligne extérieure
SipBasePort, SipPortRange uint début et taille de la plage de ports SIP

ChatMessage — message de chat individuel

Espace de noms : ilogixx.SharedFiles.

Propriété Type Signification
Id, Key string identifiant du message
Time DateTime instant du message
ParticipantName string nom du participant
ParticipantType ParticipantType type de participant
HtmlMessage string texte du message pouvant contenir une mise en forme HTML
IntrusionMode IntrusionMode mode d’intervention

RecordingSummary — enregistrement terminé

Espace de noms : ilogixx.General.Shared. L’événement My_RecordingSummaryReceived fournit cet objet.

Propriété Type Signification
FilePath string chemin du fichier d’enregistrement
FileTotalTime TimeSpan durée totale
FileSize long taille du fichier
FileType AudioFileType type de fichier audio
RecordingType RecordingType type d’enregistrement

Interpréter correctement les types

Comparez les énumérations à des valeurs nommées comme ConversationState.Connected plutôt qu’à des nombres supposés. Les numéros téléphoniques et identifiants restent des string : un numéro de téléphone n’est pas une valeur numérique. TimeSpan est une durée, DateTime un instant. Pour l’affichage et les calculs, TimeSpan.TotalSeconds et TimeSpan.TotalMinutes sont utiles ; Seconds ne contient que la composante des secondes.

Les tableaux décrivent la version du produit utilisée. Les collections, historiques de conversation et objets complexes d’administration nécessitent un accès plus avancé et ne sont pas présentés ici comme des valeurs simples.

    ↑ ↓ sélectionner · Entrée ouvrir · Échap fermer