Visión general de los conectores HTTP
  • 31 Oct 2023
  • 7 Minutos para leer
  • Colaboradores

Visión general de los conectores HTTP


Resumen del artículo

Esta guía le ayudará a entender toda la capacidad de los conectores HTTP.

Si desea conectar un sistema externo como un MES o ERP a Tulip, tendrá que utilizar un conector HTTP. Los conectores HTTP de Tulip pueden interactuar con la mayoría de los tipos de APIs HTTP, incluyendo REST y SOAP.

¿Buscas un tutorial sobre la construcción de conectores HTTP? Toma el curso HTTP Connectors University.

Funciones del conector

Dentro de un conector HTTP, puedes escribir una serie de Funciones de Conector que ejecutarán tipos comunes de peticiones HTTP utilizando entradas predefinidas. Las funciones de conector son las acciones individuales que realizan llamadas a la API. Las funciones de conector HTTP de Tulip soportan los siguientes métodos:

  • GET
  • HEAD
  • POST
  • PUT
  • PATCH
  • DELETE

y modificaciones en los siguientes campos

  • Nombre de host, Puerto y Ruta
  • Autenticación (ninguna, Basic Auth, OAuth 2)
  • Cabeceras de solicitud
  • Parámetros de consulta
  • Cuerpo de la solicitud (JSON, formulario codificado en URL, XML o texto sin formato)

:::(Info) (NOTA) Esta selección afectará a la cabecera Content-Type. Por ejemplo, si desea enviar JSON utilizando la opción de texto sin formato, deberá codificar manualmente el tipo de contenido "application/json" en sus cabeceras. :::

Las respuestas pueden ser procesadas y la información extraída de la:

  • Cabeceras de respuesta
  • Cuerpo de la respuesta (JSON usando json-query o XML usando xpath)

Los conectores HTTP admiten los siguientes tipos de datos en las salidas:

  • Texto
  • Entero
  • Flotante
  • Booleano
  • Fecha y hora
  • Objetos con todos los tipos de datos anteriores
  • Matrices con todos los tipos de datos anteriores

*Soporta el análisis sintáctico de Datetime:

  • OData timestamps en milisegundos desde el 1 de enero de 1970 UTC
  • números interpretados como milisegundos desde el 1 de enero de 1970 UTC
  • cadenas de fecha ISO 8601

Creación de un conector

Haz clic en Añadir conector en la parte superior derecha de la página Conectores, ponle un nombre y selecciona HTTP.

An Overview of HTTP Connectors_122139734.png

A continuación, verá la pestaña {{glosario.Entorno}}. Si quieres configurar varios entornos, consulta esta guía aparte

An Overview of HTTP Connectors_122140278.png

A continuación, tras seleccionar tu Conector, elige Añadir detalles de conexión para añadir más detalles sobre el servidor que deseas consultar.

An Overview of HTTP Connectors_122140947.png

Hay 5 opciones.

An Overview of HTTP Connectors_122141109.png

Consulte esta guíasobre hosts de conectores.

Host: Incluye sólo el dominio que deseas consultar. No incluya http:// o https://. Por ejemplo, myaccount.restlet.api.netsuite.com.

Puerto: Este debe ser especificado por el servicio que está consultando. Las peticiones HTTP suelen utilizar el puerto 443.

TLS: Seleccione "Sí" si está utilizando HTTPS, y "No" si es sólo "HTTP".

Haz clic en Probar para ver si puedes conectarte con éxito al servidor y, a continuación, haz clic en Guardar.

Para duplicar o eliminar el conector, vuelve a la página de conectores y haz clic en los tres puntos situados a la derecha del conector en cuestión.

An Overview of HTTP Connectors_122140669.png

Creación de una función de conector

Haga clic en el botón Añadir nueva función de la pestaña Funciones para crear una nueva función.

An Overview of HTTP Connectors_122141271.png

A continuación, verá una serie de opciones para editar su función.

En primer lugar, asigne un nombre a la función en la parte superior izquierda de la página.

A continuación, haga clic en Añadir entradas de función para empezar a añadir entradas. Ejemplo:

Si desea probar su función de conector HTTP, añada un "Valor de prueba" para cada entrada.

A continuación, añada un punto final al final de la URL y elija el tipo de solicitud HTTP.

Seleccione Parámetros de consulta para empezar a añadir pares clave/valor. Utilice las entradas definidas en el campo Valor.

Añada un $ antes y después del nombre de la entrada, por ejemplo, si el nombre de la entrada es "nombre_ciudad", escriba$nombre_ciudad$.

Respuestas

Una vez que esté satisfecho con sus entradas y salidas, seleccione Prueba en la esquina superior derecha para crear una respuesta de muestra.

Verá una respuesta JSON o XML en la sección Resultados de la prueba. Ahora puede asignar partes de esta respuesta a las salidas y utilizarlas en las aplicaciones.

Los extractores JSON utilizan la sintaxis json-query. Para probar la sintaxis, utilice esta herramienta en línea.

