Activar Re-captcha en los formularios

1° Ir al editor del formulario en la seccion JS.

2° Crear la “clave recaptcha” en la pagina de recaptcha google(https://developers.google.com/recaptcha?hl=es-419).

3° Ir a “comenzar”, nos llevará a la guía para desarrolladores, y ahi tambien daremos en “comenzar”.

4° Registrar el formulario que quieres utilizar. (En dominio y en etiqueta coloque “forms.myrb.io”.

5° Configurar v3 (Verifica las solicitudes mediante una puntuación) o V2 (Verifica las solicitudes con un desafío).

Luego ir a “enviar” y nos redirigira a nuestra nueva “clave de sitio”.

6° En nuestro formumario ir a la pestaña “js” , agregar un nuevo CDN con “https://www.google.com/recaptcha/api.js?render= + nuestra clave de sitio”

7° En la terminal js -> Events/FormEvents/load tendremos que cargar el recapcha:

const siteKey = ‘nuestroCodigoSiteKey’;
// Verificamos si ya se cargó el script
if (typeof grecaptcha === ‘undefined’) {
const script = document.createElement(‘script’);
script.src = `https://www.google.com/recaptcha/api.js?render=${siteKey}`;
script.async = true;
script.defer = true;
document.head.appendChild(script);
}

8° En la terminal js -> Events/FormEvents/submit tendremos que ejecutar el recapcha:

event.preventDefault();
const siteKey = ‘nuestroCodigoSiteKey’;
grecaptcha.ready(() => {
grecaptcha
.execute(siteKey, { action: ‘submit’ })
.then(token => {
console.log(‘✅ Token generado:’, token);
// Inyectar el token en el form
const form = document.getElementsByTagName(‘form’)[0];
let input = form.querySelector(‘input[name=”g-recaptcha-response”]’);
if (!input) {
input = document.createElement(‘input’);
input.type = ‘hidden’;
input.name = ‘g-recaptcha-response’;
form.appendChild(input);
}
input.value = token;
// (Opcional) si tenés una función que controla validaciones / horario:
// enviarFormulario({ target: form, preventDefault: ()=>{} });
// y dentro de enviarFormulario llamás form.submit() al final.
// Disparar el envío final del form
form.submit();
});
});

Asi podremos ingresar a nuestro propio recaptcha para que podamos ver la informacion de nuestra cuenta de google de los envios de informacion de nuestros formularios.




Orquestador Rocketbot : Cronjobs Advance

En el orquestador una vez teniendo creado un proyecto y asignado a este un proceso podemos crear cronjobs.

Al momento anterior de crear un cronjob tenemos las opciones de habilitar o deshabilitar los cronjobs,también se podrá visualizar la información detallada del cronjob creado,con ello estará la opción de crear un nuevo cronjob.

New Cronjob

Podemos crear un cronjob y dependiendo las especificaciones que necesitemos para esta tarea tendremos dos modos.

Basic mode

En el modo básico permite la asignación de cronjob de una manera más rápida,simple y eficaz,donde su método de especificación es más sencillo.

En este modo podremos configurar lo siguiente:

  • Initial Date: se podrá especificar qué día/mes/año se iniciará el proceso.
  • Initial Hour: aquí se detalla la hora de arranque.
  • Timezone: debería de asignar la zona horaria adecuada para tener la referencia de la hora y demás para su correcta ejecución.
  • Repeat:Se puede elegir las opciones de repetición en diario,semanal,mensual,5 minutos,10 minutos o directamente no repetir
  • Instance:hay que elegir en qué instancia desea programar la tarea
  • Cron data:En este apartado pueden ingresarse parametros adicionales que seran enviados al robot cuando se ejecute a partir de su linea de comandos. Para obtener estos paramentros en caso de tener una versión anterior de rocketbot es con el módulo System++ (get arguments)y dentro del módulo se le asigna una variable cual traerá la información o el comando del orquestador a Studio,si cuenta con la nueva versión de Rocketbot traerá por defecto en sistemas get arguments .Command line también se une a cron data.

Advanced mode 

En el modo avanzado podremos determinar y/o detallar cierta información en caso de querer repetir el cronjob.

Tendremos las siguientes opciones;

  • Will activate every… : Aquí en esta configuración podemos decidir cada cuanto se activará el cronjob,en sus opciones está el activarlo en un tiempo,diario,semanalmente o mensualmente. 
  • This cronjob will execute one time on … at … :Se podrá elegir la ejecución del cronjob detallando la fecha y la hora.
  • Set date of expiration :Aquí tendremos la opción de elegir la fecha para la expiración. 
  • Set frequency of execution :Podemos elegir la frecuencia de la ejecución minutos por minutos. 

En caso de querer mas detalles puede visitar la siguiente Documentación: Trabajar con cronjobs




Orquestador: Control room admin

¿Qué es control room?

Control Room es tu panel central para que tus clientes o compañeros puedan interactuar con determinados robots, los cuales te pertenecen.

Para poder hacer eso, y con los permisos necesarios, debemos vincular un email con dichos procesos.

Vincular email a control room

Nos debemos dirigir a nuestros procesos.

Seleccionamos el proceso que queremos vincular y nos dirigimos a la herramienta control room.

Nos saldrá el siguiente modal con el listado de emails que ya están vinculados (controlando) dicho proceso. Los cuales podremos eliminar o editar tanto el email como sus permisos.

También un input para agregar un email nuevo. Este email no se debe repetir y podremos asignarle los permisos que deseamos. Una vez que configuremos todo, debemos agregar dicho email con el botón “+” (agregar). Dicho email se agregara al listado y para concluir daremos a “Save”.

  • Stop process: Permiso para detener el proceso.
  • Run process: Permiso para iniciar el proceso.
  • View custom logs: Permiso para ver los mensajes internos (custom logs).

Y listo! El nuevo email ya podrá interactuar con el robot.

Permisos

Para que los usuarios puedan configurar nuevos emails en Control Room, deberan poseer permisos especiales en la consola de Roles.




Subir archivos con extensión .zip al robot

¿Cómo subir los archivos?

En el modal de creación/edición de proceso, además de poderse subir archivos con extensión .db, se podrán subir archivos con extensión .zip.

Para subir archivos con extensión .zip debemos dirigirnos al modal de creación/edición de robot.

Donde se debera ingresar el “start robot name” el cual debe ser el nombre con el que queremos llamar al nuevo zip subido. Y luego en “upload DB” debemos subir el archivo en formato .zip

El zip que se suba debe tener un archivo llamado manifest.json con el siguiente contenido:

  • {
  •     “name”: “nombre del archivo”,
  •     “version”: “versión del archivo”,
  •     “description”: “Descripción del archivo”,
  •     “main”: “Método que se utilizara y corresponde al comando principal “
  •     “arguments”: “parámetros que se utilizaran”
  • }

Deben asegurar que lo que van a ejecutar esté instalado en la instancia, de lo contrario en los logs de la ejecución en el orquestador aparecerá un error.

Ejemplos:

Ip config

  • {
  •     “name”: “script name”,
  •     “version”: “1.0”,
  •     “description”: “script description”,
  •     “main”: “ipconfig”
  •     “arguments”: [“/all”]
  • }

Y dará como resultado:

Python

  • {
  •     “name”: “python print”,
  •     “version”: “1.0”,
  •     “description”: “Prints a message in the console”,
  •     “main”: “python”
  •     “arguments”: [“print.py”, “–version”]
  • }

Esto hará que el NOC ejecute un script python que estará en la misma carpeta que el manifest.json

Y dará como resultado:

Node

  • {
  •     “name”: “python print”,
  •     “version”: “1.0”,
  •     “description”: “Prints a message in the console”,
  •     “main”: “node”,
  •     “arguments”: [“print.js”]
  • }

Y dará como resultado:

Ping a google

  • {
  •     “name”: “ping google”,
  •     “version”: “1.0”,
  •     “description”: “Sends a ping to Google”,
  •     “main”: “ping”,
  •     “arguments”: [“google.com”]
  • }

Y dará como resultado:




Usuarios & Roles

Usuarios

Para poder acceder a estas pestañas debemos dirigirnos a la sección “Users & roles”.

En esta pestaña podremos visualizar la lista de los usuarios de la cuenta con su respectiva información.

  • “Name”: Nombre del usuario.
  • “Email”: Email con el cual está registrado.
  • “Active”: Si el usuario está o no activado.  En el caso de estar desactivado, el usuario no podrá ingresar al orquestador.
  • “ApiKey”: Si la ApiKey del usuario esta generada o no.
  • “ApiKey expiration”: Fecha en la cual la ApiKey expirará.
  • “Role”: Rol en el cual esta asignado el usuario.

¿Cómo crear un usuario?

Para crear un usuario debemos dirigirnos al botón inferior derecho o al botón superior izquierdo.

Se nos abrirá un modal en el cual debemos ingresar la información del nuevo usuario:

¿Qué formato debe tener la contraseña?

  • Un mínimo de 10 caracteres.
  • Un mínimo de 6 caracteres alfanuméricos.
  • Al menos 1 letra mayúscula.
  • Al menos 2 números.
  • Al menos 2 caracteres especiales. (!@#$%^&*_)

Herramientas de usuarios:

API Key

Se abrirá un modal para la generación o actualización de la Api Key.

Disable

Opción para deshabilitar/habilitar un usuario.

Editar usuario

Se abrirá el modal en el que ingresamos la información del usuario, para modificar la información que nosotros queramos.

Eliminar usuario

Nos saldrá un cartel para confirmar la eliminación del usuario.

Roles

En esta pestaña podremos visualizar la lista de los roles de la cuenta.

Para crear un nuevo rol debemos ir a “Add role” y seleccionar los permisos que deseamos asignar al usuario que contendrá el rol.

¿Qué permisos podemos asignar?

Checkbox generales

  • “view”: Permisos de solo lectura de los checkbox asignados.
  • “add”: Permisos para crear elementos nuevos según los checkbox asignados.
  • “Delete”: Permisos para eliminar los elementos de los checkbox asignados.
  • “Modify”: Permisos para modificar los elementos de los checkbox asignados.

Los elementos que se pueden asignar (checkbox) a los permisos del rol en la sección “general” son:

  • Proyectos
  • Procesos
  • Usuarios
  • Roles
  • Instancias
  • Assets (variables)
  • Formularios
  • Configuración

Checkbox extras

De procesos

  • “set Cron”: Permiso para configurar y crear los cronjobs.
  • “Charge robot”: Permiso para subir o editar robots nuevos en el proceso.
  • “Link instances”: Permiso para vincular instancias a los procesos.
  • “Unlink instances”: Permiso para desvincular instancias a los procesos.
  • “Run individual instances”: Permiso para correr instancias de forma individual (botón “play” en procesos).
  • “Run all instances”: Permiso para correr instancias de forma masiva (botón “run” en las herramientas de procesos).
  • “View process execution”: Permiso para visualizar la pestaña process execution.
  • “Modify members of process”: Permiso para privatizar un proceso y agregar miembros para habilitarlos a entrar al proceso privado.
  • “Delete custom logs”: Permiso para eliminar los mensajes de forma individual del “custom logs”.
  • “Delete all custom logs”: Permiso para eliminar los mensajes del “custom logs” de forma pasiva.

De formularios

  • “View queues”: Permiso para visualizar la tabla de queues (envíos de información).
  • “Modify queues”: Permiso para modificar los queues (envíos de información).
  • “View user forms”: Permiso para visualizar la tabla de “usuarios de formularios” (para formularios privados)
  • “Modify user forms”: Permiso para modificar la tabla de “usuarios de formularios” (para formularios privados) Agregarles formularios o cantidad de envíos de información.

De Configuración

  • “Change company name”: Permiso para cambiar el nombre de la empresa.
  • “View logs”: Permiso para ver el registro del orquestador.
  • “View company storage”: Permiso para ver el espacio utilizado en los formularios de la empresa.
  • “Clear company storage”: Permiso para borrar el espacio utilizado en los formularios de la empresa.

De usuarios

  • “Generate Api key”: Permiso para generar api key.
  • “Disable user”: Permiso para deshabilitar o habilitar usuarios.

¿Cómo editar o eliminar un rol?

Podremos editarlos o eliminarlos yendo a las herramientas del rol y luego a “Edit role” o  “Delete role”.

¿Cómo asignamos el nuevo rol a los usuarios?

Una vez creado el rol, debemos ir a la lista de los usuarios y editar el usuario al que deseamos colocar el nuevo rol. Nos abrirá el modal de edición (visto al principio) y ahí podremos seleccionar el rol que acabamos de crear.

Y nos quedaría el usuario en la lista con el rol nuevo.




Assets

¿Qué es un Asset?

Son variables ya sea globales o de entorno, las cuales podemos utilizar para pasar valores desde el orquestador a un robot de Rocketbot Studio.

Listado

Para ver el listado de Assets nos deberemos dirigir a la pestaña “Assets”.

  • “Name”: Nombre del Asset.
  • “Type”: General (Se puede visualizar el valor) o Password (el valor aparece como asteriscos para no mostrar el valor).
  • “Value”: Valor alfanumérico que le podremos proporcionar al Asset para enviar al robot.
  • “Process”: Si es una variable global el proceso seria all (Embarca todos los procesos) (imagen A). Caso contrario el asset correspondería a un proceso en específico que elijamos (Imagen B).
  • “Instance”: Si es una variable global la instancia seria all (Embarca todas las instancias) (imagen A). Caso contrario el asset correspondería a una instancia en específico que elijamos (Imagen B).

Asset global:

Asset de entorno:

Editar Asset

“Edit asset”: Podremos editar el Asset.

Eliminar Asset

“Delete asset”: Podremos eliminar el Asset.

¿Cómo pasar el valor del Asset a mi robot?

Instalar el modulo “Assets_NOC”

Utilizar el comando “Get an Specific Asset”

  • “Asset Name”: Nombre del Asset.
  • “Process token”: Token único del proceso. (En caso de ser un Asset global “all” dejar en blanco)
  • “Instance key”: Llave única de la instancia. (En caso de ser un Asset global “all” dejar en blanco)
  • “Assign result to variable”: Variable que crearemos en el robot para obtener el valor del asset.

Una vez configurado todo, cuando el robot ejecute dicho comando (Con las credenciales adecuadas), la variable que hemos asignado (asset1) obtendrá el valor de nuestro asset.

Orden de prioridad de Assets

Importante: Si varios assets predominan en la misma instancia, el orden de prioridad de los assets se tomará desde el nivel con más detalle en la integración de la misma.

Ejemplo: El orden de prioridad siendo 1 más importante y 3 menos importante:

  1. Un asset está configurado en un proceso determinado y en una de sus instancias determinadas.
  2. Un asset configurado en un proceso determinado y todas sus instancias.
  3. Un asset configurado en todos los procesos y todas las instancias.



Documentación Orquestador

Índice




Orquestador Rocketbot : Procesos Privados

Este sistema permite convertir procesos públicos en privados y viceversa.

Diferencias entre procesos públicos y privados:

  • En un proceso público, cualquier usuario registrado en la cuenta del cliente (es decir, cualquier usuario que figure en la tabla “users”) puede ingresar.

  • En un proceso privado, solo pueden acceder los usuarios que estén incluidos en la lista de “miembros” específica para ese proceso.

Pasos para privatizar un proceso:

Verificar permisos necesarios

Antes de privatizar un proceso, es esencial contar con los permisos adecuados, incluyendo la capacidad de agregar “miembros”. 

Para esto, dirígete a la lista de users y roles , busca el rol asignado a tu usuario ( para saber qué rol tienes, revisa la tabla )

En el menú lateral (tres puntos), se mostrarán las opciones para visualizar los permisos del rol. También podrás editar o eliminar el rol, siempre que tengas los permisos adecuados para realizar estas acciones.

Al ingresar a la vista de permisos, podrás verificar si tienes habilitadas las siguientes acciones.

Asegúrate de que tu rol tenga habilitado el permiso “Modify members of process”. 

Si no cuentas con este permiso, aparecerá el siguiente mensaje de advertencia:

Seleccionar el proceso

Una vez confirmados los permisos, dirígete a la lista de procesos o navega hasta el proceso del proyecto que deseas privatizar.

Privatizar el proceso

Identifica el proceso que deseas privatizar, accede a su menú de herramientas (…), y selecciona la opción “Lock process”.

Esta acción cambiará el estado del proceso a privado.

Convertirse en administrador del proceso

Al privatizar un proceso, automáticamente te conviertes en el “organizador” o “administrador” del mismo. 

Esto te otorga acceso total al proceso y la capacidad de agregar miembros.

Agregar miembros al proceso

Una vez dentro del proceso, aparecerá una nueva herramienta llamada “Members”

Al hacer clic en ella, se abrirá un modal con la lista completa de usuarios. Aquí podrás seleccionar a los usuarios que deseas agregar como miembros del proceso.




Orquestador Rocketbot : Process Execution

¿Dónde lo encuentro?

Lo puedes ubicar en el menú lateral, con un ícono de reloj.

Función

En esta sección podremos observar las ejecuciones en tiempo real de nuestros procesos.

Se nos visualizarán los siguientes ítems:

  1. Nombre del proceso.
  2. Nombre de la instancia.
  3. Nombre del robot.
  4. Fecha y hora de inicio del robot.
  5. Fecha y hora de final del robot.
  6. Duración que tuvo el robot.

Filtro de Búsqueda

De ser necesaria una búsqueda, tendremos a disposición los filtros de búsqueda, con los cuales contamos con

  • Started at: Filtro de inicio de fecha de ejecución de robot.
  • Ended at: Filtro de fin de fecha de ejecución de robot.
  • Filter by dates: Botón para iniciar la búsqueda de robots que coincidan entre la o las fechas configuradas.
  • Search process execution: Búsqueda general.
  • Process: Filtrar por nombre de proceso.
  • Instance: Filtrar por nombre de instancia.
  • Boton “XLSX”: Imprimir resultados en un Excel.



Orquestador Rocketbot: APIs Xperience

¿Qué es una API?

Una API (Interfaz de Programación de Aplicaciones) es un conjunto de reglas, protocolos y herramientas que permiten a diferentes sistemas de software comunicarse e interactuar entre sí, de manera estructurada. Las direcciones URL a través de las cuales se envían solicitudes y se recibe información de las APIs se denominan endpoints.

Requisitos Previos

  • Acceso al Orquestador
  • El usuario del Orquestador debe tener una api Key generada.

Endpoints disponibles

Listar Proyectos

Devuelve un listado de los proyectos cargados en el Orquestador, con sus respectivos procesos y robots asignados.

Método URL Parámetros
POST https://www.myrb.io/dev/api/project/list Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador)
Avanzado

Ejemplos de requests

  • cURL
curl --location --request POST 'https://www.myrb.io/dev/api/project/list' \
--header 'Authorization: 'Authorization: Bearer <token>'

  • Python
import requests

url = "https://www.myrb.io/dev/api/project/list"

payload = {}
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": [
        {
            "name": "test orquestador",
            "token": "JR0EYGNSXEMTQWUP",
            "created_at": "2024-08-15 08:42:16",
            "id": 69,
            "description": null,
            "process_count": 1,
            "process": [
                {
                    "id": 168,
                    "project_id": 69,
                    "token": "1KZQIJKTTR75CGWF",
                    "name": "bot orquestador",
                    "last_robot": {
                        "id": 143,
                        "name": "bot orquestador",
                        "user_id": 67,
                        "client_id": 3,
                        "cron": null,
                        "version": null,
                        "version_rocketbot": null,
                        "robot": "myrb_clients/dev/project/69/process/168/robot/rocket.bot",
                        "md5": "7af04cc5dbbea2e6ff1f27c183ef4772",
                        "comment": null,
                        "type": 1,
                        "status": 0,
                        "process_id": 168,
                        "start_bot": "bot_orquestador",
                        "created_at": "2024-08-21 09:37:50",
                        "updated_at": "2024-08-21 09:37:50"
                    },
                    "backup": null,
                    "trigger_process": null,
                    "client": null,
                    "robots": [
                        {
                            "id": 143,
                            "name": "bot orquestador",
                            "user_id": 67,
                            "client_id": 3,
                            "cron": null,
                            "version": null,
                            "version_rocketbot": null,
                            "robot": "myrb_clients/dev/project/69/process/168/robot/rocket.bot",
                            "md5": "7af04cc5dbbea2e6ff1f27c183ef4772",
                            "comment": null,
                            "type": 1,
                            "status": 0,
                            "process_id": 168,
                            "start_bot": "bot_orquestador",
                            "created_at": "2024-08-21 09:37:50",
                            "updated_at": "2024-08-21 09:37:50"
                        }
                    ]
                }
            ]
        }
    ]
}

Subir robot a un proceso existente

Permite asociar un robot a un proceso ya existente en el Orquestador.

Método URL Formato Parámetros
POST https://www.myrb.io/dev/api/process/robot/update/data multipart/form-data Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).

name: Nombre del proceso al que se asignará el robot.
startbot: Nombre del robot como aparece en Studio.
process_id: Token del proceso. Hace referencia al token del proceso, se puede obtener desde el ROC ó utilizando el endpoint /api/project/list.
project_id: Identificador del proyecto al que pertenece el proceso. Debe obtenerse previamente utilizando el endpoint /api/project/list.
file: robot.bd

Avanzado

Ejemplos de requests

  • cURL
curl --location 'https://www.myrb.io/dev/api/process/robot/update/data' \
--header 'Authorization: Bearer <token>' \
--form 'name="process1"' \
--form 'startbot="navegador"' \
--form 'process_id="NDQGBJBSE4LDRSVA"' \
--form 'project_id="56"' \
--form 'file=@"/C:/Users/navegador.db"'

  • Python
import requests

url = "https://www.myrb.io/dev/api/process/robot/update/data"

payload = {'name': 'process1',
'startbot': 'navegador',
'process_id': 'NDQGBJBSE4LDRSVA',
'project_id': '56'}
files=[
  ('file',('navegador.db',open('/C:/Users/navegador.db','rb'),'application/octet-stream'))
]
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": {
        "robot": "myrb_clients/dev/project/56/process/152/robot/rocket.bot",
        "md5": "484871810fe6e7ed78b4bacb53a408b3",
        "start_bot": "navegador",
        "status": 0,
        "type": 1,
        "name": "process1",
        "user_id": 66,
        "process_id": 152,
        "client_id": 3,
        "updated_at": "2024-09-18 16:58:14",
        "created_at": "2024-09-18 16:58:14",
        "id": 145,
        "process": {
            "id": 152,
            "name": "process1",
            "token": "NDQGBJBSE4LDRSVA",
            "robot_id": 131,
            "config": null,
            "client_id": 3,
            "data": null,
            "status": 0,
            "minutes": null,
            "sent_email": null,
            "email": null,
            "trigger": null,
            "created_at": "2024-08-05 17:14:14",
            "updated_at": "2024-08-05 13:14:14",
            "project_id": 56,
            "form_id": null,
            "private": 0,
            "last_robot": {
                "id": 145,
                "name": "process1",
                "user_id": 66,
                "client_id": 3,
                "cron": null,
                "version": null,
                "version_rocketbot": null,
                "robot": "myrb_clients/dev/project/56/process/152/robot/rocket.bot",
                "md5": "484871810fe6e7ed78b4bacb53a408b3",
                "comment": null,
                "type": 1,
                "status": 0,
                "process_id": 152,
                "start_bot": "navegador",
                "created_at": "2024-09-18 16:58:14",
                "updated_at": "2024-09-18 16:58:14"
            },
            "backup": null,
            "trigger_process": null,
            "client": {
                "id": 3,
                "name": "Academy",
                "owner": null,
                "parent": null,
                "type": 2,
                "status": 0,
                "created_at": "2022-09-05 11:07:44",
                "updated_at": "2023-01-03 11:04:21"
            },
            "robots": [
                {
                    "id": 131,
                    "name": "process1",
                    "user_id": 66,
                    "client_id": 3,
                    "cron": null,
                    "version": null,
                    "version_rocketbot": null,
                    "robot": "myrb_clients/dev/project/56/process/152/robot/rocket.bot",
                    "md5": "5594faf198e491c7868cf600204f39d2",
                    "comment": null,
                    "type": 1,
                    "status": 0,
                    "process_id": 152,
                    "start_bot": "saludo",
                    "created_at": "2024-08-05 17:14:14",
                    "updated_at": "2024-08-06 10:38:46"
                },
                {
                    "id": 145,
                    "name": "process1",
                    "user_id": 66,
                    "client_id": 3,
                    "cron": null,
                    "version": null,
                    "version_rocketbot": null,
                    "robot": "myrb_clients/dev/project/56/process/152/robot/rocket.bot",
                    "md5": "484871810fe6e7ed78b4bacb53a408b3",
                    "comment": null,
                    "type": 1,
                    "status": 0,
                    "process_id": 152,
                    "start_bot": "navegador",
                    "created_at": "2024-09-18 16:58:14",
                    "updated_at": "2024-09-18 16:58:14"
                }
            ]
        }
    }
}

