Formato de las salidas del conector HTTP

Prev Next

Descubre cómo estructurar las salidas del conector HTTP.

Descripción general

El editor de funciones de conector de Tulip te permite estructurar los datos devueltos por tus funciones de conector para que resulten útiles y se puedan utilizar en tus aplicaciones. En este artículo abordaremos los conceptos básicos del formateo de las salidas Output de las funciones de conector, presentándote:

  • El concepto de salida de un conector
  • Las herramientas disponibles para dar formato a las salidas
  • Varios formatos de salida habituales

¿Qué son las salidas?

Las salidas se utilizan para definir y estructurar los resultados devueltos por la función de conector. Son la forma de extraer la información importante para tus aplicaciones de un cuerpo de respuesta HTTP más amplio.

Testing Outputs.gif

Cómo estructurar las salidas

Busca la sección «Salidas» en la parte inferior izquierda del Editor de funciones de conector.

Outputs3.png

Para empezar a añadir salidas, haz clic en «Añadir salidas de función».

Es recomendable asignar a las salidas un nombre que permita identificarlas fácilmente. Estos nombres aparecen como «Variables» en las aplicaciones, por lo que es importante poder distinguirlas.

Screenshot 2023-03-23 at 9.57.16 AM.png

Para comprender los resultados de una solicitud HTTP, es importante entender primero la estructura de un objeto devuelto en los «Resultados de la prueba». El siguiente diagrama ilustra cómo se dividen los resultados en secciones de «Objetos» y «Matrices».

Object Anatomy Diagram.png

NOTE

If you haven’t worked with JSON before, you may be unfamiliar with two critical datatypes, objects and arrays. Arrays are lists of values of the same type. For example, [1,2,3,5], or [oak, elm, alder, hickory]. Values in arrays are contained within square brackets, [ ]. Objects are a datatype for holding key:value pairs. The key:value pairs within an object can be of multiple different types, including arrays and nested objects. Objects are contained with curly brackets, { }.

Para obtener más información sobre objetos y matrices, consulta «Comprender las matrices y los objetos en las salidas de las funciones del conector».

Notación de puntos

En los conectores HTTP, las salidas utilizan un formato denominado . La notación de puntos te permite acceder a los valores de un objeto. La notación de puntos resulta útil para extraer solo lo que necesitas de un cuerpo de respuesta JSON de gran tamaño, y te ofrece mayor flexibilidad a la hora de dar formato a las funciones de los conectores HTTP. En pocas palabras: se trata de un formato estructurado basado en valores anidados unos dentro de otros.

Analicemos cómo se utiliza la notación de puntos en las salidas de los conectores con un ejemplo.

El siguiente objeto de ejemplo, denominado «employees», contiene una matriz de objetos con detalles sobre cada empleado. Si solo queremos acceder al cargo de cada empleado, utilizaríamos la sintaxis: employees.title. Estamos utilizando un punto para acceder a los valores asociados a las claves que nos interesan. Supongamos que solo queremos obtener el primer resultado. Lo especificaríamos añadiendo la posición del índice entre el nombre del objeto principal, «employees», y el valor que nos interesa, «title». La sintaxis sería: employees.0.title. En el caso de objetos más complejos, es posible que tengas que adentrarte más en el objeto para extraer la información que deseas.

Outputs Ex2.png

Llevemos esto un paso más allá con otro ejemplo. En este caso, supongamos que nos interesa crear una función de conector para extraer información asociada a los artículos de la Base de conocimientos. Nuestro conector devuelve el siguiente objeto JSON denominado «data», que contiene datos sobre un artículo concreto:

Test Results Article Ex.png

Si solo quisiéramos extraer, por ejemplo, el ID, el título, la versión y si el artículo está oculto o no, tendríamos que especificarlo mediante las salidas. Veamos cómo se utiliza la notación de puntos en la sección de salidas del editor:

Outputs to Test Results Annotated.png

Para extraer resultados como «id» y «title», debemos especificar dónde se encuentran dichos resultados dentro del JSON. El cuerpo de la salida es «data», que se corresponde con el primer menú desplegable de la sección «Resultados de la prueba ». Cada resultado del menú desplegable «data» está anidado dentro de ese objeto. En la sección «Salidas», un punto significa adentrarse un nivel más en el objeto «data».

