> For the complete documentation index, see [llms.txt](https://docs.skyone.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skyone.cloud/espanol/skyone-studio/terminales-and-agentes/agente.md).

# Agente

* [**Visión General**](#vision-general)
* [**Requisitos mínimos**](#requisitos-minimos)
* [**Instalación**](#instalacion)
* [**Configuraciones**](#configuraciones)
* [**Logs**](#logs)
  * [**Windows**](#windows-1)
  * [**Linux y Docker**](#linux-y-docker)
  * [**Registro del Agente: Errores Posibles**](#registro-del-agente-errores-posibles)

***

### Visión General

Gran parte de los **ERPs** no dispone de **APIs abiertas y completas** que permitan la integración de estos softwares con otras aplicaciones y soluciones.

Como alternativa, la mayoría de los fabricantes de ERPs permite o tolera una integración a nivel de datos. En este tipo de integración, un **agente externo**, normalmente un servicio instalado en la misma máquina del banco de datos, tiene acceso a la base de datos y puede ejecutar **queries** en tablas o vistas del sistema.

Con base en este concepto, creamos el **"Agente"**, una extensión segura de **Skyone Studio** que puede instalarse en entornos **On Premises**, utilizando mecanismos de comunicación seguros.

Cuando se utiliza, el **Agente** es un componente pasivo, ejecutando únicamente solicitudes enviadas por softwares externos o automatizadas en Skyone Studio.

Características Generales del "**Agente**":

* Conectarse localmente a una base de datos o a un recurso REST.
* Soporte para múltiples tipos de bases de datos.
* Soporte al conjunto completo de recursos REST.
* Procesar solicitudes provenientes de cualquier integración en Skyone Studio, con usuarios y permisos distintos.
* Conectarse a Skyone Studio y mantener un canal de comunicación abierto para recibir llamadas inmediatamente.
* Recibir llamadas tipo **“RPC like”** desde Skyone Studio, que se mapean en acciones sobre la base de datos o en llamadas REST.
* Responder de manera asíncrona a las llamadas de Skyone Studio.
* Reiniciarse automáticamente en caso de que la computadora donde está instalado sea reiniciada, sin necesidad de volver a ingresar los datos de autenticación.

***

### Requisitos mínimos

Los requisitos mínimos para ejecutar el **Agente** son:

* **Disco:** 1 GB libre
* **Memoria:** 512 MB
* **CPU:** 1 core a 1.5 GHz

***

### Instalación

Para descargar e instalar el **Agente**:

1. Haz clic en **"Terminales"** y, a continuación, en **"Descargar Agente"**.
2. Existen tres opciones de descarga: **Windows**, **Linux** y **Docker**. Elige la opción más adecuada y haz clic en **"Download"**.
3. Sigue las instrucciones correspondientes al sistema operativo:

{% tabs %}
{% tab title="Windows" %}
Para el sistema operativo **Windows**:

1. En la pantalla que aparece al ejecutar la aplicación, haz clic en **"Avanzar"**. Espera a que finalice la instalación.
2. Una vez que la instalación haya sido realizada con éxito, selecciona la opción **"Iniciar Aplicación"** y luego haz clic en **"Concluir"** para finalizar el proceso.
3. El **Agente** se inicializará y se presentarán algunos pasos de configuración. Haz clic en **"Próximo"**.

<figure><img src="/files/m42Cp6GvDpyxONhIPOqS" alt=""><figcaption></figcaption></figure>

4. Ingresa tus credenciales de acceso a **Skyone Studio** y haz clic en **"Próximo"**.

<figure><img src="/files/uyeIPUFRuXsEWolat2ZQ" alt=""><figcaption></figcaption></figure>

5. Selecciona la organización (espacio de trabajo) en la que deseas utilizar el **Agente**, e ingresa un nombre y ubicación para el mismo.

<figure><img src="/files/hPWdpdqKQ2EmpFs32uGY" alt=""><figcaption></figcaption></figure>

6. ¡Listo! Tu **Agente** está configurado y preparado para usarse en entornos **Windows**. Haz clic en **"Finalizar"** para cerrar el procedimiento de configuración.
   {% endtab %}

{% tab title="Linux" %}
Para instalar el **Agente** en **Linux**, sigue los pasos a continuación:

1. **Accede al Modo Administrador**\
   Es necesario entrar en modo **root** con el siguiente comando:

   ```bash
   sudo su
   ```
2. **Descarga el Instalador**\
   Descarga el archivo **.deb** del Agente utilizando **curl**:

   ```bash
   curl https://skyone-integrasky-inventory-hml.s3.amazonaws.com/agent/linux/IntegraSkyAgentSetup_v2.28.1.deb --output IntegraSkyAgentSetup_v<version>.deb
   ```
3. **Instala el Agente**\
   Una vez descargado el archivo, ejecuta la instalación del paquete **.deb**:

   ```bash
   apt install -f ./IntegraSkyAgentSetup_v<version>
   ```
4. **Accede a la carpeta de instalación**

   ```bash
   cd /usr/local/bin/skyone-solutions/integrasky-agent
   ```
5. **Ejecuta el Agente**

   ```bash
   ./IntegraSky
   ```
6. **Registra el Agente**\
   Registra el terminal con las credenciales proporcionadas:

   ```bash
   register -u <user@email> -p <password>
   ```

{% hint style="info" %}
En **Skyone Studio**, tendrás acceso a este comando ya con tu email incluido.
{% endhint %}

Tus espacios de trabajo serán listados y deberás seleccionar el que deseas conectar:&#x20;

<figure><img src="/files/SLvWzGYObeEWtozJ3fux" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Docker" %}
Para instalar el **Agente** en **Docker**:

1. Asegúrate de tener **Docker** instalado en la máquina. Si no lo tienes, sigue el procedimiento disponible \[[aquí](https://docs.docker.com/engine/install/)].
2. Descarga la imagen del Agente:

   ```bash
   docker pull integrasky/agent:latest
   ```
3. Una vez finalizada la descarga, ejecuta el **Agente** con el siguiente comando:

   ```bash
   docker run \ -e "INTEGRA_ENV_USER=<email>" \ -e "INTEGRA_ENV_PASSWORD=<password>" \ -e "INTEGRA_ENV_ORGANIZATION_ID=<code>" \ -e "INTEGRA_ENV_AGENT_NAME=<agent name>" \ -e "INTEGRA_ENV_AGENT_LOCATION=<agent location>" \ -v /ruta/para/datos:/data/integra \ integrasky/agent:latest
   ```

{% hint style="info" %}
En la plataforma **Skyone**, ya tendrás acceso a este comando con tu **email** y **Organization ID** incluidos.
{% endhint %}

<figure><img src="/files/OfOCisGwfqZkXt52gl1R" alt=""><figcaption></figcaption></figure>

Verifique todas las opciones de configuración a continuación en la pestaña Docker dentro de "[Configuraciones](/espanol/skyone-studio/terminales-and-agentes/agente.md)".
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Conoce más sobre las [versiones soportadas del **Agente**](/espanol/skyone-studio/terminales-and-agentes/agente/versiones-soportadas-por-el-agente.md)**.**
{% endhint %}

{% hint style="info" %}
Será necesario reinstalar el **Agente** en los siguientes casos:

* Si necesitas moverlo a otra estación.
* Si deseas volver a añadirlo a **Skyone Studio**.
* Si es necesario realizar modificaciones en el hardware.
  {% endhint %}

### **Configuraciones**

Siga las instrucciones para configurar su **Agente**, de acuerdo con el sistema operativo:

{% tabs %}
{% tab title="Windowns" %}
Al hacer clic en el **Agente** en Windows, **"Configuraciones"** es la primera pestaña que se muestra:

<figure><img src="/files/lrKjrkwwMYFcVk2PCs8m" alt=""><figcaption></figcaption></figure>

* **Estado del servicio de integración:** permite **Iniciar**, **Detener** y **Reiniciar** el servicio de integración. Cuando está detenido, no es posible ejecutar operaciones en **Skyone Studio** que involucren cuentas conectadas con un **Terminal** registrado.
* **Prueba de conexión a Internet:** verifica si el **Agente** está conectado a Internet.
* **Conexión con el servidor:** verifica si el **Agente** está conectado a los servidores de **Skyone Studio**.
* **Límite de procesos concurrentes:** permite ajustar la capacidad de procesos en paralelo dentro del rango de 1 a 100. El valor por defecto es 50. Después de cualquier cambio, haz clic en **"Aplicar"** y luego confirma la **reinicialización del servicio del Agente** haciendo clic en **"Sí"**, para que los nuevos ajustes entren en vigor.
* **Permitir certificados SSL no confiables en solicitudes REST/SOAP:** al activar esta opción, el **Agente** permitirá la comunicación aunque el certificado SSL no sea considerado seguro según estándares convencionales. Al activar la opción, aparecerá una ventana para confirmar la **reinicialización del servicio** y aplicar los cambios.

Indicadores de estado:

* Cuando ambos servicios (integración y servidor) funcionan correctamente, el ícono se mostrará **verde**.
* Si hay un problema de conexión, el ícono se mostrará **rojo**.
* Si el **Agente** está esperando conexión con algún servicio, el ícono se mostrará **gris**.

Después de registrar el **Agente**, aparecerá en la pestaña **Terminales**.

{% hint style="info" %}
Si hay problemas con algún servicio (integración o servidor), el **estado** del Agente aparecerá **gris o rojo** en la columna **Status**.
{% endhint %}

{% hint style="warning" %}
Es posible cerrar la ventana del **Agente** sin afectar el uso de **Skyone Datos**, pero la computadora debe permanecer encendida para mantener la comunicación.
{% endhint %}
{% endtab %}

{% tab title="Linux" %}
Para configurar el **Agente** en Linux, accede al terminal después de la instalación.

Comandos disponibles:

* `global_settings -view` : permite visualizar las configuraciones globales del **Agente**, como el estado del servidor y de la integración.
* `global_settings -concurrency_limit (1..100)` : configura la cantidad de procesos paralelos que el Agente puede manejar dentro del rango 1–100. Valor por defecto: 50.
* `global_settings -allow_unsafe_ssl_certificate true|false` : habilita o deshabilita la verificación del certificado SSL del destino antes de realizar una llamada REST/SOAP.

Después de cualquier cambio, es necesario reiniciar el **Agente** para aplicar las nuevas configuraciones.
{% endtab %}

{% tab title="Docker" %}
Para configurar el **Agente** en Docker, modifica los campos previamente establecidos durante la instalación:

* `INTEGRA_ENV_USER=<email>` : el correo electrónico utilizado en **Skyone Studio**.
* `INTEGRA_ENV_PASSWORD=<password>` : la contraseña utilizada en **Skyone Studio**.
* `INTEGRA_ENV_ORGANIZATION_ID=<organization_id>` : tu **Organization ID**, disponible en la sección de instalación de Docker en **Skyone Studio**.
* `INTEGRA_ENV_AGENT_NAME=<agent_name>` : nombre del agente.
* `INTEGRA_ENV_AGENT_LOCATION=<agent_location>` : ubicación del agente.
* `INTEGRA_ENV_CONCURRENCY_LIMIT=<concurrency_limit>` : configura la cantidad de procesos paralelos que el agente puede manejar dentro del rango 1–100. Valor por defecto: 50.
* `INTEGRA_ENV_ALLOW_UNSAFE_SSL_CERTIFICATES=<allow_unsafe_ssl_certificates>` : habilita o deshabilita la verificación del certificado SSL del destino antes de realizar una llamada REST/SOAP.
  {% endtab %}
  {% endtabs %}

### Logs

#### Windows:

Existe una pestaña de **Logs**, de solo lectura, que muestra todos los registros del **Agente**. Estos registros se actualizarán conforme ocurran nuevos eventos.

#### **Linux y Docker**

Es posible acceder a la carpeta de logs dentro del directorio donde se está ejecutando la aplicación.

**Ejemplo:**

```bash
cat /logs/log20231206.txt
```

***

### Registro del Agente: Errores Posibles

Los siguientes errores pueden ocurrir al registrar el **Agente**:

| Mensaje de Error                                                    | Descripción / Acción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Agent already configured on host (Agente ya configurado en el host) | <p>Skyone Studio identificó que ya existe un <strong>Agente</strong> previamente configurado en la estación.<br>- Puedes abortar la instalación o, si tienes autorización, ingresar al panel de <strong>Skyone Studio</strong> y eliminar el <strong>Terminal</strong> asociado al <strong>Agente</strong> anterior. Después de eso, podrás intentar la operación nuevamente.<br>- Si no tienes permiso para eliminar el <strong>Terminal</strong>, es posible que estés intentando instalar el <strong>Agente</strong> en el <strong>Espacio de Trabajo</strong> incorrecto.<br><strong>Nota:</strong> el mismo <strong>Agente</strong> puede ser utilizado por múltiples integraciones, por lo que no es necesario realizar instalaciones duplicadas.</p> |
| Agent name already exists (El nombre del Agente ya existe)          | <p>Esto puede ocurrir si deseas mover el <strong>Agente</strong> de una estación a otra sin perder el trabajo ya realizado en las integraciones que apuntan al Terminal del Agente.<br>- En este caso, debes instalar el <strong>Agente</strong> en la nueva estación y utilizar el mismo nombre para reemplazar el anterior.<br>- Skyone Datos notificará que el <strong>Agente</strong> anterior con el mismo nombre será desactivado y reemplazado por el nuevo, solicitando tu confirmación para proceder.</p>                                                                                                                                                                                                                                          |
| Control channel is not configured (Canal de control no configurado) | Este mensaje aparece únicamente durante la configuración del **Agente**, antes de ingresar los datos, e indica que el **Agente** aún no ha sido configurado. No se requiere ninguna acción.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.skyone.cloud/espanol/skyone-studio/terminales-and-agentes/agente.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