Iniciar la ejecución de un robot

Permite iniciar la ejecución de un robot, sin necesidad de un formulario. Es ideal para integrar la ejecución de robots en sistemas externos.

Método URL Formato Parámetros
POST https://www.myrb.io/dev/api/process/robots/start application/x-www-form-urlencoded Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
process_id: Identificador del proceso. Hace referencia al token del proceso, se puede obtener desde el ROC o utilizando el endpoint /api/project/list.
Avanzado

Ejemplos de request

  • cURL
curl --location 'https://www.myrb.io/dev/api/process/robots/start' \
--header 'Authorization: Bearer <token>' \
--data-urlencode 'process_id=CEDLU6FK79BOLPUM'

  • Python
import requests

url = "https://www.myrb.io/dev/api/process/robots/start"

payload = 'process_id=CEDLU6FK79BOLPUM'
headers = {
  'Authorization': 'Bearer <token>',
  'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true
}

Obtener todas las queues

Devuelve un listado de las queues de todos los formularios de Xperience existentes en el Orquestador, pudiendo además filtrar por fecha de inicio y fin de las mismas.

Método URL Formato Parámetros
POST https://www.myrb.io/dev/api/formData/all application/json Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
from: Fecha de inicio de la búsqueda (YYYY-MM-DD).
to: Fecha de fin de la búsqueda (YYYY-MM-DD)
Avanzado

