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 à un agent spécifique. Ils peuvent être générés en réponse à une action liée à l’agent, telle que OnAnswer. Ils peuvent également être générés avant l’assignation d’un agent à condition que TargetAgent soit 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 |
Courriel | Clavardage | 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 |
Saisissez une courte phrase qui identifie de manière unique cette action dans le script. La légende apparaît dans le canevas de script sous l’icône d’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 AgentId est rempli. Si vous souhaitez envoyer un événement personnalisé avant qu’un agent ne soit affecté, vous devez fournir un ID d’agent dans le champ TargetAgent. |
EventName |
Entrez le nom que vous avez pour 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 sur true. Dans le cas contraire, elle est définie sur false. |
Data |
Données utiles pour cet événement. |
Conditions de la branche de résultat
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 emprunté à moins que le script ne remplisse une condition exigeant qu’il prenne l’une des autres branches. Elle est également prise 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 pouvez engendrer un événement personnalisé :
-
Branche 1 : Initiation et réception d’un événement personnalisé avant toute interaction avec l’agent. L’événement personnalisé est reçu par la boucle get-custom-event lorsqu’un contact appuie sur 1.
Afficher un 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 l’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 que le Reqagent se soit déclenché et avant que l’agent ne réponde à l’appel.
Afficher un 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 ait répondu à l’appel.
Afficher un 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 API
Vous pouvez également créer un événement personnalisé avec 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 terminal 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 conditionnez et transmettez cette sélection sous la forme d’un événement personnalisé nommé FavoriteColor. Vous avez également un service compagnon qui fonctionne avec votre application d’agent et qui écoute l’événement FavoriteColor. Cela vous permet de transmettre la sélection de couleur des contacts au service compagnon. Le service affiche ensuite la couleur dans l’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 API. Lorsque vous utilisez l’API, veillez à :
-
Nommer l’événement.
- Assigner 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. Ce champ est automatiquement rempli 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éfinir le champ persistInMemory. Si l’agent est déconnecté, cela détermine s’il recevra l’événement après s’être reconnecté.
- Remplir le champ Data, qui est la charge utile sous forme de chaîne.
- Consommez l’événement personnalisé avec l’API get-next-event ou l’action Obtenir le prochain événement 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 demande : PUT
Champs :
Paramètre | Type | Détails |
---|---|---|
agentId | Chaîne | Valeur de l’ID de l’agent qui identifie l’agent cible. |
eventName | Chaîne | Le nom de l’événement. Il 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 soit ignoré, soit conservé pour l’agent une fois qu’il se sera reconnecté. |
data | Chaîne | N’importe quelle chaîne de données. |