Pro-Code

Cómo usar código custom C# en Vivabots

Aprende a integrar scripts de C# personalizados para extender las capacidades de automatización visual de Viva Builder de forma segura y veloz.

Vivabots RPA team5 de junio de 20265 min de lectura

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 Context debe 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:

  1. Abre las Propiedades del bloque Script C#.
  2. En la sección Dependencias NuGet, haz clic en añadir.
  3. Escribe el ID del paquete (por ejemplo, Newtonsoft.Json o RestSharp) y la versión deseada.
  4. 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.

Artículos recomendados