Cómo usar código custom C# en Vivabots
La automatización de procesos mediante RPA a menudo requiere interactuar con sistemas legados o realizar cálculos que van más allá del diseño visual con cajas y flechas. Para estos escenarios, la suite Vivabots incorpora un motor Pro-Code integrado que permite escribir y ejecutar scripts de C# personalizados directamente en tus flujos de automatización.
En este artículo, exploraremos cómo insertar bloques de código, pasar variables entre el entorno visual de Viva Builder y el script, y cómo funciona la ejecución nativa en Viva Launcher.
1. El bloque de actividad "Custom C#"
En el panel lateral de Viva Builder, dentro de la sección Pro-Code, encontrarás la actividad denominada Script C#. Al arrastrarla al lienzo de diseño, se habilitará un editor de código embebido con resaltado de sintaxis, autocompletado básico y validación en tiempo real.
Este bloque actúa como un contenedor aislado. Puedes interactuar con las variables definidas en tu flujo de trabajo mediante el diccionario global Context.
2. Acceso a Variables del Flujo (Contexto)
Para leer o escribir variables que tu bot está procesando en otros módulos visuales (como lecturas de base de datos o scraping web), utiliza el objeto Context:
// Leer una variable del flujo
string rfcCliente = Context.Get<string>("rfc_cliente");
int limiteCredito = Context.Get<int>("limite_credito");
// Realizar lógica de negocio compleja
string tipoRiesgo = "Bajo";
if (limiteCredito > 50000 && rfcCliente.StartsWith("XAXX")) {
tipoRiesgo = "Alto";
}
// Escribir el resultado de vuelta al flujo
Context.Set("nivel_riesgo_cliente", tipoRiesgo);
Nota de Seguridad: Todo tipo de dato transferido a través de
Contextdebe ser serializable. Vivabots gestiona de forma transparente la conversión de tipos primitivos, listas y diccionarios JSON.
3. Uso de Librerías Externas y NuGet
Una de las grandes ventajas del enfoque Pro-Code de Vivabots es la posibilidad de usar librerías de terceros. Si necesitas realizar manipulaciones de imágenes avanzadas, criptografía o parsear formatos poco comunes:
- Abre las Propiedades del bloque
Script C#. - En la sección Dependencias NuGet, haz clic en añadir.
- Escribe el ID del paquete (por ejemplo,
Newtonsoft.JsonoRestSharp) y la versión deseada. - El motor de Viva Launcher descargará e importará la dependencia automáticamente en caliente cuando inicie el bot.
Por ejemplo, puedes consumir un endpoint REST seguro usando HttpClient de forma directa:
using System.Net.Http;
using System.Threading.Tasks;
// Código asíncrono soportado nativamente
var client = new HttpClient();
var response = await client.GetAsync("https://api.vivabots.internal/v1/validar/" + rfcCliente);
if (response.IsSuccessStatusCode) {
string content = await response.Content.ReadAsStringAsync();
Context.Set("api_validation_raw", content);
}
4. Compilación y Rendimiento
A diferencia de otras plataformas RPA que interpretan los scripts en tiempo de ejecución de manera lenta, Viva Launcher realiza un paso de compilación estricto y optimizado:
- Compilación Just-In-Time (JIT): El código C# se compila en una DLL en memoria utilizando el compilador Roslyn del SDK de .NET.
- Velocidad Nativa: El bloque se ejecuta a la misma velocidad de procesamiento que un binario compilado nativo de Windows.
- Gestión de Errores: Si ocurre una excepción no controlada dentro del bloque de código, esta se encapsula en un objeto
AutomationException, permitiéndote diseñar rutas de recuperación o alertas en Viva Consola de manera visual.
¿Listo para llevar tus automatizaciones al siguiente nivel? Combina la velocidad del drag-and-drop con el control ilimitado que te ofrece C# hoy mismo.