Ejemplos de request

  • cURL
curl --location 'https://www.myrb.io/dev/api/formData/all' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "from": "2024-06-9",
    "to": "2024-07-16"
}'

  • Python
import requests
import json

url = "https://www.myrb.io/dev/api/formData/all"

payload = json.dumps({
  "from": "2024-06-9",
  "to": "2024-07-16"
})
headers = {
  'Authorization': 'Bearer <token>',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": [
        {
            "id": 8315,
            "form_name": "five9notas",
            "form_token": "6HNZNSYVG4W2MCSO",
            "created_at": "2024-07-10 11:04:55",
            "processed_at": "2024-07-10 11:06:26",
            "status": 1,
            "user_form_email": null,
            "locked_user": "Bot Integracion",
            "locked": 0,
            "form_id": 25
        },
        {
            "id": 8316,
            "form_name": "Clientify",
            "form_token": "F9J65RTNWWPMTYD8",
            "created_at": "2024-07-11 10:25:35",
            "processed_at": "2024-07-11 10:27:13",
            "status": 1,
            "user_form_email": null,
            "locked_user": "Robot Interno",
            "locked": 0,
            "form_id": 14
        }
    ]
}

Añadir datos a queue

Completa un formulario de Xperience y coloca los datos en cola para ser procesados (Debe tener activa la opción “send API” en el formulario).

