SNIPPET

Esta página de ayuda corresponde a Desktop Studio. Esta información también está disponible para Studio.

Icon of SNIPPET: code brackets

Le permite agregar código personalizado a su script.

Realizar Llamadas a la API de REST desde una acción de SNIPPET es muy poco recomendable. En su lugar, use la acción REST API action o Integration Hub. Si su API es SOAP o devuelve xml, revise las recomendaciones sobre cómo minimizar el impacto en su sistema al realizar Llamadas a la API desde SNIPPET.

Dependencias

  • El código que se utiliza en esta acción debe estar escrito en Snippet, un lenguaje de scripting desarrollado internamente para NiCE CXone. La guía de referencia técnica de Studio proporciona información detallada sobre scripting en snippets.
  • Los atributos de los objetos de datos dinámicos no se pueden nombrar __type (con DOs guiones bajos). Esta palabra está reservada para su uso al analizar JSON de objetos dinámicos.
  • Puede realizar Llamadas a la API utilizando la acción Snippet. Sin embargo, este no es el método recomendado para realizar Llamadas a la API en sus Scripts. Si las realiza de esta manera, asegúrese de comprender los riesgos y las prácticas recomendadas.
  • El tamaño máximo de las matrices en Studio es de 63 millones de elementos. Exceder este tamaño de matriz da como resultado el siguiente error en la variable __err en un script trace: Array index out of bounds. The current array index ([index]) exceeds the maximum allowed index (63000000). Cuando se excede el tamaño de la matriz, el script toma la rama Error de la acción SNIPPET. Si la rama Error no está conectada, el script continúa ejecutándose, pero sin la información de la matriz. Puede configurar los scripts para que le notifiquen cuando se haya excedido el tamaño máximo de la matriz, agregando una acción EMAIL a la rama Error de la acción SNIPPET. Finalmente, puede agregar lógica en la rama Error para continuar con el script. Tenga en cuenta que continuará sin la información de la matriz.
  • El tamaño máximo de respuesta en NiCE CXone es de 32 KB. Este límite se aplica de manera estricta para evitar la inestabilidad del clúster y las interrupciones del servicio. Studio aplica este límite al guardar el script, pero Desktop Studio no lo hace. Si es posible, use la acción REST API acción o Integration Hub en lugar de la acción SNIPPET para realizar Llamadas a la API. Ambas tienen el mismo límite, pero pueden manejar una carga mayor. Si debe usar la acción SNIPPET, siga estos consejos para reducir el tamaño de los datos devueltos:

    • Filtrar los datos en la respuesta de la API: Por ejemplo, si utiliza la API de generación de reportes de NiCE para obtener contactos, puede filtrar los resultados por el startDate y el endDate del contacto. Esta Llamada a la API también le permite devolver y limitar una cantidad de los mejores elementos. Consulte la documentación de la API que vino con su integración de script para determinar qué filtro puede usar.

    • Actualice la solicitud de API para que devuelva solo los datos que necesita: por ejemplo, si está utilizando la API de Reporting NiCE para obtener contactos, puede usar los campos contactId o agentId para devolver solo los datos importantes. Consulte la documentación de la API que vino con su integración de script para determinar qué límites de datos puede usar.

    • Compilar middleware: Si no puede realizar ninguna de las DOs opciones anteriores, compile middleware que realice el filtro según criterios personalizados que usted defina. Si lo hace, asegúrese de que su middleware no agregue latencia a la llamada.

  • Every FOR, FOREACH, or REPEAT loop within a SNIPPET is protected by a 500 ms time limit. If a loop exceeds this limit, the SNIPPET action takes the error branch with the error Too much time has elapsed. This prevents the use of excessive system resources for runaway loops. The 500 ms time limit applies only to script-side work, including assignments, arithmetic, conditions, array access, and so on. It does not apply to the end-to-end running of the snippet code. For example, time spent waiting for an external system such as a REST API or database call does not count against this limit.

Tipos de secuencias de comandos compatibles

The icon for a Generic script type - a rectangle with < and > symbols inside it.

The icon for the Email script type - a large @ symbol in a diamond.

El ícono para el tipo de script de Conversación - una burbuja de chat con puntos suspensivos dentro (...), en forma de diamante.

El ícono para el tipo de script Teléfono: un auricular de teléfono de estilo antiguo con líneas curvas que indican que sale sonido de él.

El icono para el tipo de script Voicemail: un símbolo que se parece a un casete, dos círculos sobre una línea horizontal.

El ícono para el tipo de script Work Item: una hoja de papel con una esquina doblada hacia abajo y una lista con viñetas en ella.

El icono para el tipo de script de SMS: un teléfono inteligente con una burbuja de chat que sale de él.

El ícono para el tipo de script Digital: un monitor de computadora con un smartphone al lado.

Genérico

Correo electrónico Conversación Teléfono Mensaje de voz Elemento de trabajo SMS Digital