NOTE

It doesn’t matter whether the dot is placed in the body, or in front of individual properties, so long as there is a dot separating each layer of the JSON.

Outputs to Test Results2.png

Al hacer clic en la pestaña «Salidas» de la sección «Resultados de la prueba », se filtran el resto de los datos para que solo veamos la información que nos interesa.

Otra forma de escribir las salidas es en una sola línea. De este modo, se muestra la ruta completa en una sola consulta.

Outputs Single Line.png

Un truco sencillo para escribir la ruta de salida es hacer clic en una fila de datos para añadirla como nueva salida.

Create Output Path.gif

Para obtener más información sobre el uso de la notación de puntos, consulta este recurso: Processmaker: Notación de puntos en JSON.

Resultados de salida

Existen múltiples formas de estructurar las salidas, pero la forma de hacerlo depende totalmente de lo que quieras hacer con los datos en tus aplicaciones. Antes de empezar a estructurar las salidas, piensa en tu objetivo final. ¿Quieres mostrar varios tipos de datos en variables individuales? ¿O tienes los mismos tipos de datos en una matriz que simplemente quieres analizar en busca de información relevante?

Todos los ejemplos siguientes se basan en la misma función de conector y, en cada caso, el cuerpo de los resultados de la prueba es el mismo. Sin embargo, las salidas varían en función de cómo estén estructuradas.

El siguiente ejemplo muestra cómo el conector genera la salida para la ruta JSON «data.hits.slug». Tal y como está estructurada esta salida, el conector devuelve un gran array con todos los slugs de las URL de los artículos de la Base de Conocimiento. En nuestras aplicaciones, se podrá acceder a este resultado del conector a través de una variable de array.

Output 3x540 v2.png

Podemos estructurar los resultados como una lista de objetos y extraer tipos de datos individuales de los resultados, creando múltiples objetos de datos que pueden visualizarse individualmente en las aplicaciones.

Output 540x3.png

Las listas de objetos son objetos que contienen varios tipos de datos anidados en su interior. Para utilizar listas de objetos, haz clic en el tipo de salida y activa el conmutador «Lista» situado en la esquina derecha.

Outputs Lists Toggle.gif

Cuando se dispone de una lista de objetos, se pueden utilizar fácilmente diferentes tipos de datos como elementos individuales en las aplicaciones.

Si volvemos al ejemplo anterior, convirtamos nuestra ruta de salida data.hits.slug en una lista. En los resultados que se muestran a continuación, se puede observar que Tulip estructura el resultado de este conector como una matriz de slugs, con cada posición de índice indicada junto a cada valor.

Test Results as Slugs.png

Teniendo en cuenta esta explicación sobre las salidas, ¡ahora puedes asignar las salidas a tus propias funciones de conector y optimizar los resultados devueltos por tus conectores!

Utiliza Tulip AI para la extracción de salidas

Estructura rápidamente tus salidas aprovechando los ejemplos y conceptos ya tratados en el artículo, como la ( y la lista de objetos).

Tulip AI ofrece un potente atajo para analizar automáticamente la respuesta JSON de tus resultados de prueba y generar las rutas correspondientes en notación Dot. Intenta replicar la estructura de objetos anidados, pero aplanará los arrays u objetos complejos cuando sea necesario.

Tulip AI no altera tus salidas y extracciones existentes. Solo genera salidas nuevas, o no especificadas, para acelerar el proceso inicial de configuración de las salidas.

Una vez que Tulip AI genere las salidas, debes revisarlas en función del objetivo de tu aplicación.

Al revisarlas, sigue estas prácticas recomendadas:* Elimina cualquier salida innecesaria* Cambia el nombre de las variables para mayor claridad* Ajusta manualmente la estructura de salida (por ejemplo, asegurándote de que las matrices estén correctamente configuradas como listas de objetos)

Estos pasos garantizan que solo extraigas los datos necesarios para tu aplicación.

Image

Más información

{{snippet.¿Has encontrado lo que buscabas?}}