Los extractores XML utilizan la sintaxis XPATH.

Hay dos formas de hacerlo:

  1. Haga clic en las propiedades del cuerpo de la respuesta para asignarlas a las salidas.
  2. Especifique manualmente la ruta utilizando json-query

A continuación se muestra cómo especificar los extractores utilizando apuntar y hacer clic:

Si quieres utilizar json-query, añade algunas salidas para poder mapear el contenido de la respuesta a Tulip.

A continuación, debes especificar "extractores" junto a cada salida para indicar los datos del cuerpo de la respuesta que deseas almacenar.

He aquí un ejemplo con json-query: digamos que escribes una petición GET que devuelve un Array de Objetos. Quieres devolver el valor de la propiedad name del primer objeto del array.

Esto es lo que escribirías en el campo path

0.nombre

También puede almacenar valores de la sección Cabeceras y Cookies de la respuesta.

De forma similar a la sección anterior, debe especificar una salida concreta en la sección Salida. A continuación, haga clic en una parte de una respuesta de ejemplo o utilice json-query para acceder a la propiedad correcta desde el JSON de la respuesta HTTP.

A continuación se muestra un ejemplo en el que una salida denominada "csrf_token" almacena el valor denominado "x-csrf-token" de la propiedad de la cabecera.

Las salidas se almacenan como propiedades de un objeto cuando se comparten con una aplicación. A continuación, debe almacenar el objeto en una variable en una app. Para más detalles, consulte esta guía sobre el uso de salidas de conectores con aplicaciones

Uso de RegEx para modificar salidas

También puede utilizar RegEx para refinar los valores de texto de la respuesta. Para ello, añada una de estas funciones en el campo Path para pasar el valor a través de una expresión regular:

:regexp()

Para capturar múltiples subcadenas dentro de la cadena

:regexpGroup()

Ejemplos:

0.name:regexp(^N) 0.name:regexpGroup(^\w + (w+))

Utilizando RegEx group, puede que desee capturar un único grupo dentro de una cadena mayor. Para ello, añada una coma al final de su cadena RegEx y añada el número del grupo específico dentro de la cadena.

parts[0].inputs:regexpGroup(^\w\w(\w\w)\s(\w\w)\s(\w\w),2)

O bien, utilícelo para seleccionar un elemento específico de una matriz que coincida con una regla. Por ejemplo, el primer objeto con un valor de correo electrónico que empiece por n.

.[email:regexp(^N)]

Recomendamos RegExr para probar sus RegEx. Tulip utiliza el motor RegEx de JavaScript (ECMA).

Manejo de objetos y matrices en las salidas

Tulip soporta tanto objetos como matrices en la salida JSON. A continuación te explicamos cómo utilizar cada uno de ellos:

Objetos

Para formatear la salida JSON como un objeto, primero crea un Objeto en la sección Salidas y luego indica el extractor.

En el ejemplo anterior, el objeto se llama "singleObj". La salida JSON es un array de objetos, por lo que selecciona el Objeto en el índice 0.

A continuación, comience a añadir salidas que correspondan a cada par clave/valor que desee almacenar. Puedes añadir pares clave/valor con el botón +.

En el ejemplo anterior, hay dos campos dentro del objeto singleObj:

  1. userID, que hace referencia a la propiedad userID y es un entero
  2. id, que hace referencia a la propiedad id y es un entero

En este caso, el extractor no necesita empezar por "0." porque automáticamente hace referencia al objeto en el índice 0.

Este es el aspecto de la salida JSON, como referencia:

Matrices de objetos

Para devolver un Array de objetos, seleccione Lista de Valores dentro de la sección Salida y elija Objetos.

Es probable que necesite devolver el array completo en el nivel raíz de la salida JSON.

Para ello, introduzca un "." para el extractor:

Luego, al igual que con el extractor de objetos anterior, comience a agregar las propiedades individuales que desea enviar a la aplicación.

Esto devolvería el userId y el id de cada objeto del array. Puedes comprobar tu trabajo en la sección Salidas de los resultados de la prueba:

Matrices de un tipo de datos

Imaginemos que quieres obtener un valor booleano de cada objeto de un array de valores devueltos.

Para ello, cree una salida para un array de booleanos. Luego, indique la propiedad que se utiliza para almacenar ese valor booleano en cada Objeto.

En el ejemplo anterior, la salida se llama "completado", e incluye el valor de cada propiedad "completado" del array, tal y como indica el extractor.

Este es el aspecto que tendría la salida:

Integraciones anteriores

Tulip puede integrarse con una gran variedad de sistemas de software. He aquí algunos ejemplos de sistemas que se han integrado en Tulip en el pasado:

Más información


¿Has encontrado lo que buscabas?

También puedes dirigirte a community.tulip.co para publicar tu pregunta o ver si otras personas se han enfrentado a una pregunta similar.


¿Te ha sido útil este artículo?