Artículos sobre: Preguntas Frecuentes

¿Qué es XPath/JsonPath y cómo usarlo en DANAconnect?

¿Qué es XPath/JsonPath y cómo usarlo en DANAconnect?


Resumen rápido


XPath/JsonPath es la ruta que permite encontrar un dato dentro de una estructura.


Use JsonPath cuando la respuesta esté en formato JSON:


$.cliente.email


Use XPath cuando la respuesta esté en formato XML:


/cliente/email


En DANAconnect, este campo se utiliza para indicar qué valor debe tomarse desde una respuesta y guardarse o utilizarse dentro del flujo.



Explicación extendida


Cuando configuras algunos nodos o acciones dentro de DANAconnect, es posible que encuentres que debes llenar algo llamado XPath/JsonPath.


Este campo sirve para indicar de dónde debe tomar DANAconnect un dato específico dentro de una respuesta, archivo, estructura XML o estructura JSON.


XPath/JsonPath es la ruta que le indica al sistema dónde encontrar un dato específico dentro de un texto estructurado en formato JSON o XML.


Por ejemplo, si una respuesta contiene muchos datos de un cliente, XPath o JsonPath permite indicar exactamente cuál de esos datos se debe usar para actualizar un campo, tomar una decisión o continuar el flujo.



¿Por qué usamos este campo en DANAconnect?


Muchas integraciones no devuelven un dato aislado, sino una estructura completa con varios valores.


Por ejemplo, un servicio puede responder algo como esto:


{
"cliente": {
"nombre": "María Pérez",
"email": "maria.perez@correo.com",
"estado": "aprobado",
"documento": {
"numero": "V12345678",
"tipo": "Cédula"
}
}
}


Dentro de esa respuesta hay varios datos posibles:


  • Nombre del cliente
  • Email
  • Estado
  • Número de documento
  • Tipo de documento


Si quieres tomar solamente el email, debes indicar la ruta hacia ese dato.


En JsonPath sería:


$.cliente.email


Si quieres tomar el número de documento, sería:


$.cliente.documento.numero



¿Qué es JsonPath?


JsonPath se usa cuando la información viene en formato JSON.


JSON es un formato muy común en integraciones, APIs y respuestas de sistemas externos.


Un JSON suele verse así:


{
"solicitud": {
"id": "SOL-10045",
"estado": "pendiente",
"monto": 2500
}
}


Para obtener el estado de la solicitud, se usaría:


$.solicitud.estado


El resultado sería:


pendiente


Para obtener el monto, se usaría:


$.solicitud.monto


El resultado sería:


2500



¿Qué significa el símbolo $?


En JsonPath, el símbolo $ representa el inicio de la estructura.


Es decir, significa:


“Empieza a buscar desde el principio de la respuesta.”


Por ejemplo:


$.cliente.nombre


Se lee así:


Desde el inicio de la respuesta, entra en cliente y toma el valor de nombre.



¿Qué es XPath?


XPath se usa cuando la información viene en formato XML.


XML es otro formato usado por algunos sistemas, especialmente en integraciones más antiguas o servicios empresariales.


Un XML puede verse así:


<cliente>
<nombre>María Pérez</nombre>
<email>maria.perez@correo.com</email>
<estado>aprobado</estado>
</cliente>


Para obtener el email del cliente, se usaría:


/cliente/email


El resultado sería:


maria.perez@correo.com


Para obtener el estado, se usaría:


/cliente/estado


El resultado sería:


aprobado



¿Cuál debo usar: XPath o JsonPath?


Depende del formato de la información que estés recibiendo.


Si la respuesta viene en…

Usa…

JSON

JsonPath

XML

XPath


Una forma sencilla de reconocerlo:


Si ves llaves { }, probablemente es JSON.


{
"estado": "aprobado"
}


Si ves etiquetas < >, probablemente es XML.


<estado>aprobado</estado>



¿Dónde se usa XPath/JsonPath en DANAconnect?


El campo XPath/JsonPath puede utilizarse cuando necesitas extraer un valor específico de una respuesta o resultado para guardarlo en un campo del flujo o de la base de datos.


Por ejemplo, en el Nodo de Documentos, dentro de la pestaña Configuración, puedes usar Add Field to Update para actualizar un campo con un valor obtenido desde una estructura JSON o XML.


Allí debes completar:


Campo

Qué significa

Field Name

El campo que quieres actualizar

XPath/JsonPath

La ruta donde está el dato que quieres guardar


Ejemplo:


Field Name

XPath/JsonPath

ESTADO_DOCUMENTO

$.document.status

ID_DOCUMENTO

$.``document.id

FECHA_INDEXACION

$.document.created_at


Esto le indica a DANAconnect que debe tomar esos valores desde la respuesta y guardarlos en los campos correspondientes.



Ejemplo práctico con JsonPath


Supongamos que el Nodo de Documentos devuelve una respuesta como esta:


{
"document": {
"id": "DOC-789456",
"status": "indexed",
"created_at": "2026-07-03T14:25:00"
}
}


Si quieres guardar el identificador del documento, usarías:


$.document.id


Resultado:


DOC-789456


Si quieres guardar el estado del documento, usarías:


$.document.status


Resultado:


indexed


Si quieres guardar la fecha de creación o indexación, usarías:


$.document.created_at


Resultado:


2026-07-03T14:25:00



Ejemplo práctico con XPath


Supongamos que una respuesta XML contiene:


<document>
<id>DOC-789456</id>
<status>indexed</status>
<created_at>2026-07-03T14:25:00</created_at>
</document>


Para obtener el identificador del documento, usarías:


/document/id


Resultado:


DOC-789456


Para obtener el estado:


/document/status


Resultado:


indexed


Para obtener la fecha:


/document/created_at


Resultado:


2026-07-03T14:25:00



¿Qué pasa si escribo mal la ruta?


Si la ruta XPath o JsonPath no corresponde con la estructura recibida, DANAconnect no podrá encontrar el valor.


Esto puede causar que:


  • El campo no se actualice.
  • El valor quede vacío.
  • El flujo no guarde el dato esperado.
  • El resultado no pueda usarse en pasos posteriores.


Por eso es importante validar que la ruta coincida exactamente con la estructura de la respuesta.



Errores frecuentes


Usar JsonPath cuando la respuesta es XML


Si la respuesta tiene etiquetas como <cliente>, <estado> o <document>, no debes usar JsonPath.


Incorrecto:


$.document.status


Correcto:


/document/status



Usar XPath cuando la respuesta es JSON


Si la respuesta tiene llaves { }, debes usar JsonPath.


Incorrecto:


/document/status


Correcto:


$.document.status



Escribir mal el nombre del campo


Los nombres deben coincidir con la estructura de la respuesta.


Si la respuesta dice:


{
"document": {
"status": "indexed"
}
}


La ruta correcta es:


$.document.status


No:


$.document.estado



Olvidar niveles intermedios


Si el dato está dentro de una estructura anidada, debes incluir todos los niveles.


Ejemplo:


{
"cliente": {
"documento": {
"numero": "V12345678"
}
}
}


Correcto:


$.cliente.documento.numero


Incorrecto:


$.documento.numero



Recomendación


Antes de completar el campo XPath/JsonPath, revisa la estructura de la respuesta que estás recibiendo.


Identifica:


  1. Si la respuesta está en formato JSON o XML.
  2. El dato exacto que quieres guardar.
  3. La ruta completa hasta ese dato.
  4. El campo de DANAconnect donde quieres almacenar el valor.


Actualizado el: 03/07/2026

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!