Propiedades de entrada

Estas propiedades definen los datos que utiliza la acción al ejecutarse.

Propiedad

Descripción

Leyenda

Introduzca 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. El valor predeterminado es el nombre de acción.

Datos

Contiene el código personalizado agregado en la ventana Snippet editor. Esto puede incluir múltiples ASSIGN y DYNAMICcomandos, instrucciones de control de flujo surtidas, y funciones integradas y definidas por el usuario.

MaxStringSize

Establece el tamaño máximo de cadena para todos los comandos en la propiedad Data. Las Opciones SOn: Limit2K, Limit4K, Limit8K, Limit16K, Limit32K. Este límite se aplica a las respuestas de integración con API de REST y SOAP.

Condiciones de la rama resultado

Las condiciones de las ramas de resultado le permiten crear ramas en su script para manejar diferentes resultados cuando se ejecuta una acción.

Condición

Descripción

Por defecto

Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined.

OnError

Path taken when the action fails to execute properly. For example, when there is an unexpected problem such as poor connectivity, syntax errors, and so on. The _ERR variable, with a single underscore character, should be populated with a condensed explanation of the problem.

Tenga precaución al realizar Llamadas de API desde SNIPPET

No se recomienda crear Llamadas a la API dentro de un Snippet. Esto puede generar problemas graves de rendimiento que afecten el manejo de contactos y perjudiquen a su abonado. Para una experiencia más segura y confiable, utilice uno de los siguientes métodos preferidos.

Existen DOs casos en los que realizar llamadas desde SNIPPET es el método que debe utilizar: si se está conectando a un servicio web SOAP o si sus llamadas de API incluyen XML. Si debe usar SNIPPET para llamadas de API:

  • Limite los tiempos DE espera en sus llamadas de API. Una recomendación general es que los tiempos DE espera no sean superiores a DOs segundos. Los tiempos DE espera predeterminados pueden ser más largos, por lo que siempre debe verificar los tiempos DE espera para asegurarse de que no excedan este máximo. Si encuentra que se requieren tiempos de espera más largos, ajuste su servicio web si es posible para mejorar sus tiempos de respuesta.
  • Sea extremamente cuidadoso con la lógica de bucles. La combinación de bucles y tiempos DE espera prolongados agrava el impacto potencial en su sistema.
  • ```

    El tamaño máximo de respuesta en NiCE CXone es de 32 KB. Este límite se aplica de manera estricta para evitar la inestabilidad del clúster y las interrupciones del servicio. Studio aplica este límite al guardar el script, pero Desktop Studio no lo hace. Si es posible, use la acción REST API acción o Integration Hub en lugar de la acción SNIPPET para realizar Llamadas a la API. Ambas tienen el mismo límite, pero pueden manejar una carga mayor. Si debe usar la acción SNIPPET, siga estos consejos para reducir el tamaño de los datos devueltos:

    • Filtrar los datos en la respuesta de la API: Por ejemplo, si utiliza la API de generación de reportes de NiCE para obtener contactos, puede filtrar los resultados por el startDate y el endDate del contacto. Esta Llamada a la API también le permite devolver y limitar una cantidad de los mejores elementos. Consulte la documentación de la API que vino con su integración de script para determinar qué filtro puede usar.

    • Actualice la solicitud de API para que devuelva solo los datos que necesita: por ejemplo, si está utilizando la API de Reporting NiCE para obtener contactos, puede usar los campos contactId o agentId para devolver solo los datos importantes. Consulte la documentación de la API que vino con su integración de script para determinar qué límites de datos puede usar.

    • Compilar middleware: Si no puede realizar ninguna de las DOs opciones anteriores, compile middleware que realice el filtro según criterios personalizados que usted defina. Si lo hace, asegúrese de que su middleware no agregue latencia a la llamada.

    ```

Sugerencias y trucos

Snippet editor Ventana

La ventana Snippet editor se abre cuando hace doble clic en una acción Snippet.

La ventana Snippet editor de la acción Snippet tiene DOs pestañas. Ambas pestañas le permiten crear los mismos tipos de código. Puede alternar entre pestañas y editar su código en cualquier lugar. Las pestañas SOn:

  • La pestaña Vista de texto. Este es un campo de texto de formato libre donde puede escribir su código manualmente.
  • The pestaña Tree View. Esta es una interfaz gráfica que puede usar para crear su código. Esta pestaña tiene una lista desde la que puede seleccionar palabras clave para agregar declaraciones al snippet.

Ejemplo de Script

Este es un ejemplo para demostrar cómo se puede utilizar esta acción en los scripts. No pretende ser un script completo. Es posible que se requiera scripting adicional.

En este simple ejemplo, el código en el Retazo se utiliza para probar si un cliente potencial puede crearse utilizando información de un sistema de terceros.

Un script con dos acciones SNIPPET.

Descargar este script.