MENU
    Cómo dar formato a las salidas del conector HTTP
    • 23 Jan 2025
    • 6 Minutos para leer
    • Colaboradores

    Cómo dar formato a las salidas del conector HTTP


    Resumen del artículo

    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.

    Testing Outputs.gif

    Cómo estructurar las salidas

    Encuentra la sección Outputs en la parte inferior izquierda del Editor de Funciones del Conector.

    Outputs3.png

    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.

    Screenshot 2023-03-23 at 9.57.16 AM.png

    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.

    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 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.

    Outputs Ex2.png

    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:

    Test Results Article Ex.png

    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:

    Outputs to Test Results Annotated.png

    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".

    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

    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.

    Outputs Single Line.png

    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.

    Create Output Path.gif

    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.

    Output 3x540 v2.png

    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.

    Output 540x3.png

    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.

    Outputs Lists Toggle.gif

    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.

    Test Results as Slugs.png

    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


    ¿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.


    ¿Te ha sido útil este artículo?