Business Continuity Planning: Métodos de manejo de errores de JavaScript

 

Resumen

Studio Functions ofrece gestión de funciones de autoservicio, lo que le permite asignar una tarea basada en código JavaScript personalizado y preconfigurado que ejecuta una acción específica en su flujo de Studio. El manejo de errores de JavaScript puede ayudarle a utilizar esta función de forma segura y reducir el impacto de los errores en su código personalizado. Si es nuevo en JavaScript o desea obtener más información sobre este tema, hay varios recursos abiertos disponibles, incluidos W3 Schools y MDN, que proporcionan guías detalladas para escribir sus funciones.

Los métodos try {} y catch {} ofrecen una solución sencilla para el manejo de errores de JavaScript. El bloque try {} intenta primero ejecutar el bloque de código que ha definido. Si se produce un error, se ejecuta el bloque catch {} en su lugar. Este método puede ser beneficioso si tiene funciones grandes y complejas que podrían ser más difíciles de solucionar o más propensas a errores.

function (args) {
  // Your function inputs will be listed here
  const { my_input } = args;
  // ⬇️ Write your code below ⬇️
  try {
    //Block of code to try
  } catch (error) {
    //Block of code to execute if an error occurs
  } finally {
    //Optional block of code to execute regardless of errors
  }
}

Mejores prácticas

  • Devuelva la propiedad del mensaje de los errores de JavaScript en una variable de salida para crear mensajes de error detallados. Luego puede exponer esta variable como contexto en Conversations para proporcionar información valiosa a sus agentes.
  • Si sus Functions generan valores de salida utilizados para el enrutamiento dinámico basado en el contexto, utilice la declaración catch{} para proporcionar un valor alternativo. Esto garantizará que las interacciones se puedan enrutar correctamente independientemente del error.

 

Ejemplos adicionales de manejo de errores de JavaScript

Assignment de ring group de reserva de retorno

Esta función analiza un objeto JSON, accede a la propiedad ring_group y devuelve esta información en una variable de salida con el mismo nombre. Este tipo de función puede ser útil para analizar el registro de un cliente desde un sistema externo (como un CRM) y asignar su llamada directamente al ring group correcto.

Sin manejo de errores, si el Array de entrada estuviera en blanco o no estuviera definido, se produciría un error de ejecución y la variable de salida ring_group permanecería en blanco. Los pasos posteriores del Studio que hacen referencia a esta variable también pueden fallar. Los bloques try y catch aquí capturarán estos errores y proporcionarán "soporte general" como valor de respaldo para garantizar que todas las llamadas se dirijan correctamente a un agente.

function (args) {
  // Your function inputs will be listed here
  const { json_data } = args;
  // ⬇️ Write your code below ⬇️
  let ring_group;
  try {
    ring_group = JSON.parse(json_data).ring_group;
  } catch (error) {
    ring_group = "general-support"
  } finally {
    return {ring_group}
  }
}

 

Mostrar mensaje de error en el contexto del agente

Este ejemplo de uso general puede utilizarse con casi cualquier código contenido en el bloque try. Al acceder a la propiedad del mensaje (mensaje de error) del objeto de error, podemos proporcionar un mensaje de error más detallado y útil.

function (args) {
  // Your function inputs will be listed here
  const { your_input_variable } = args;
  // ⬇️ Write your code below ⬇️
  try {
    //Block of code to try. You can insert any code here.
  } catch (error) {
    your_output_variable = "A function error occurred. Message: " + error.message + ". Contact your Talkdesk Admin."
  } finally {
    return {your_output_variable}
  }
}

Cuando se exponen como contexto en Conversations, los errores en su función pueden devolver un mensaje como el que se muestra a continuación. Esto puede permitir a sus agentes proporcionar información más específica a los administradores y reducir el tiempo dedicado a la resolución de problemas.

Volver ""
Por favor, inicie sesión para enviar una solicitud.