CustomEvent
This help page is for Desktop Studio. This information is also available for CXone Studio.
|
Crée un événement personnalisé à travers lequel vous pouvez fournir des données uniques. Les événements personnalisés permettent aux utilisateurs de transmettre une chaîne de caractères à un agent spécifique. Ils peuvent être générés en réponse à une action liée à un agent, telle que OnAnswer. Ils peuvent également être générés avant l'affectation d'un agent, à condition que TargetAgentsoit renseigné dans les propriétés de cette action. L'événement personnalisé généré entre dans le flux d'événements de l'agent. Pour recevoir un événement personnalisé, rejoignez la session de l'agent pour écouter les événements, par exemple en utilisant le paradigme get-next-event. Les événements personnalisés sont utiles si les événements existants ne correspondent pas tout à fait à votre cas d'utilisation. |
Types de scripts pris en charge
|
|
|
|
|
|
|
Générique |
Conversation | Téléphone | Messagerie vocale | Élément de travail | SMS |
Propriétés d'entrée
Ces propriétés définissent les données que l'action utilise lors de son exécution.
Propriété |
Description |
---|---|
Caption |
Entrez une courte phrase qui identifie cette action dans le script de manière unique. La légende est affichée sur le canevas de script sous l’icône de l’action. |
TargetAgent |
L'ID de l'agent visé par l'événement personnalisé. Le script Studio remplit la variable AgentId après l'événement OnAnswer pour un appel entrant. L'événement personnalisé ne s'exécute que lorsque le AgentId est renseigné. Si vous souhaitez envoyer un événement personnalisé avant l'affectation de l'agent, vous devez indiquer l'ID de l'agent dans le champ TargetAgent. |
EventName |
Entrez le nom de l'événement personnalisé. Plusieurs événements portant le même nom se remplaceront. Seul le nom de l'événement le plus récent est conservé. Ce champ est sensible à la casse. |
PersistInMemory |
Si un événement est exécuté lorsqu'un agent est déconnecté et que vous souhaitez qu'il reçoive l'événement lorsqu'il se reconnecte, définissez cette valeur à true. Sinon, définissez comme false. |
Data |
Données utiles pour cet événement. |
Conditions de branche résultantes
Les conditions de branche de résultat vous permettent de créer des branches dans votre script afin de gérer différents résultats lors de l'exécution d'une action.
Condition |
Description |
---|---|
Default | Chemin parcouru sauf si le script remplit une condition qui l'oblige à emprunter l'une des autres branches. Il est également suivi si les autres branches de l’action ne sont pas définies. |
OnAgentNotConnected | Chemin emprunté si l'agent de destination n'est pas connecté. |
Exemple de script
Dans cet exemple de script, les branches illustrent trois scénarios dans lesquels vous générez un événement personnalisé :
-
Branche 1 : initiation et réception d'un événement personnalisé avant toute interaction avec un agent. L'événement personnalisé est reçu par la boucle get-custom-event lorsqu'un contact appuie sur 1.
Afficher l'exemple de charge utile{ "sessionId": "aUF6WkZJeW1nNno4NUp1eEhwZkxGdVgzaUJIRjIyMWlkaUQ2NkN0ejN0VkFyODQ4UFBZV3BiOVhRUT09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 1" } ] }
-
Branche 2 : initiation et réception d'un événement personnalisé avant toute interaction avec un agent. L'événement personnalisé est reçu par la boucle get-custom-event lorsqu'un contact appuie sur 2. De plus, un autre événement personnalisé est créé après le déclenchement de Reqagent et avant que l'agent ne réponde à l'appel.
Afficher l'exemple de charge utileCharge utile avant toute interaction avec l'agent :
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSVRxa0F3MjhiOCtQM2E=", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2" { ] }
Charge utile après le déclenchement de Reqagent et avant que l'agent ne réponde à l'appel :
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSW4xeThiR0M2R1FBYlBhZz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2 and post reqAgent" { ] }
-
Branches 2 et 3 : initiation et réception d'un événement personnalisé après qu'un agent a répondu à l'appel.
Afficher l'exemple de charge utile{ "sessionId": "aktmZEY1aFpDWlVwM0FzenhzTHZ2TnhJanpsZjR5SXhsekYwaUN2TjFYbUcwOW82cjRsZVdIc1FKdz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "CallContactEvent", "ContactID": "510965166955", "MasterID": "510965166955", "Status": "Active", "OriginalState": "False", "CallType": "Regular", "DNIS": "", "ANI": "", "Skill": "23097992", "IsInbound": "True", "StartTimeUTC": "2024-07-12T15:46:38.000Z", "StartTime": "2024-07-12T15:46:38.000Z", "LastStateChangeTimeUTC": "2024-07-12T15:47:11.000Z", "LastStateChangeTime": "2024-07-12T15:47:11.000Z", "ScreenPopUrl": "", "DisconnectCode": "NA", "IsLogging": "False", "Timeout": "", "AllowDispositions": "True", "Label": "", "IsLinked": "False", "TimeZones": "", "FinalState": "False", "OtherInformation": "", "OtherInformationNewFormat": "", "BlendingToSkillName": "", "DeliveryType": "None", "CustomData": "", "ComplianceRecord": "False", "ConfirmationRequired": "False", "ParentContactId": "0", "OmniGroupId": "0", "ExternalId": "", "AnsMachineOverride": "False", "AnsMachineOverrideEndTime": "", "CustomerCardUrl": "", "InteractionId": "6a006eee-03d3-49fd-8aa9-614482684721", "IsRequireManualAccept": "False", "PhoneCallRefusalTimeOut": "45", "FaxMachineOveride": "False" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "This is a sample message after onAnswer" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "Mute", "AgentMuted": "True" } ] }
Créer des événements personnalisés via l'API
Vous pouvez également créer un événement personnalisé à l'aide de l'API custom-event . Cela peut s'avérer nécessaire si l'action CustomEvent ne répond pas aux exigences de votre cas d'utilisation. Comme les services consomment généralement déjà le flux d'événements de l'agent, il peut s'agir d'une méthode pratique pour partager des données sans avoir à mettre en œuvre votre propre point de terminaison personnalisé. Ceci est particulièrement pertinent pour les applications de petite envergure ou les microservices.
Vous demandez aux contacts leur couleur préférée dans l'IVR Menu téléphonique automatisé qui permet aux appelants d'interagir via des commandes vocales, des entrées de touches, ou les deux, pour obtenir des informations, acheminer un appel vocal entrant, ou les deux.. Vous compilez et transmettez cette sélection sous la forme d'un événement personnalisé nommé FavoriteColor. Vous avez également un service compagnon qui s'exécute avec votre application d’agent et qui écoute l'événement FavoriteColor. Cela vous permet de transmettre la sélection de couleur du contact au service compagnon. Le service affiche alors la couleur à l'intérieur de l’application d’agent.
L'utilisation de l'API est similaire à l'action Studio, sauf que vous utilisez des paramètres au lieu de propriétés. L'utilisation des API CXone exige également que vous mettiez en œuvre l'authentification de l'API. Lorsque vous utilisez l'API, veillez à :
-
Nommer l'événement.
- Affecter un agent cible dans le paramètre agentId ou la propriété Agent cible de l'action Studio. Vous pouvez utiliser l'ID de la variable AgentId. Celle-ci est automatiquement remplie après l'événement OnAnswer. Si vous souhaitez envoyer un événement personnalisé avant qu'un agent ne soit affecté, vous devez tout de même fournir un ID d'agent.
- Définissez le champ persistInMemory. Si l'agent est déconnecté, cela détermine s'il recevra l'événement après s'être reconnecté.
- Remplissez le champ Data, qui est la charge utile sous forme de chaîne de caractères.
- Consommez l'événement personnalisé à l'aide de l'API get-next-event ou de l'action Get Next Event Studio.
Vous trouverez ci-dessous un exemple de création d'un événement personnalisé via l'API :
Exemple curl :
curl -X PUT "https://api-$AREA.$DOMAIN/incontactapi/services/v30.0/agents/$AGENT_ID/custom-event?eventName=From_Postman&persistInMemory=false&data=Sent_from_Postman"
Type de requête : PUT
Champs :
Paramètre | Type | Détails |
---|---|---|
agentId | Chaîne | La valeur de l'ID de l'agent qui identifie l'agent cible. |
eventName | Chaîne | Le nom de l'événement. Ce nom doit être utilisé par tous les consommateurs de l'événement. |
persistInMemory | Booléen | Si l'agent identifié par agentId n'est pas actuellement connecté, l'événement sera ignoré ou restera pour l'agent une fois qu'il se sera reconnecté. |
data | Chaîne | N'importe quelle chaîne de données. |