> 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/integraciones/flujos/modulos-de-herramientas/modulo-transformacion-de-datos.md).

# Módulo Transformación de Datos

* [Definición](#definicion)
* [Configuración del módulo](#configuracion-del-modulo-transformacion-de-datos)
  * [Configuración de variables](#configuracion-de-variables)
    * [Resultado](#resultado)

***

### Definición

El módulo de herramientas **"Transformación de Datos"**, módulo estándar de **Skyone Studio** para uso en cualquier flujo, fue creado para la **transformación de datos mediante** [**JSONATA**](https://jsonata.org/), facilitando así la creación de operaciones complejas.

**JSONata** es un lenguaje ligero, diseñado para consultar y transformar estructuras de datos en **JSON**.

El módulo **"Transformación de Datos"** está compuesto por una única operación, que permite manipular múltiples datos y transformarlos en el formato deseado. Este módulo siempre inicializa el parámetro **data**, lo que nos permite, como vimos en [**Manipulación de Objetos**](/espanol/skyone-studio/integraciones/operaciones-de-datos/manipulacion-de-objetos.md), no solo obtener un conjunto de datos, sino también filtrarlo para evocar únicamente un subconjunto específico.

{% hint style="info" %}
La **"Transformación de Datos"** es ideal para manipulaciones más complejas de datos, con una **respuesta interna dentro del flujo**.

* Para manipulaciones de menor complejidad, se recomienda utilizar una [**SMOP**.](/espanol/skyone-studio/integraciones/operaciones-de-datos/smop-pequenas-operaciones.md)
* Para manipulaciones más complejas de datos que requieran una **respuesta a una solicitud HTTP**, se recomienda utilizar el módulo **"Retorno"**.
  {% endhint %}

***

### Configuración del módulo "Transformación de Datos"

El módulo **"Transformación de Datos"** aparece en la opción **Herramientas** dentro de la edición de un flujo. Después de hacer clic para añadirlo, se mostrará la ventana modal de configuración.

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

{% hint style="info" %}
[Consulte sobre el **Encabezado del Módulo** aquí.](/espanol/skyone-studio/integraciones/encabezado-de-los-modulos.md)
{% endhint %}

***

### Configuración de variables

En este bloque, dentro de la pestaña **"Datos de Origen"**, se encuentran los siguientes campos:

* **Clave:** identificación de la variable.
* **Valor:** escriba o arrastre una variable.
* **Tipo:** seleccione el tipo de dato más adecuado. Las opciones son: **texto, número, booleano, objeto y array**.

Si lo prefiere, puede completar el **JSON de Origen**.

Una vez finalizada la configuración, haga clic en **"Avanzar"**.

#### Resultado

En esta pantalla es posible **ejecutar y visualizar la información de la transformación de datos** y manipularla mediante **JSONata**.

Para finalizar la configuración del módulo, haga clic en **"Guardar"**.

***

### JSONata y funciones adicionales

El módulo de Transformación de Datos utiliza funciones adicionales de JSONata para la manipulación avanzada de cadenas, criptografía y procesamiento de archivos.

A continuación se presentan las funciones disponibles para optimizar sus flujos de integración:

* **md5(value):** Genera un hash MD5 en formato hexadecimal. Útil para verificaciones rápidas de integridad.
* **sha256(value, digest?):** Genera un hash SHA-256, siendo más robusto que el MD5. El formato de salida predeterminado es hex.
* **generateHmac(value, secret):** Crea un código de autenticación de mensajes basado en hash para firmar datos de forma segura.
* **removeValues(value, callback):** Elimina claves de un objeto o array de forma recursiva basándose en una condición.
* **removeKeys(value, targetKey):** Limpia campos no deseados en estructuras anidadas eliminando todas las ocurrencias de una clave específica.
* **splitPDF(value):** Procesa un PDF en Base64 y lo separa en un array, donde cada elemento es una página individual.

#### Cómo utilizar las funciones en la práctica

Para utilizar las funciones en su módulo de Transformación de Datos:

1. Haga clic en **Editar** en el módulo para acceder al editor.
2. Inserte la expresión JSONata utilizando la función adicional deseada, como `md5(campo_origen)`.
3. Haga clic en **Ejecutar** para validar la generación del hash o la limpieza de la estructura.
4. Verifique el resultado en el panel de salida antes de guardar la configuració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:

```
GET https://docs.skyone.cloud/espanol/skyone-studio/integraciones/flujos/modulos-de-herramientas/modulo-transformacion-de-datos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
