# Circuits -------------------------------------------------------------------------------- title: "Introducción" description: "Catalyst Circuits te ayuda a orquestar y automatizar flujos de trabajo y lógica, y a diseñar sus esquemas mediante una interfaz fácil de arrastrar y soltar." last_updated: "2026-07-02T09:34:15.921Z" source: "https://docs.catalyst.zoho.com/es/serverless/help/circuits/introduction/" service: "Serverless" -------------------------------------------------------------------------------- # Circuits ## Introducción Circuits es un componente de Catalyst Serverless que te permite orquestar tareas y automatizar flujos de trabajo en Catalyst. Un circuito de Catalyst es esencialmente un archivo JSON que te ayuda a definir y organizar sistemáticamente una secuencia de tareas que se llevan a cabo automáticamente. Con un motor de ejecución impulsado por Catalyst, puedes habilitar ejecuciones concurrentes o secuenciales de Functions de Catalyst en un circuito, e incluir adicionalmente condiciones, datos y rutas en el flujo de trabajo para definir un patrón repetible de actividades que logre un resultado de negocio. Los Circuits se pueden usar para combinar componentes individuales de la lógica de la aplicación, gestionar múltiples tareas en paralelo, pasar datos procesados entre funciones, o ejecutar acciones de negocio basadas en un conjunto de condiciones. Puedes gestionar la coordinación entre los componentes del circuito y manejar sus dependencias, de acuerdo con el flujo lógico en la aplicación. Puedes automatizar la ejecución de funciones Basic I/O en tu aplicación de Catalyst usando un circuito. Puedes diseñar visualmente los esquemas de un circuito arrastrando y soltando sus elementos, o construir su código JSON en la consola de Catalyst. La consola también te permite probar la ejecución del circuito con diferentes casos de prueba y acceder a registros detallados de cada ejecución. Nota: * Circuits no está disponible actualmente para los usuarios de Catalyst que acceden desde los centros de datos de EU, AU, IN, JP, SA o CA. * No podrás ejecutar funciones Cron, Event o Advanced I/O en un circuito de Catalyst. Esto se debe a que Catalyst admite la entrada y salida de un circuito en formato JSON, que solo es compatible con las funciones Basic I/O. Para practicar el trabajo con Catalyst Circuits, consulta este tutorial. ### Documentación de SDK y API Puedes ejecutar manualmente un circuito desde la consola, o activar su ejecución usando una API o a través de los SDK del servidor de Catalyst. Consulta esta documentación de SDK y API para los ejemplos de código en entornos Java, Node.js y Python, y los detalles de la API respectivamente. * Circuits - Java SDK * Circuits - Node.js SDK * Circuits - Python SDK * Circuits - API -------------------------------------------------------------------------------- title: "Conceptos clave" description: "Catalyst Circuits te ayuda a orquestar y automatizar flujos de trabajo y lógica, y a diseñar sus esquemas mediante una interfaz fácil de arrastrar y soltar." last_updated: "2026-07-02T09:34:15.921Z" source: "https://docs.catalyst.zoho.com/es/serverless/help/circuits/key-concepts/" service: "Serverless" -------------------------------------------------------------------------------- # Conceptos clave Antes de aprender sobre la implementación de circuitos de Catalyst, es importante comprender algunos conceptos fundamentales en detalle. ### Componentes de un circuito El diseño del flujo de trabajo de un circuito de Catalyst contiene varios componentes que te ayudan a orquestar la lógica y el flujo de datos en él. #### Estados del circuito Un estado es una condición particular en la que se encuentra el circuito en un momento dado. Define una tarea o proceso específico que se ejecuta en esa etapa del circuito. Los estados del circuito se pueden agrupar ampliamente en dos categorías: * Controles de flujo: Los estados de control de flujo orquestan el flujo de la lógica y los datos en el circuito. Los siguientes estados de control de flujo están disponibles en los circuitos de Catalyst:<br /> * Pass * Branch * Parallel * Wait * Batch * Success * Failure * Funcionales: Los estados funcionales definen las operaciones reales que necesitan ser ejecutadas en el circuito. Los siguientes estados de control funcional están disponibles en los circuitos de Catalyst:<br /> * Function * Circuit Discutiremos cada uno de estos estados en detalle en la siguiente sección. Un circuito transita de un estado al siguiente durante su ejecución de manera paso a paso. El flujo de lógica y datos ocurre entre cada estado en el circuito. Las siguientes propiedades existen en la configuración de cada estado: * Estado anterior: El estado que se transitó antes del estado actual * Estado siguiente: El estado que se transitará después del estado actual El inicio de un circuito está marcado por una clave llamada Start, y el final del circuito está marcado por una clave llamada End, en el diagrama de flujo esquemático del circuito. En el código JSON del circuito, si un estado no menciona la clave next, es el último estado, y si un estado no se menciona como next en ningún otro estado, es el primer estado del circuito. Puedes consultar esta sección para un fragmento de código JSON de ejemplo. #### Entrada, salida y resultado Un circuito de Catalyst, en general, acepta una entrada cuando se inicia y proporciona una salida después de ejecutarse. Estos se llaman la entrada del circuito y la salida del circuito. * Entrada del circuito: Cuando inicias la ejecución de un circuito, necesitarás proporcionar una entrada al circuito como pares clave-valor en formato JSON. Dado que las funciones Basic I/O, que son los elementos funcionales de un circuito, procesan la entrada en formato JSON, la entrada del circuito admite lo mismo. Esta entrada proporcionada durante la iniciación se pasa al primer estado del circuito. * Salida del circuito: El JSON de entrada luego se procesa y se transita a través de los estados del circuito, según el diseño y la arquitectura de su flujo de trabajo. Después de que se ha transitado el último estado, Catalyst genera la salida final del circuito obtenida después de que su ejecución se completa. Puedes ver los registros e historial de ejecución detallados de cada ejecución desde la consola. Puedes manipular el JSON de entrada y proporcionar una entrada personalizada a cada estado para su procesamiento, o seleccionar una porción de la salida del procesamiento de cada estado para pasarla al siguiente estado según tus necesidades. También puedes incluir dinámicamente los resultados de un estado procesado al JSON de entrada y pasarlo. Esto se realiza mediante las siguientes propiedades de un estado del circuito: * Ruta de entrada:<br /> La ruta de entrada te permite seleccionar una porción de la entrada del estado y pasarla a la tarea del estado para su procesamiento. Por ejemplo, sea el JSON de entrada de un estado: { name: Amelia Burrows gender: F age: 33 } Si solo quieres enviar las variables name y gender como la entrada a un estado, digamos una función, puedes configurar la ruta de entrada de la función como $.name,gender. Esto se refiere a los objetos JSON name y gender como la ruta de entrada.<br /><br /> Catalyst importa la biblioteca externa JsonPath para definir la ruta de entrada, la ruta de salida y la ruta de resultado de un estado en un circuito. Por lo tanto, puedes usar todas las expresiones soportadas por JsonPath en tus definiciones de rutas. Consulta esta documentación de GitHub sobre la sintaxis de JsonPath. * Ruta de salida: La ruta de salida te permite seleccionar una porción de la salida del estado y pasarla al siguiente estado para su procesamiento. Por ejemplo, sea el JSON de salida de un estado: [ 26, "John Kemper", { "streetAddress": "Sunshine Avenue", "city": "Austin", "postalCode": "630-0231" } ] Puedes seleccionar solo los valores de los objetos age y name (26, John Kemper) de la salida para pasar al siguiente estado, configurando la ruta de salida del estado como $.age,name. * Ruta de resultado: La ruta de resultado te permite combinar partes de la entrada del estado y el resultado de la ejecución del estado, como la salida del estado. En otras palabras, puedes agregar el resultado del estado al JSON de entrada proporcionado al estado y modificar el JSON. Luego puedes pasar este JSON modificado como la salida del estado al siguiente estado para su procesamiento.<br /> Por ejemplo, sea una función en un circuito que procesa un JSON de entrada que contiene dos objetos llamados presentDays y totalWorkingDays. La salida del procesamiento de la función genera un nuevo valor que se asigna a una variable llamada attendancePercentage en su salida.<br /> Si quieres incluir el valor obtenido para attendancePercentage al JSON original, puedes proporcionar la ruta de resultado como $.attendancePercentage. El JSON se modificará entonces como:<br /> [ 180, 200, 90 ] Donde el valor para presentDays es 180, totalWorkingDays es 200 y attendancePercentage es 90. Ahora puedes pasar esta salida al siguiente estado para su procesamiento.<br /> Nota: No todos los estados admiten estas tres propiedades. La siguiente sección proporciona detalles sobre las propiedades y la configuración específicas disponibles para cada estado. ### Estados del circuito Como se discutió anteriormente, los estados del circuito se pueden agrupar como estados de control de flujo o estados funcionales. Aprendamos sobre cada estado en detalle y las configuraciones disponibles para ellos. Esta es la vista _Builder View_ de un circuito. Esta sección muestra imágenes de las configuraciones disponibles para cada estado como referencia. Para conocer los pasos involucrados en la creación de un circuito y la adición de estados en él, consulta la sección de Implementación. #### Function El estado de función es un elemento funcional que representa una función Basic I/O. Los estados de función son los elementos centrales de un circuito, donde se procesa una gran parte de la lógica. Todos los demás estados de control de flujo te ayudan a manipular y personalizar el procesamiento de las funciones en un circuito. Puedes ingresar nombres para todos los estados en un circuito, seleccionar su tipo y seleccionar sus estados siguientes mientras configuras el circuito en la consola. Puedes eliminar un estado particular haciendo clic en Delete State debajo de la ventana de configuración. Cuando seleccionas un estado de función, puedes vincularlo con una función Basic I/O configurada en tu proyecto de Catalyst seleccionándola de la lista desplegable. Manejo de errores: El estado de función admite el manejo de errores para gestionar errores que ocurren frecuentemente durante la ejecución de la función. Puedes configurar las acciones a tomar durante errores de On TimeOut, On Authorization Failure o On Execution Failure. Haz clic en la casilla de verificación de un error para habilitarlo. Los tres manejadores de errores admiten dos acciones predeterminadas: Retry y Fallback. Haz clic en Retry o Fallback para habilitarlos. La opción de reintento asegura que la ejecución de la función se reintente si ocurre ese error particular. Puedes configurar las siguientes propiedades en el reintento: * Delay: Define la duración del tiempo de espera antes de intentar el primer reintento * Attempt: Define el número de intentos de reintento a realizar * Step Delay: Define la duración del tiempo de espera entre cada intento La opción de fallback se usa para establecer la acción a realizar cuando todos los reintentos fallan. Esto te permite elegir otro estado en el circuito al cual retroceder cuando los reintentos fallan. Selecciona un estado de la lista desplegable al cual retroceder. Ingresa la ruta del rastreo de error en _Result_ en la sintaxis de JsonPath al ingresar este valor. Si los intentos de reintento fallan, el circuito se establece al estado configurado aquí, y se genera el rastreo de error. Haz clic en Save para guardar el manejador. Los manejadores de errores de los tres errores predeterminados (On TimeOut, On Authorization Failure, On Execution Failure) tienen las mismas acciones y configuración. Además de estos manejadores de errores predeterminados, puedes definir errores personalizados y manejar las acciones que ocurren al recibir ese error. Puedes codificar la función para procesar el manejador de errores personalizado para un error específico que se encuentre. Haz clic en Add Custom Error en _Error Handling_ en la configuración del estado. Ingresa un nombre para el error personalizado en el encabezado de la ventana emergente. Puedes seleccionar Error Code o Error Message como el tipo de excepción. Proporciona un valor de excepción en ambos casos. Este será el mensaje de error o código que se muestra cuando ocurre el error. Puedes habilitar y configurar tanto Retry como Fallback para un error personalizado, como los manejadores de errores predeterminados. Haz clic en Save después de configurarlo. Puedes eliminar un error personalizado haciendo clic en el ícono de eliminar. Catalyst considera todos los códigos de estado HTTP de la serie 200 (200-299) como una ejecución exitosa para una función Basic I/O. Si la función devuelve un código de estado en su respuesta distinto de la serie 200, por ejemplo 502, Circuits verificará la configuración de manejo de errores de la función en busca de una coincidencia con un manejador de errores personalizado. Si se encuentra una coincidencia, se ejecutará la lógica configurada para él. Si el código de error no se ha manejado, la ejecución del circuito se considerará como un fallo. Si configuras un mensaje de error, puedes manejarlo como necesites en la lógica de la función. Entrada/Salida: Puedes configurar las rutas de entrada, salida y resultado de un estado de función, como se discutió en esta sección. También puedes pasar y configurar parámetros individuales para ser pasados a una función desde esta sección. Puedes seleccionar un conjunto específico de parámetros del JSON de entrada del circuito para ser pasados a la función usando la ruta de entrada. Por ejemplo, sea el JSON de entrada pasado a un circuito: "personalDetails":{ "name":"Patricia Boyle", "age" : 26, "address":"13, Orchid Lane, NY" }, "company":"Zylker Corporation", "empDetails":{ "department":"Sales", "designation":"Sales Manager" } Si necesitas pasar toda la entrada a una función configurada en el circuito como su payload, puedes pasarla al circuito de la manera predeterminada, al iniciar el circuito. Los pares clave-valor en esta entrada se pasarán como los parámetros de la función automáticamente. Si solo necesitas que se pase un cierto conjunto de parámetros a la función, puedes configurar la clave del conjunto de parámetros en la ruta de entrada. Por ejemplo, para pasar solo los parámetros company y empDetails, puedes proporcionar la ruta de entrada a la función como: $.company,empDetails usando la sintaxis de JsonPath. También puedes elegir parámetros individuales para ser pasados a la función usando la opción _Parameters_. Esta opción también te permite pasar valores adicionales a la función que no están presentes en el JSON de entrada del circuito. Haz clic en Add Parameters para agregar un parámetro y un valor. Por ejemplo, puedes elegir pasar solo el nombre y la designación a la función como parámetros configurando name y designation como las claves de los parámetros e ingresando sus rutas en la sintaxis de JsonPath como valores de los parámetros. Puedes eliminar un parámetro haciendo clic en Remove. La respuesta de una función Basic I/O de Catalyst entrega la salida de la función usando la clave output. Cuando configuras una función en un circuito, no necesitas proporcionar la clave output explícitamente en la ruta de salida o la ruta de resultado de la función. Catalyst lo maneja de manera predeterminada y entrega el valor de salida automáticamente. Si el circuito está configurado para pasar la salida de la función al siguiente estado, Catalyst pasa automáticamente la salida como el payload sin configuraciones adicionales. Por ejemplo, esta salida JSON de una función, [ 180, 90 ] se pasa como la entrada JSON al siguiente estado en el circuito como el payload durante la ejecución del circuito. El registro de ejecución del circuito proporciona enlaces a la función que se ejecutó y a Catalyst Logs que contiene el registro de esa función específica, para un estado de función. #### Circuit El estado de circuito es una representación de un circuito anidado. Puedes procesar otro circuito dentro del circuito principal. Cuando se activa un estado de circuito, el circuito hijo se ejecuta como está configurado en Catalyst Circuits. También puedes tener circuitos anidados dentro de un circuito hijo. Esto te permite configurar circuitos simples e independientes para diferentes propósitos y anidarlos entre sí, en lugar de configurar un circuito complejo para un patrón de flujo de trabajo complicado. Puedes seleccionar el circuito hijo usando su nombre de referencia del cuadro desplegable _Circuit Name_ en un estado de circuito. También podrás seleccionar el propio circuito padre para un estado de circuito. Esto ejecuta el mismo circuito en un bucle, cuya lógica puedes configurar. El estado de circuito también admite manejadores de errores predeterminados y manejadores de errores personalizados, como el estado de función. Sin embargo, a diferencia del estado de función, el estado de circuito solo tiene una acción para su manejador de errores predeterminado o personalizado: Retry. Consulta la sección de Function para información sobre reintentos y manejadores de errores personalizados. Puedes escribir tu propia lógica para las acciones a realizar si todas las operaciones de reintento fallan. Por ejemplo, puedes codificar que el circuito se vuelva a ejecutar, o terminarlo y enviar una notificación sobre el problema. Puedes manipular los datos JSON que se pasan a través del estado de circuito configurando su ruta de entrada, ruta de salida o la ruta de resultado, como se describió en la sección anterior y en el estado de Function. El registro de ejecución del circuito también proporciona un enlace al registro del circuito anidado para fácil referencia. #### Pass El estado pass es un estado de control de flujo que permite que los datos de un circuito pasen de un estado a otro. De manera predeterminada, simplemente pasa los datos JSON de entrada de su estado anterior a su estado siguiente. <br /> Puedes manipular los datos JSON que se pasan a través de un estado pass configurando su ruta de entrada, ruta de salida o la ruta de resultado, como se describió en la sección anterior. Por ejemplo, puedes seleccionar solo una porción de los datos JSON para pasarla a su siguiente estado configurando su ruta de entrada. El estado pass también tiene una nueva propiedad llamada result además de las rutas de entrada, salida y resultado. Esta no está disponible para ningún otro estado. <br /> La propiedad result te permite agregar un nuevo objeto al JSON y pasar el JSON modificado al siguiente estado. Por ejemplo, en un JSON de entrada que contiene los objetos name, age y gender, puedes agregar un nuevo parámetro llamado location como $.location en la ruta de resultado del estado pass. Puedes ingresar el valor para location en el cuadro de result. El JSON modificado entonces contendrá los objetos name, age, gender y location. #### Branch El estado branch te permite establecer condiciones en el flujo de trabajo del circuito y ejecutar tareas basadas en esas condiciones. Puedes crear ramificaciones en el flujo del circuito si los datos de entrada cumplen un conjunto específico de criterios, y ejecutar diferentes estados en cada rama. Por ejemplo, supón que la salida del estado anterior a una ramificación en un circuito genera los valores para un objeto JSON status como complete o incomplete. Si el status es complete, necesitas que el circuito transite a un estado de éxito. Si el status es incomplete, necesitas que el circuito transite a un estado de fallo. Para lograr este resultado, puedes agregar una condición como $.status == 'complete' y configurar el 'Go To' a un estado de éxito. De manera similar, puedes agregar otra condición como $.status=='incomplete' y establecerla a un estado de fallo. Puedes agregar una condición haciendo clic en Add Condition, luego puedes ingresar la condición y seleccionar el siguiente estado de esa rama. Configura ese estado como el tipo que necesites. Puedes eliminar una condición haciendo clic en Remove. Los siguientes operadores son soportados por Catalyst para las sentencias condicionales en el estado branch: <table class="content-table"> <thead> <tr> <th class="w30p"><strong>Operadores</strong></th> <th class="w70p"><strong>Descripción</strong></th> </tr> </thead> <tbody> <tr> <td>==</td> <td>El lado izquierdo es igual al derecho (nota que 1 no es igual a '1')</td> </tr> <tr> <td>!=</td> <td>El lado izquierdo no es igual al derecho</td> </tr> <tr> <td>&lt;</td> <td>El lado izquierdo es menor que el derecho</td> </tr> <tr> <td>&lt;=</td> <td>El lado izquierdo es menor o igual al derecho</td> </tr> <tr> <td>&gt;</td> <td>El lado izquierdo es mayor que el derecho</td> </tr> <tr> <td>&gt;=</td> <td>El lado izquierdo es mayor o igual al derecho</td> </tr> <tr> <td>=~</td> <td>El lado izquierdo coincide con la expresión regular [?(@.name =~ /foo.*?/i)]</td> </tr> <tr> <td>in</td> <td>El lado izquierdo existe en el derecho [?(@.size in ['S', 'M'])</td> </tr> <tr> <td>nin</td> <td>El lado izquierdo no existe en el derecho</td> </tr> <tr> <td>size</td> <td>El tamaño del lado izquierdo (arreglo o cadena) debe coincidir con el derecho</td> </tr> <tr> <td>empty</td> <td>El lado izquierdo (arreglo o cadena) debe estar vacío</td> </tr> </tbody> </table> Las sentencias condicionales también admiten las siguientes funciones integradas: <table class="content-table"> <thead> <tr> <th class="w30p"><strong>Función</strong></th> <th class="w40p"><strong>Descripción</strong></th> <th class="w30p"><strong>Salida</strong></th> </tr> </thead> <tbody> <tr> <td>min()</td> <td>Proporciona el valor mínimo de un arreglo de números</td> <td>Double</td> </tr> <tr> <td>max()</td> <td>Proporciona el valor máximo de un arreglo de números</td> <td>Double</td> </tr> <tr> <td>avg()</td> <td>Proporciona el valor promedio de un arreglo de números</td> <td>Double</td> </tr> <tr> <td>stddev()</td> <td>Proporciona el valor de desviación estándar de un arreglo de números</td> <td>Double</td> </tr> <tr> <td>length()</td> <td>Proporciona la longitud de un arreglo</td> <td>Integer</td> </tr> <tr> <td>sum()</td> <td>Proporciona el valor de la suma de un arreglo de números</td> <td>Double</td> </tr> </tbody> </table> También puedes usar la sintaxis de JsonPath para acceder a la ruta de un objeto en la condición. El estado branch tiene una ruta predeterminada que puedes vincular con el siguiente estado del estado branch completo. Si ninguna de las condiciones configuradas se cumple, se sigue la rama predeterminada y se ejecuta ese estado. Puedes configurar las rutas de entrada y salida de un estado branch como se describió anteriormente. <br /> #### Parallel El estado parallel te permite procesar múltiples estados en paralelo, en lugar de manera secuencial. Cuando asignas dos estados para ser procesados en paralelo, ambos procesos se inician al mismo tiempo, y su entrada, salida y resultados se procesan y generan de forma concurrente. Los estados también se finalizan al mismo tiempo. Puedes verificar el procesamiento en paralelo desde los registros de ejecución después de que el circuito se ha ejecutado. Por ejemplo, si necesitas que dos funciones se ejecuten en paralelo, puedes agregar dos estados para ellas respectivamente y configurarlos como rutas en el estado parallel. Puedes agregar rutas en un estado parallel para cada estado que necesite ser ejecutado en el procesamiento en paralelo haciendo clic en Add Path. Puedes ingresar los nombres de las rutas y configurar los tipos de estado. Nota: No podrás configurar un estado de éxito, fallo u otro estado parallel dentro de un estado parallel. Esto se debe a que los estados de éxito y fallo son estados finales y no realizan ninguna tarea, y Catalyst no admite estados parallel anidados. Puedes configurar las rutas de entrada, salida y resultado de un estado parallel como se discutió anteriormente. #### Wait El estado wait te permite pausar la ejecución del circuito por una duración particular de tiempo, antes de reanudarla nuevamente y transitar al siguiente estado. Por ejemplo, si necesitas que la ejecución de una función se active con un retraso de tres segundos después del procesamiento del estado anterior, puedes usar esto. Puedes establecer la duración del retraso en segundos en su configuración. <br /> Puedes configurar las rutas de entrada y salida de un estado wait como se discutió anteriormente. <br /> #### Batch El estado batch te permite ejecutar una función o un circuito en lotes como múltiples trabajos de manera iterativa. El procesamiento por lotes te permite procesar un gran volumen de entrada o tareas en conjuntos, para que el servidor no se sobrecargue con cargas pesadas. Si la entrada contiene un arreglo de objetos JSON, puedes procesar cada objeto JSON simultáneamente usando el estado batch. Este estado batch permite que la función o circuito asociado se active en paralelo múltiples veces, basado en el número de trabajos configurados. Por ejemplo, si una función Basic I/O está configurada para enviar un correo electrónico a un gran número de clientes, puedes procesarla en el estado batch y establecer el número de trabajos en 10, para que la función se ejecute 10 veces simultáneamente en una sola iteración. Cuando los 10 trabajos se han ejecutado, otros 10 trabajos se inician en la siguiente iteración. Dado que se ejecutan múltiples instancias de una función o un circuito, esto asegura que no enfrenten un error de tiempo de espera. <br /> Puedes vincular el estado batch a una función o circuito específico, eligiendo el tipo de vínculo y el nombre de referencia del circuito o el nombre de la función de las listas desplegables. Puedes configurar las siguientes propiedades de un estado batch: * Collection path: La ruta que contiene la lista JSON, escrita en la sintaxis de JsonPath * Collection variable: La variable que se asigna para contener la salida JSON Por ejemplo, una entrada JSON contiene una lista de dos objetos JSON como un arreglo de la siguiente manera: { "userList":[{"name":"Paul"},{"name":"Max"}] } Pasamos esta entrada a un lote que está asociado con una función. Definimos la ruta de colección como $.userlist, indicando que el objeto que contiene el arreglo de lista está disponible en esa ruta. Ingresamos la variable de colección como user, asignándola como la variable para contener la salida. Si ingresamos el número de trabajos como 2, la función asociada, que devuelve el objeto name, se llama dos veces en paralelo y la entrada se le pasa. La salida de la primera iteración se genera como: { "userList": [{"name": "Paul" },{"name": "Max"}], "user":{"name": "Paul"} } La salida de la segunda iteración contiene el valor de Max asignado al parámetro name: { "userList": [{"name": "Paul" },{"name": "Max"}], "user":{"name": "Max"} } Ambas iteraciones ocurren simultáneamente. Si asignas $.userlist en la ruta de resultado del lote, puedes pasar la salida que contiene la lista JSON al siguiente estado. Catalyst puede ejecutar un máximo de 10 trabajos en un estado batch. Puedes definir esto en la configuración del lote. El estado batch admite manejadores de errores predeterminados y personalizados similares al estado de circuito. Tiene una acción para su manejador de errores predeterminado o personalizado: Retry. Consulta la sección de Function para información sobre reintentos y manejadores de errores personalizados. Puedes escribir tu propia lógica para las acciones a realizar si todas las operaciones de reintento fallan. Por ejemplo, puedes codificar que el circuito se vuelva a ejecutar, o terminarlo y enviar una notificación sobre el problema. Puedes configurar las rutas de entrada, salida y resultado de un estado batch. También puedes pasar parámetros a la función que se procesa en el estado batch de forma dinámica, similar al estado de función. Consulta la sección de Function para más detalles. <br /> El registro de ejecución del circuito proporciona enlaces a la función o circuito que se ejecutó, y a Catalyst Logs que contiene el registro de esa función, para un estado batch. #### Success El estado success es un estado final que se usa para determinar el éxito de la operación o tarea anterior ejecutada en el circuito. Se usa para representar una ejecución exitosa como referencia para el usuario. Por ejemplo, podrías usar el estado de éxito junto con un estado de fallo en una ramificación para marcar los resultados de dos procesos en ella basados en diferentes condiciones, o usarlo después de una ejecución de función para indicar el éxito de la ejecución. El estado de éxito no tiene ninguna configuración o propiedad, ya que es el estado final de esa ruta particular en el circuito. No podrás establecer ningún estado siguiente después de él. Tampoco podrás configurar una ruta de entrada o ruta de salida para un estado de éxito. #### Failure El estado failure es también un estado final que se usa para determinar el fallo de la operación o tarea anterior ejecutada en el circuito. Se usa para representar una ejecución fallida como referencia para el usuario. Puedes usar el estado de fallo de manera similar al estado de éxito, y en otros escenarios para marcar el fallo de un proceso o la ejecución de una tarea. No podrás establecer un estado siguiente para un estado de fallo, ya que es el estado final de esa ruta particular en el circuito. Puedes proporcionar un mensaje de error y una razón opcional en el estado como referencia, si se transita este estado. No podrás configurar una ruta de entrada o ruta de salida para un estado de fallo. ### Código JSON Como se mencionó anteriormente, también puedes codificar directamente un circuito en formato JSON desde la consola. La sección _Code View_ te permite trabajar en el código directamente. El código se genera automáticamente a medida que arrastras y sueltas estados en el diagrama de flujo. Consulta la sección de Implementación para más información. Un nombre de estado es un objeto JSON y sus propiedades son los pares clave-valor de ese objeto. Propiedades como type y next se usan comúnmente para todos los estados. Si un estado no menciona la clave next, es el último estado en el circuito. Si un estado no se menciona como next en ningún otro estado, es el primer estado del circuito. Debes seguir la sintaxis JSON estándar al codificar un circuito. A continuación se muestra un fragmento de código de ejemplo de un circuito: ### URL del circuito Cuando creas un circuito en tu proyecto de Catalyst, se generará automáticamente una URL de invocación única para él. Puedes activar el circuito desde esta URL de punto final. Puedes implementar esta URL en el código de tu aplicación o usarla según lo necesites. Puedes obtener la URL de un circuito desde la consola. La URL de un circuito tiene el siguiente formato: <p>https://project_domain_name.environment_type.zohocatalyst.com/baas/v1/project/_project_ID_/circuit/circuit_ID/execute</p> Esta URL debe invocarse con el método HTTP POST. El project\_domain\_name es el nombre de dominio de tu proyecto. El environment\_type es development, si estás trabajando en el entorno de desarrollo. De lo contrario, el environment\_type no está presente en la URL. -------------------------------------------------------------------------------- title: "Beneficios" description: "Catalyst Circuits te ayuda a orquestar y automatizar flujos de trabajo y lógica, y a diseñar sus esquemas mediante una interfaz fácil de arrastrar y soltar." last_updated: "2026-07-02T09:34:15.935Z" source: "https://docs.catalyst.zoho.com/es/serverless/help/circuits/benefits/" service: "Serverless" -------------------------------------------------------------------------------- ### Beneficios 1. Orquesta y automatiza tareas<br /> Los circuitos de Catalyst son altamente beneficiosos para automatizar porciones importantes de la lógica de tu aplicación en flujos de trabajo diseñados de manera elaborada. El circuito activa cada estado configurado automáticamente, pasa datos personalizados a los estados según su configuración, maneja el flujo de la lógica de la aplicación en cada paso, realiza el manejo de errores y más. Tu aplicación de Catalyst, por lo tanto, se ejecuta en el orden que tú orquestas. Puedes coordinar varios componentes individuales de tu microservicio para que trabajen juntos según lo necesites, y habilitar la colaboración entre ellos. 2. Configura flujos de trabajo complejos fácilmente<br /> Los requisitos de negocio y los flujos de trabajo de una aplicación de Catalyst se traducen en diagramas de flujo fáciles de comprender y con los que es fácil trabajar. El diagrama de flujo de un circuito proporciona una vista rápida de la lógica de la aplicación y te ayuda a visualizarla como una serie de pasos. Te permite comprender el flujo del circuito sin esfuerzo, detectar áreas problemáticas, modificar sus elementos, organizar estados o eliminarlos fácilmente sin siquiera escribir código. Catalyst Circuits mejora el diseño de tu aplicación y la estructura de manera organizada. 3. Diagnostica errores y consulta registros detallados<br /> La funcionalidad de manejo de errores en un circuito, combinada con la característica de errores de compilación y registros detallados, te permite diagnosticar y depurar problemas en el flujo de trabajo fácilmente. Puedes definir acciones personalizadas a ejecutar durante errores en los estados de función, lote y circuito. Esto permite que Catalyst gestione errores como tiempos de espera de ejecución y fallos, y fallos de autorización automáticamente. Catalyst también muestra errores de compilación en la configuración de un circuito antes de que lo ejecutes. Los registros detallados de cada ejecución también proporcionan el estado de la ejecución de la tarea de cada estado, los datos y parámetros pasados, y las respuestas y excepciones generadas. También puedes consultar Catalyst Logs para los registros individuales de funciones. 4. Escribe menos código<br /> Catalyst descarga responsabilidades de las funciones Basic I/O de Catalyst implementando funcionalidades como ramificación condicional, retrasos, paso de entrada personalizada, ejecución en paralelo, procesamiento por lotes de forma separada en los circuitos. Esto asegura que construyas aplicaciones multi-paso, ricas en características fácilmente, evitando que escribas código adicional o repetido. Puedes asignar acciones y patrones repetibles en un circuito, orquestarlo según tus necesidades, y automatizar la ejecución del circuito y todos sus procesos de tareas con menos código. 5. Ejecuta circuitos desde la consola<br /> Puedes ejecutar circuitos desde la consola para probar su flujo y verificar la salida generada. Esta característica te permite proporcionar diferentes datos JSON de entrada para diferentes casos de prueba, ver el procesamiento del circuito en el diagrama de flujo, y revisar los informes de la ejecución y respuesta de cada estado, y más. Basándote en los resultados generados, puedes reorganizar o intercambiar estados fácilmente, reordenar los pasos, proporcionar diferentes entradas y realizar pruebas para diferentes condiciones y alcanzar los resultados deseados. Luego puedes implementar el circuito en tu aplicación después de finalizar su diseño de flujo de trabajo. -------------------------------------------------------------------------------- title: "Casos de uso" description: "Catalyst Circuits te ayuda a orquestar y automatizar flujos de trabajo y lógica, y a diseñar sus esquemas mediante una interfaz fácil de arrastrar y soltar." last_updated: "2026-07-02T09:34:15.935Z" source: "https://docs.catalyst.zoho.com/es/serverless/help/circuits/use-cases/" service: "Serverless" -------------------------------------------------------------------------------- ### Casos de uso Catalyst Circuits se puede usar para una variedad de propósitos en tu aplicación de Catalyst. Los siguientes son algunos casos de uso de los circuitos de Catalyst: * Una aplicación de procesamiento de datos implementa circuitos de Catalyst para ejecutar trabajos que involucran un gran volumen de datos de entrada y cálculos pesados, y genera un gran volumen de datos de salida. Usa la característica de procesamiento por lotes en los circuitos para realizar una ejecución robusta y efectiva de las funciones Basic I/O. El flujo de trabajo complejo también se descompone en múltiples circuitos que se anidan entre sí para una mejor organización de la lógica de la aplicación. * Una aplicación que realiza copias de seguridad, instalaciones y actualizaciones rutinarias periódicamente usa circuitos de Catalyst para automatizar las tareas a ejecutar en segundo plano. La programación es manejada por Catalyst Cron y las funciones Cron, y están codificadas para activar la API del circuito. El circuito maneja todas las tareas recurrentes como la sincronización de datos y la gestión de parches automáticamente. También responde a tiempos de espera y errores, y reintenta las tareas fallidas. * Una aplicación basada en eventos que envía correos electrónicos personalizados a los clientes y realiza tareas basadas en la ocurrencia de eventos o condiciones específicas implementa circuitos de Catalyst. Usa la funcionalidad de ramificación para ejecutar diferentes acciones basadas en las condiciones, y procesa funciones en paralelo para lograr múltiples resultados simultáneamente. Catalyst Circuits también se puede implementar en los siguientes escenarios: * Aplicaciones que contienen microservicios distribuidos para realizar operaciones independientes que requieren colaboración ocasional * Herramientas que consolidan y refinan conjuntos de datos de múltiples fuentes de datos y realizan análisis detallados * Aplicaciones que entrenan y generan modelos de aprendizaje automático * Herramientas de DevOps y automatización de TI que realizan integración continua y despliegue continuo * Automatización de tareas como generación de informes, seguimiento de inventario, cumplimiento y seguimiento de pedidos, generación de recibos en aplicaciones de comercio electrónico * Automatización de tareas como gestión de usuarios, envío de notificaciones push personalizadas basadas en condiciones específicas, y gestión de archivos generados por usuarios en aplicaciones <br /> -------------------------------------------------------------------------------- title: "Implementación" description: "Catalyst Circuits te ayuda a orquestar y automatizar flujos de trabajo y lógica, y a diseñar sus esquemas mediante una interfaz fácil de arrastrar y soltar." last_updated: "2026-07-02T09:34:15.936Z" source: "https://docs.catalyst.zoho.com/es/serverless/help/circuits/implementation/" service: "Serverless" -------------------------------------------------------------------------------- # Implementación La sección de implementación cubre la configuración y prueba de un circuito de Catalyst desde la consola. Para implementar circuitos en tu aplicación de Catalyst, consulta la documentación de Java SDK, Node.js SDK, Python SDK y API. ### Crear un circuito Nota: Catalyst te permite crear hasta 50 circuitos en un proyecto en el entorno de desarrollo. No hay límites superiores para la creación de reglas en el entorno de producción. Para crear tu primer circuito en tu proyecto desde la consola de Catalyst: 1. Navega a Circuits en *Orchestration* en la consola de Catalyst Serverless y haz clic en Create your first circuit.<br /> <br /> 2. Ingresa un nombre para el circuito y haz clic en Create.<br /> <br /> El circuito se creará y se abrirá la vista _Builder View_. <br /> Puedes hacer clic en la flecha junto al nombre del circuito para navegar a la página de _Circuits_. Se crearán un Circuit ID único y un Circuit Reference Name único para el circuito. Este es el nombre de referencia que se usa cuando anidas un circuito usando el estado de circuito, o cuando asocias un estado de lote a un circuito. El ID del circuito se usa para referirse al circuito cuando trabajas con los SDK y la API. <br /> ### Configurar un circuito Ahora configuremos el circuito que creamos. Haz clic en el nombre del circuito desde la página de Circuits para abrir la vista _Builder View_. Ahora puedes arrastrar y soltar estados desde el panel izquierdo al circuito. <br /> Cuando arrastras y sueltas un estado, se abrirá una ventana emergente. Puedes ingresar los detalles del estado, como el nombre del estado, el estado anterior y el estado siguiente. Haz clic en Create para crear el estado. <br /> El estado se mostrará en el diagrama de flujo. Ahora puedes configurar el estado, proporcionar rutas de entrada y salida, eliminar parámetros, eliminar estados y más. <br /> Consulta esta sección de Conceptos clave sobre estados para detalles sobre la configuración y las propiedades disponibles para cada estado. También puedes cambiar la vista a horizontal, organizar automáticamente los estados en el diagrama de flujo, acercar o alejar usando los íconos del lado derecho. <br /> También puedes hacer clic en Code View para ver el código JSON generado automáticamente del circuito. Cualquier cambio que realices en el código o en el diagrama se reflejará en el otro automáticamente. Puedes hacer clic en el ícono de actualización si la reflexión en tiempo real se retrasa. <br /> Puedes acceder a la URL del circuito haciendo clic en Get Invocation URL desde la esquina inferior izquierda. <br /> Una vez que hayas configurado el circuito, haz clic en Save. <br /> ### Errores de compilación del circuito Antes de ejecutar un circuito, Catalyst realiza una verificación de errores de compilación en la configuración o estructura del circuito. Cuando haces clic en Save o Save and Execute después de configurar un circuito, Catalyst ejecutará inmediatamente una verificación de compilación en el circuito y listará los errores en las configuraciones de sus estados, diseño y flujo lógico. Estos son errores no dependientes y posibles que Catalyst identifica antes de ejecutar el circuito con la entrada que proporcionas. Esto te permitirá verificar y realizar correcciones en el diseño y la configuración de tu circuito incluso antes de ejecutarlo. Por ejemplo, en el circuito que se muestra a continuación, los parámetros de dos estados de ramificación no se han definido. Además, los estados están configurados en un bucle cíclico sin definir ninguna condición para terminar el bucle. Cuando haces clic en Save o Save and Execute aquí, Catalyst mostrará inmediatamente estos errores como se muestra a continuación. <br /> Después de iniciar la ejecución de un circuito, Catalyst podrá detectar errores dinámicos relacionados con la condición de prueba, el flujo de datos y otros problemas en tiempo de ejecución, y proporcionarte registros detallados de cada evento. Esto se explicará en la siguiente sección. ### Ejecutar un circuito Puedes ejecutar un circuito con diferentes condiciones de prueba y entradas, y ver los resultados generados. Para ejecutar un circuito: 1. Haz clic en Save and Execute desde la esquina inferior derecha de la página del circuito. 2. Proporciona la entrada para el circuito en formato JSON como pares clave-valor y haz clic en Next.<br /> <br /> 3. Proporciona un nombre para el caso de prueba y haz clic en Run.<br /> <br /> Puedes ver la ejecución en vivo del circuito desde la sección View Graph. <br /> Una vez que el circuito se ha ejecutado, puedes ver los detalles de la ejecución, como la entrada, la salida y la duración de la ejecución, desde el panel derecho. Puedes hacer clic en Stop Execution para detenerlo en cualquier momento. <br /> Puedes ver las rutas que se recorrieron en el circuito, el estado de cada estado representado por un código de color mencionado en la parte superior, y el estado general de la ejecución del circuito también. El _View Graph_ es parte del historial de ejecución del circuito. La siguiente sección cubre los detalles al respecto. <br /> ### Historial de ejecución de un circuito Puedes acceder al historial de ejecución de un circuito en cualquier momento haciendo clic en View Execution History en la esquina superior derecha desde la página del circuito. Esto abre una lista de todas las ejecuciones del circuito, junto con su ID de ejecución único y otros detalles. <br /> Puedes abrir una ejecución particular para verificar su gráfico de ejecución, el código del circuito y los registros de la ejecución. Haz clic en View Logs para ver los registros de la ejecución. <br /> Los registros proporcionan detalles de la ejecución de la tarea en cada estado. Muestran los siguientes detalles: * Timeline: Muestra la fecha y hora de un evento particular en un estado, junto con íconos para indicar el tipo de evento * State: Se refiere al estado en el que se ejecuta un evento particular * Event: Se refiere al evento específico que ocurrió en el estado. Los eventos comunes de todos los estados incluyen: _State Entered_, _Input Processing_, _Result Processing_, _State Exited_. Algunos estados tienen eventos personalizados adicionales. Por ejemplo, el estado de espera tiene un evento _State Time Waiting_ que dura hasta que el tiempo de espera termina. El estado de función tiene eventos _Function Triggered_ y _Function Executed_ después del evento _Input Processing_. <br /><br /> Los estados de éxito y fallo solo tienen eventos _Success State Reached_ y _Failure State Reached_, ya que son estados finales. El inicio y el fin de las ejecuciones del circuito están marcados por los eventos _State Machine Triggered_ y _State Machine Executed_. * Payload: Se refiere al JSON de entrada que se transmite de un estado al siguiente en el circuito. El payload de un estado es su entrada que será procesada por él. * Parameter: Se refiere a los parámetros adicionales proporcionados por el usuario. Los parámetros se pueden proporcionar en los estados de función y lote. * Response: Se refiere a la salida generada por el estado después de su procesamiento. Si se proporcionan valores en la ruta de salida o la ruta de resultado del estado, la salida se modifica en consecuencia. * Exception: Se refiere a cualquier excepción que pueda ser generada por el estado. Si el procesamiento del estado falla, puedes ver los detalles de la excepción desde aquí. El registro detallado te permite evaluar efectivamente los fallos y detectar errores en la ejecución de cada estado en un circuito. Como se mencionó anteriormente, los registros de los estados de función, circuito y lote contienen enlaces a la página de la función, Catalyst Logs, o a los registros del circuito anidado para fácil acceso. La sección View Code muestra el código del circuito, junto con los detalles de la ejecución. <br /> <br /> ### Renombrar un circuito Para renombrar un circuito desde la consola de Catalyst: 1. Haz clic en el ícono de puntos suspensivos del circuito en la página de _Circuits_ y haz clic en Rename.<br /> <br /> 2. Ingresa un nuevo nombre para el circuito y presiona Enter.<br /> <br /> Nota: No podrás modificar el nombre de referencia del circuito. Solo puedes modificar el nombre del circuito. <br /> ### Eliminar un circuito Para eliminar un circuito desde la consola de Catalyst: 1. Haz clic en el ícono de puntos suspensivos del circuito en la página de _Circuits_ y haz clic en Delete.<br /> <br /> 2. Haz clic en Yes, Proceed en la ventana de confirmación.<br /> <br /> --- ## API Reference — Circuits -------------------------------------------------------------------------------- title: "Ejecutar Circuit" description: "Esta API te permite ejecutar un circuit de Catalyst configurado en la consola remota." last_updated: "2026-07-02T09:34:15.983Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/serverless/circuits/execute-circuit/" service: "Serverless" -------------------------------------------------------------------------------- # Circuits Catalyst Circuits te permiten definir y organizar sistemáticamente una secuencia de tareas que se llevarán a cabo automáticamente en Catalyst. Puedes orquestar tareas y automatizar flujos de trabajo, y adicionalmente incluir condiciones, datos y rutas en el flujo de trabajo, para definir un patrón repetible de actividades que logre un resultado de negocio usando Circuits. Catalyst ofrece soporte para automatizar la ejecución de funciones Basic I/O de tu aplicación usando un circuit. Nota: Circuits actualmente no está disponible para los usuarios de Catalyst que acceden desde los centros de datos de EU, AU, IN, JP, SA o CA. # Ejecutar un Circuit ### Descripción Esta API te permite ejecutar un circuit de Catalyst configurado en la consola referenciándolo por su Circuit ID único. Puedes pasar la entrada al circuit en el JSON de la solicitud como se describe a continuación. Nota: Puedes crear, configurar y probar un circuit desde la consola de Catalyst. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/circuit/{circuit_id}/execute</p> El dominio específico del DC para acceder a Catalyst API El ID único del proyecto El ID único del circuit #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.circuits.EXECUTE #### Formato JSON de la solicitud Debes enviar la entrada al circuit como pares clave-valor en formato JSON de esta manera: { "key_1": "value_1", "key_2": "value_2", "key_3": "value_3", . . } Nota: La entrada del circuit no es obligatoria. Puedes omitir la entrada o pasarla según el propósito y la lógica de tu circuit. ### Detalles de la respuesta La respuesta contiene el resultado y los detalles del circuit ejecutado, como el circuit_name, el start_time y end_time de la ejecución, el instance_id, junto con los detalles de la entrada que se pasó al circuit y la salida generada por la ejecución del circuit. curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/circuit/105000000180234/execute \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -d '[ { "email":"j.parker@zylker.com", "count":"20", "traveller_type":"Single", "rating":"5", "location":"New York", "suite":"Executive" } ]' { "status": "success", "data": { "id": "b3c91799-5c18-4626-9983-a2d6af237e20", "name": "Case 1", "start_time": "Aug 24, 2020 02:24 PM", "end_time": "Aug 24, 2020 02:24 PM", "status": "success", "status_code": 6, "execution_meta": {}, "circuit_details": { "name": "StayFinder", "ref_name": "StayFinder", "description": "", "instance_id": "ef9644a5-123a-438c-94d9-01b1bade8817" }, "input": { "email":"j.parker@zylker.com", "count":"20", "traveller_type":"Single", "rating":"5", "location":"New York", "suite":"Executive" }, "output": { "result": { "stay_list":{ "message":"Email has been sent successfully to j.parker@zylker.com", "status":"success" } } } } } Execute a Circuit- Java SDK</br></br> Execute a Circuit- Node.js SDK<br><br> Execute a Circuit- Python SDK --- ## SDK — Java — Circuits -------------------------------------------------------------------------------- title: "Ejecutar Circuit" description: "Esta página describe el método para utilizar circuits para organizar y orquestar tareas en tu aplicación Java con fragmentos de código de ejemplo." last_updated: "2026-07-02T09:34:15.986Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/serverless/circuits/execute-circuit/" service: "Serverless" related: - Execute Circuit - API (/es/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) - Circuits (/es/serverless/help/circuits/introduction) -------------------------------------------------------------------------------- # Ejecutar un Circuit Catalyst Circuits te permite definir, organizar y orquestar una secuencia de tareas que se llevarán a cabo automáticamente. Puedes habilitar ejecuciones concurrentes o secuenciales de funciones de Catalyst en un circuit, y adicionalmente incluir condiciones, datos y rutas en él para automatizar el flujo de trabajo. Nota: Circuits actualmente no está disponible para usuarios de Catalyst que acceden desde los centros de datos de EU, AU, IN, JP, SA o CA. El código de ejemplo a continuación ilustra la ejecución de un circuit haciendo referencia a su Circuit ID único y pasando pares clave-valor como el JSON de entrada al circuit. También ilustra la obtención de los detalles de ejecución del circuit haciendo referencia a su Execution ID único guardado en el historial de ejecución del circuit. ZCCircuitDetails se usa para hacer referencia al circuit, y ZCCircuitExecutionDetails devuelve los detalles de ejecución del circuit. #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; import com.zc.component.circuits.ZCCircuit; import com.zc.component.circuits.ZCCircuitDetails; import com.zc.component.circuits.ZCCircuitExecutionDetails; import com.zc.component.circuits.ZCCircuitExecutionStatus; //Ejecuta el circuito referenciando su ID de circuito y pasa el JSON de entrada ZCCircuitDetails userBackupCircuit = ZCCircuit.getInstance().getCircuitInstance(1239000000L); JSONObject execInputJson = new JSONObject(); execInputJson.put("key", "value"); ZCCircuitExecutionDetails circuitExecution = userBackupCircuit.execute("Case 1",execInputJson); String executionId = circuitExecution.getExecutionId(); //Devuelve el ID de Ejecución //Devuelve los detalles de ejecución del circuito refiriéndose al ID de Ejecución del circuito. //Puedes escribir tu propia lógica de éxito aquí. ZCCircuitDetails userBackupCircuit = ZCCircuit.getInstance().getCircuitInstance(1239000000L); ZCCircuitExecutionDetails circuitExecution = userBackupCircuit.getExecutionDetails(executionId); if(circuitExecution.getStatus().equals(ZCCircuitExecutionStatus.SUCCESS)) { //Lógica de éxito } //Aborta la ejecución del circuito refiriéndose al ID de Ejecución del circuito ZCCircuitDetails userBackupCircuit = ZCCircuit.getInstance().getCircuitInstance(1239000000L); userBackupCircuit.abortExecution(executionId); --- ## SDK — Node JS — Circuits -------------------------------------------------------------------------------- title: "Ejecutar Circuit" description: "Esta página describe el método para hacer uso de circuits para organizar y orquestar tareas en tu aplicación Java con fragmentos de código de ejemplo." last_updated: "2026-07-02T09:34:15.986Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/serverless/circuits/execute-circuit/" service: "Serverless" related: - Execute Circuit - API (/es/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) - Circuits (/es/serverless/help/circuits/introduction) -------------------------------------------------------------------------------- # Ejecutar un Circuit Catalyst Circuits te permite definir, organizar y orquestar una secuencia de tareas para que se lleven a cabo automáticamente. Puedes habilitar ejecuciones concurrentes o secuenciales de funciones de Catalyst en un circuit, y adicionalmente incluir condiciones, datos y rutas en él y automatizar el flujo de trabajo. Note: Circuits actualmente no está disponible para los usuarios de Catalyst que acceden desde los centros de datos de EU, AU, IN, JP, SA o CA. El código de ejemplo a continuación ilustra la ejecución de un circuit haciendo referencia a su ID de Circuit único y pasando pares clave-valor como el JSON de entrada al circuit. También ilustra la obtención de los detalles de ejecución del circuit haciendo referencia a su Execution ID único guardado en el historial de ejecución del circuit. La referencia circuit utilizada a continuación está definida en la página de instancia del componente. //Ejecuta el circuito referenciando su ID de circuito y pasa el JSON de entrada circuit.execute('195000000041001', 'sampleName', { name: 'Aaron Jones'}).then((result) => { console.log(result); }).catch((err) => console.log(err.toString())); //Escrito en los logs de Catalyst //Devuelve los detalles de ejecución del circuito refiriéndose al ID de Circuito e ID de Ejecución circuit.status('195000000041001', '195000000043002').then((result) => { console.log(result); }).catch((err) => console.log(err.toString())); //Written to Catalyst Logs //Aborta la ejecución del circuito refiriéndose al ID de Circuito e ID de Ejecución circuit.abort('195000000041001', '195000000043002').then((result) => { console.log(result); }).catch((err) => console.log(err.toString())); //Written to Catalyst Logs A continuación se muestra una respuesta de ejemplo que recibirás. La respuesta es la misma para ambas versiones de Node.js. #### Node.js { id: "b3e2f61e-4795-428e-8365-3609bf2b5606", name: "Name", start_time: "Aug 18, 2021 07:35 PM", status: "running", status_code: 1, execution_meta: {}, circuit_details: { name: "NewCircuit", ref_name: "newcircuit", description: "", instance_id: "70454fc5-3bf6-45af-81ca-2742cc049698" }, input: { name: "Aaron Jones" } } -------------------------------------------------------------------------------- title: "Obtener instancia de Circuit" description: "Esta página describe el método para hacer uso de circuits para organizar y orquestar tareas en tu aplicación NodeJS con fragmentos de código de ejemplo." last_updated: "2026-07-02T09:34:15.986Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/serverless/circuits/get-a-component-instance/" service: "Serverless" related: - Circuits (/es/serverless/help/circuits/introduction) -------------------------------------------------------------------------------- # Circuits ### Obtener instancia del componente La referencia circuit se puede crear de la siguiente manera. Esto no dispara una llamada del lado del servidor. Circuits actualmente no está disponible para los usuarios de Catalyst que acceden desde los centros de datos de EU, AU, IN, JP, SA o CA. //Obtener una instancia del circuito let circuit = app.circuit(); --- ## SDK — Python — Circuits -------------------------------------------------------------------------------- title: "Obtener instancia del componente" description: "Esta página describe el método para hacer uso de circuits para organizar y orquestar tareas en tu aplicación Python con fragmentos de código de ejemplo." last_updated: "2026-07-02T09:34:15.987Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/serverless/circuits/get-a-component-instance/" service: "Serverless" related: - Circuits Help (/es/serverless/help/circuits/introduction) -------------------------------------------------------------------------------- # Circuits Catalyst Serverless Circuits es un componente que forma parte de la plataforma de desarrollo de Catalyst que ayuda a orquestar tareas y automatizar flujos de trabajo. Puedes habilitar ejecuciones concurrentes o secuenciales de funciones de Catalyst en un circuit, y adicionalmente incluir condiciones, datos y rutas en el flujo de trabajo, para definir un patrón repetible de actividades que logre un resultado de negocio. Esta sección cubre los diversos métodos del SDK que se pueden usar para implementar el componente circuits en tu aplicación Catalyst. Note: Circuits actualmente no está disponible para usuarios de Catalyst que acceden desde los centros de datos EU, AU, IN, JP, SA o CA. #### Obtener una instancia del componente Una instancia del componente es un objeto que se puede usar para acceder a las configuraciones predefinidas específicas de un componente en particular. Este proceso no realizará una llamada del lado del servidor. La referencia app utilizada en el código a continuación es el objeto Python devuelto como respuesta durante la inicialización del SDK. Puedes crear una nueva instancia de circuit como se muestra a continuación. También ten en cuenta que esta instancia del componente se utilizará en múltiples escenarios al implementar el componente circuit en tu aplicación. #Obtener instancia del componente Circuit circuit = app.circuit() -------------------------------------------------------------------------------- title: "Ejecutar circuit" description: "Esta página describe el método para hacer uso de circuits para organizar y orquestar tareas en tu aplicación Python con fragmentos de código de ejemplo." last_updated: "2026-07-02T09:34:15.987Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/serverless/circuits/execute-circuit/" service: "Serverless" related: - Execute Circuit - API (/es/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) - Circuits Help (/es/serverless/help/circuits/introduction) - SDK Scopes (/es/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- ### Ejecutar un circuit El código de ejemplo a continuación ilustra la ejecución de un circuit haciendo referencia a su ID de circuit único y pasando pares clave-valor como entrada al circuit en forma de diccionario. Para conocer más sobre la instancia del componente circuit_service utilizada a continuación, consulta esta sección de ayuda. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>circuit ID</td> <td>Numeric</td> <td>Un parámetro obligatorio. Almacenará el ID único del circuit a ejecutar.</td> </tr> <tr> <td>circuit input</td> <td>Object</td> <td>Un parámetro obligatorio. Almacenará el diccionario que contiene la entrada al circuit.</td> </tr> </tbody> </table> #Ejecutar un Circuit circuit = app.circuit() result = circuit.execute(5249000000108030, name="Test_Circuit") A continuación se muestra una respuesta de ejemplo: { "id":"5249000000108030", "name":"Test_Circuit", "start_time":"Aug 18, 2021 07:35 PM", "status":"running", "status_code":1, "execution_meta":{ }, "circuit_details":{ "name":"Test_Circuit", "ref_name":"testcircuit", "description":"", "instance_id":"70454fc5-3bf6-45af-81ca-2742cc049698" }, "input":{ "name":"Aaron Jones" } } Info : Consulta la tabla de SDK Scopes para determinar el nivel de permiso requerido para realizar la operación anterior.