Método URL Formato Parámetros
POST https://www.myrb.io/dev/api/formData/addQueue/:token
token: Representa el token de formulario creado en ROC Xperience.
multipart/form-data Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
Dato1:
Dato2:
(Otros Datos): Se pueden incluir campos adicionales según el diseño del formulario.
Avanzado

Ejemplo de request

  • cURL
curl --location 'https://www.myrb.io/dev/api/formData/addQueue/:token' \
--header 'Authorization: Bearer <token>' \
--form 'email="prueba@prueba.com"' \
--form 'nombre="prueba1"'

  • Python
import requests

url = "https://www.myrb.io/dev/api/formData/addQueue/:token"

payload = {'email': 'prueba@prueba.com',
'nombre': 'prueba1'}
files=[

]
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": {
        "xperience": "eyJpdiI6Inpid0RRVlV0bEczTW9DM1Z5SEFrV1E9PSIsInZhbHVlIjoiOVJCZHhHTDBwQ0p1Y2psVU9WZTYxbE5paFwvRTQ4cWlKSFZ3UUxGcVNUQXh4UTBxOFEwc01Ba0pvV1kwQklRdXByTE1JU2tWMTMxZkx5Qk41SFNTNmdRPT0iLCJtYWMiOiI5YjFiNjAyMTRiODUwMjk3YjdjZGEwZjFmMjE4MjhiNGI5MzA5MTViNmVhMTE4OTI0NmExNTgwYWE4YWJlYWNjIn0="
    }
}

