CustomEvent
This help page is for Desktop Studio. This information is also available for CXone Studio.
|
Crea un evento personalizado a través del cual puede entregar datos únicos. Los eventos personalizados permiten que los usuarios transmitan una cadena a un agente específico. Pueden generarse como respuesta a una acción relacionada con el agente, como OnAnswer. También se pueden generar antes de que se asigne un agente, siempre que TargetAgent se haya rellenado en las propiedades de esta acción. El evento personalizado generado entra a la transmisión del evento del agente. Para recibir un evento personalizado, únase a la sesión del agente para escuchar los eventos, por ejemplo, usando el paradigma obtener-el-siguiente-evento. Los eventos personalizados son útiles si los eventos existentes no terminan de encajar en su caso de uso. |
Tipos de scripts compatibles
|
|
|
|
|
|
|
Genérico |
Correo electrónico | Conversación | Teléfono | Correo de voz | Elemento de trabajo | SMS |
Propiedades de entrada
Estas propiedades definen los datos que utiliza la acción al ejecutarse.
Las propiedad |
Descripción |
---|---|
Caption |
Ingrese una frase corta que identifique de forma única esta acción en el script. La leyenda aparece en el lienzo del script debajo del ícono de acción. |
TargetAgent |
El ID del agente al que está destinado el evento personalizado. El script de Studio rellena la variable AgentId después del evento OnAnswer para una llamada entrante. El evento personalizado sólo se ejecuta cuando se rellena AgentId. Si desea enviar un evento personalizado antes de la asignación del agente, debe proporcionar un ID de agente en el campo TargetAgent. |
EventName |
Introduce el nombre que le das al evento personalizado. Múltiples eventos con el mismo nombre se sobrescriben entre sí. Solo se conserva el nombre del evento más reciente. Este campo distingue entre mayúsculas y minúsculas. |
PersistInMemory |
Si un evento se ejecuta cuando un agente está desconectado y usted desea que reciba el evento cuando vuelva a iniciar sesión, defina este valor como true. De lo contrario, defínalo como false. |
Data |
Carga útil de datos para este evento. |
Condiciones de la rama de resultados
Las condiciones de las ramas de resultados le permiten crear ramas en su script para manejar diferentes resultados cuando se ejecute una acción.
Condición |
Descripción |
---|---|
Default | Recorrido a menos que el script cumple una condición que requiere uno de los otros poderes. También se considera si no están definidas las demás ramas de la acción. |
OnAgentNotConnected | Ruta tomada si el agente de destino no está conectado. |
Ejemplo de secuencia de comandos
En este script de ejemplo, las ramas ejemplifican tres escenarios en los que usted generaría un evento personalizado:
-
Rama 1: Iniciar y recibir un evento personalizado antes de cualquier interacción del agente. El evento personalizado lo recibe el bucle de get-custom-event cuando un contacto pulsa 1.
Ver carga útil de ejemplo{ "sessionId": "aUF6WkZJeW1nNno4NUp1eEhwZkxGdVgzaUJIRjIyMWlkaUQ2NkN0ejN0VkFyODQ4UFBZV3BiOVhRUT09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 1" } ] }
-
Rama 2: Iniciar y recibir un evento personalizado antes de cualquier interacción del agente. El evento personalizado lo recibe el bucle de get-custom-event cuando un contacto pulsa 2. Además, se genera otro evento personalizado después de que se activa Reqagent y antes de que el agente responda la llamada.
Ver carga útil de ejemploCarga útil antes de cualquier interacción del agente:
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSVRxa0F3MjhiOCtQM2E=", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2" { ] }
Carga útil después de que se activa Reqagent y antes de que el agente responda la llamada:
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSW4xeThiR0M2R1FBYlBhZz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2 and post reqAgent" { ] }
-
Ramas 2 y 3: Iniciar y recibir un evento personalizado después de que el agente responde la llamada.
Ver carga útil de ejemplo{ "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" } ] }
Crear eventos personalizados mediante API
También puede crear un evento personalizado con la API evento personalizado . Esto puede ser necesario si la acción CustomEvent no cumple los requisitos de su caso de uso. Como los servicios ya suelen consumir la transmisión del evento del agente, puede ser un método práctico para compartir datos sin necesidad de implementar su propio terminal personalizado. Esto resulta particularmente relevante para las aplicaciones o microservicios de alcance pequeño.
Usted consulta a los contactos cuál es su color preferido en la IVR Menú telefónico automatizado que permite a las personas que llaman interactuar a través de comandos de voz, entradas de teclas o ambos, para obtener información, enrutar una llamada de voz entrante o ambos.. Empaqueta y transmite esta selección como un evento personalizado llamado FavoriteColor. También tiene en ejecución un servicio complementario con su La aplicación del agente que escucha el evento de FavoriteColor. Esto le permite transmitir la selección de color del contacto al servicio complementario. Después, el servicio muestra el color dentro de La aplicación agente.
Usar la API es similar a la acción Studio, excepto que se emplean parámetros en lugar de propiedades. Usar las API de CXone requiere también que implemente una autenticación API. Al usar la API, asegúrese de lo siguiente:
-
Nombre el evento.
- Asigne un agente objetivo en el parámetro agentId o la propiedad Agente objetivo de la acción Studio. Puede usar el ID de la variable AgentId. Esto se rellena de forma automática después del evento OnAnswer. Incluso si desea enviar un evento personalizado antes de que se asigne un agente, debe proporcionar un ID de agente.
- Defina el campo persistInMemory. Si el agente cierra la sesión, esto determina si recibirá o no el evento después de volver a iniciarla.
- Rellene el campo Data, que es la carga útil en forma de cadena.
- Consuma el evento personalizado con la API obtener-el-siguiente-evento o la acción Obtener el siguiente evento Studio.
El siguiente es un ejemplo de cómo crear un evento personalizado mediante la API:
Curl de ejemplo:
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"
Tipo de solicitud: PUT
Campos:
Parámetro | Tipo | Detalles |
---|---|---|
agentId | Cadena | El valor del ID de agente que identifica al agente objetivo. |
eventName | Cadena | El nombre del evento. Esto lo debe usar todo consumidor del evento. |
persistInMemory | Booleano | Si el agente identificado por agentId no está conectado en este momento, el evento se ignorará o se mantendrá para el agente cuando se vuelva a conectar. |
data | Cadena | Cualquier cadena de datos. |