- Impresión
Cómo dar formato a las salidas del conector HTTP
Aprenda a estructurar las salidas de los conectores HTTP.
Visión general
El editor de funciones de conector en Tulip te permite estructurar los datos devueltos por tus funciones de conector para que sean útiles y utilizables dentro de tus aplicaciones. En este artículo cubriremos los aspectos básicos del formateo de funciones de conectores Output introduciéndote en:
- El concepto de "Salida" de un conector
- Herramientas disponibles para formatear salidas
- Varios formatos de salida comunes
¿Qué son las salidas?
Las salidas se utilizan para definir y estructurar los resultados devueltos por la función del conector. Es la forma de extraer la información importante para sus aplicaciones de un cuerpo de retorno HTTP más grande.
Cómo estructurar las salidas
Encuentra la sección Outputs en la parte inferior izquierda del Editor de Funciones del Conector.
Para empezar a añadir salidas, haga clic en Añadir Salidas de Función.
Es una buena práctica nombrar sus salidas con una etiqueta que sea identificable. Estos nombres aparecen como Variables en las aplicaciones, por lo que es importante poder distinguirlas.
Para entender los resultados de una petición HTTP, es importante entender primero la forma 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.
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 más información sobre objetos y arrays, revisa Entendiendo Arrays y Objetos en las Salidas de las Funciones del Conector.
Notación de puntos
Para los conectores HTTP, las salidas utilizan un formato llamado Dot Notation. La notación por puntos permite acceder a valores dentro de un objeto. La notación de puntos es útil para extraer sólo lo que necesita de un gran cuerpo de respuesta JSON, y le da más flexibilidad en la formulación de funciones de conectores HTTP. En pocas palabras: es un formato estructurado basado en valores anidados unos dentro de otros.
Veamos con un ejemplo cómo se utiliza la notación por puntos en las salidas de los conectores.
El siguiente objeto de ejemplo, llamado "empleados", contiene una matriz de objetos con detalles sobre cada empleado. Si sólo queremos acceder al título de cada empleado, utilizaríamos la sintaxis: empleados.título. Estamos utilizando un punto para acceder a los valores asociados a las claves que nos interesan. Supongamos que sólo queremos obtener el primer resultado. Lo especificaríamos añadiendo la posición del índice entre el nombre del objeto principal, "empleados", y el valor que nos interesa, "título". La sintaxis sería la siguiente: empleados.0.titulo. Para objetos más complejos, es posible que tengas que ir más allá en el objeto para obtener la información que deseas.
Vayamos un paso más allá con otro ejemplo. En este caso, digamos que estamos interesados en 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 de nombre "data" que contiene datos sobre un artículo en particular:
Si sólo quisiéramos obtener, por ejemplo, el ID, Título, Versión, y si el artículo está oculto o no. Tendríamos que especificar esto utilizando salidas. Vamos a demostrar cómo se ve la notación de puntos en la sección de salidas del editor:
Para extraer resultados como "id" y "title", necesitamos especificar dónde están esos resultados dentro del JSON. El cuerpo de la salida es "data", que corresponde al primer desplegable de la sección Resultados de la prueba. Cada resultado dentro del desplegable "datos" está anidado dentro de ese objeto. En la sección Resultados, un punto indica que se ha profundizado una capa en el objeto "datos".
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.
Cuando hacemos clic en la pestaña Salidas de la sección Resultados de la prueba, las salidas filtran el resto de los datos para que sólo veamos la información que nos interesa.
Otra forma de escribir las salidas es en una sola línea. Esto muestra la ruta completa en una consulta.
Para escribir fácilmente la ruta de salida, también puede hacer clic en una fila de datos para añadirla como una nueva salida.
Para obtener más información sobre el uso de la notación de puntos, consulte este recurso: Processmaker: JSON Notación por Puntos.
Resultados de Salida
Existen múltiples formas de estructurar los resultados, pero la forma en que lo hagas depende enteramente de lo que quieras hacer con los datos en tus aplicaciones. Antes de empezar a estructurar los resultados, piense en su objetivo final. ¿Quiere mostrar múltiples tipos de datos en variables individuales? ¿O tiene los mismos tipos de datos en una matriz que simplemente desea analizar para obtener información relevante?
Los siguientes ejemplos se basan todos en la misma función de conector, y en cada caso el cuerpo de los resultados de la prueba es el mismo. Sin embargo, los resultados varían en función de cómo estén estructurados.
El siguiente ejemplo muestra los resultados del conector para la ruta JSON data.hits.slug. De la forma en que está estructurada esta salida, el conector devuelve una gran matriz de todos los slugs de URL para los artículos de la base de conocimientos. En nuestras aplicaciones, este retorno del conector será accesible dentro de una variable array.
Podemos estructurar las salidas como una lista de objetos y extraer tipos de datos individuales de los resultados, creando múltiples objetos de datos que pueden ser visibles individualmente en las aplicaciones.
Las listas de objetos son objetos que contienen múltiples tipos de datos anidados en su interior. Utilice listas de objetos haciendo clic en el tipo de salida y activando el interruptor Lista en la esquina derecha.
Cuando tienes una lista de objetos, puedes utilizar fácilmente diferentes tipos de datos como piezas individuales de datos en tus aplicaciones.
Si volvemos al ejemplo anterior, hagamos que nuestra ruta de salida data.hits.slug sea una lista. Puedes ver en los resultados de abajo que Tulip está estructurando este conector de retorno como un array de slugs, con cada posición de índice listada al lado de cada valor.
Con esta comprensión de las salidas en mente, ahora puedes asignar las salidas a tus propias funciones de conector y optimizar los resultados devueltos por tus conectores.
Más información
- Uso de conectores HTTP en aplicaciones
- Visualización de listas interactivas de registros de tablas o salidas de conectores en aplicaciones
¿Ha encontrado lo que buscaba?
También puedes dirigirte a community.tulip.co para publicar tu pregunta o ver si otros se han enfrentado a una pregunta similar.