Obtener todos los queues id

Devuelve un listado con los IDs de todas las queues con estado “Not Processed” de un formulario de Xperience existente.

Método URL Parámetro
POST https://www.myrb.io/dev/api/formData/get/:token:
:token: Representa el token de formulario creado en ROC Xperience.
Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
Avanzado

Ejemplos de request

  • cURL
curl --location --request POST 'https://www.myrb.io/dev/api/formData/get/:token' \
--header 'Authorization: Bearer <token>'

  • Python
import requests

url = "https://www.myrb.io/dev/api/formData/get/:token"

payload = {}
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": [
        {
            "id": 4734,
            "form_name": null,
            "user_form_email": null,
            "locked_user": null,
            "form_token": null,
            "form": null,
            "user_form": null,
            "locker": null
        },
        {
            "id": 4735,
            "form_name": null,
            "user_form_email": null,
            "locked_user": null,
            "form_token": null,
            "form": null,
            "user_form": null,
            "locker": null
        },

    ]
}

Cambiar de estado una queue

Permite modificar el estado de un queue.

Método URL Formato Parámetro
POST https://www.myrb.io/dev/api/formData/setStatus/:id:
:id: Representa el ID de la cola que se desea modificar. Este ID debe obtenerse previamente utilizando el endpoint /formData/get/:token.
multipart/form-data Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
status: Un número entero que indica el nuevo estado de la cola. 0: No procesado
1: Procesado
lock: Un nú 0: No bloqueada
1: Bloqueada
Avanzado

Ejemplos de request

  • cURL
curl --location 'https://www.myrb.io/dev/api/formData/setStatus/:id' \
--header 'Authorization: Bearer <token>' \
--form 'status="1"' \
--form 'locked="0"'

  • Python
import requests

url = "https://www.myrb.io/dev/api/formData/setStatus/:id"

payload = {'status': '1'}
files=[

]
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Ejemplo de response

{
    "success": true
}

Obtener datos de un formulario

Permite recuperar los datos de un formulario específico que se encuentra dentro de una queue determinada. Es útil para procesar los datos de un formulario una vez que ha sido añadido a la queue.

Método URL Parámetros
POST https://www.myrb.io/dev/api/formData/getQueue/:id/:token
:id: Representa el ID de la cola. Este ID debe obtenerse previamente utilizando el endpoint /formData/get/:token.
:token: Representa el token de formulario creado en ROC Xperience.
Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
Avanzado

Ejemplos de request

  • cURL
curl --location --request POST 'https://www.myrb.io/dev/api/formData/getQueue/:id/:token' \
--header 'Authorization: Bearer <token>'

  • Python
import requests

url = "https://www.myrb.io/dev/api/formData/getQueue/:id/:token"

payload = {}
headers = {
  'Authorization': 'Bearer <token>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": {
        "id": 8728,
        "data": "{\"Dato1\":\"prueba\",\"Dato2\":\"prueba1\"}",
        "user_form_email": null,
        "xperience": "eyJpdiI6InNxMXhRekhVUUJrWVptcGpzOUM1aXc9PSIsInZhbHVlIjoiY1NoMGtpcW5udk5vTmZxVlVYZFg1V29CUGU4SDB1UVUwWXFuYVNMb2FVNkE2OE5MMnRwelorWGxtMU9VZ2pjTGJnSUNLaE5cL1ArSkpPdk1BendRYVlvTlMyU0QwclNxN0E2VENmSDEyZTJRPSIsIm1hYyI6ImYyYjc2ZmM3OTAwMWQzNDVlMmViNmM1NTIxNjc0OTc0Y2IwOTA2Yjg4YTMwODNlODUwNzU1NWQ4MmM2ZGRmMjcifQ=="
    }
}

Obtener Asset

Se utiliza para solicitar información de un asset almacenado en el orquestador. La búsqueda se realiza filtrando por nombre e instancia a la que pertenece.

Método URL Formato Parámetros
POST https://www.myrb.io/dev/api/assets/get application/x-www-form-urlencoded Authorization: tipo Bearer Token; es el Token de acceso válido para autenticar al usuario (API Key asociada al perfil en el orquestador).
name: El nombre del asset.
instance: Key de la instancia, tal como se define en el archivo noc.ini.
Avanzado

Ejemplos de request

  • cURL
curl --location 'https://www.myrb.io/dev/api/assets/get' \
--header 'Authorization: Bearer <token>' \
--data-urlencode 'name=toNotify' \
--data-urlencode 'instance=66b1418f93213'

  • Python
import requests

url = "https://www.myrb.io/dev/api/assets/get"

payload = 'name=toNotify&instance=66b1418f93213'
headers = {
  'Authorization': 'Bearer <token>',
  'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Ejemplo de response

{
    "success": true,
    "data": {
        "id": 31,
        "name": "toNotify",
        "type": "password",
        "value": "prueba@prueba.com",
        "client_id": 3,
        "process_id": 0,
        "instance_id": 0,
        "created_at": "2023-03-21 17:12:35",
        "updated_at": "2023-10-25 12:21:49"
    }
}