Enviar solicitud HTTP

La acción Enviar solicitud HTTP conecta el flujo de trabajo con un servidor web o una URL y envía solicitudes HTTP.

Después de que Flow envía la solicitud HTTP, espera como máximo 30 segundos para recibir un HTTP response code. Si Flow no recibe una respuesta después de 30 segundos, cierra la conexión con la aplicación. Luego vuelve a intentar la solicitud.

Campos

La acción Enviar solicitud HTTP incluye los siguientes campos.

Campos usados en la acción Enviar solicitud HTTP.
CampoDescripción
Método HTTPEl método de solicitud HTTP que se enviará. La Enviar solicitud HTTP acción admite los siguientes métodos:
  • GET - Envía una solicitud de información al servidor.
  • DELETE - Elimina un recurso del servidor.
  • HEAD - Obtiene los encabezados de la respuesta HTTP del servidor.
  • OPTIONS - Obtiene las opciones y características que admite el servidor.
  • PATCH - Actualiza parcialmente un recurso en el servidor.
  • PUT - Actualiza un recurso en el servidor.
  • POST - Crea o reemplaza un recurso en el servidor.
URLLa URL del servidor al que se envía la solicitud HTTP.
EncabezadosEl par clave-valor de la solicitud HTTP. Se pueden ingresar varios pares clave-valor.
CuerpoEl contenido que se enviará al servidor.
Error del cliente (respuesta 4XX)Cuando reciba un código de respuesta que indica un error del cliente, Flow hará lo siguiente:
  • Reintentar - Reintenta durante un máximo de 24 horas, hasta recibir un código de respuesta diferente o hasta que se agote el tiempo de espera.
  • Fallar - Falla la ejecución del flujo de trabajo.
  • Ignorar - Ignora el error y continúa la ejecución del flujo de trabajo.
Error del servidor (respuesta 5XX o 429)Cuando reciba un código de respuesta que indica un error del servidor, Flow hará lo siguiente:
  • Reintentar - Reintenta durante un máximo de 24 horas, hasta recibir un código de respuesta diferente o hasta que se agote el tiempo de espera.
  • Fallar - Falla la ejecución del flujo de trabajo.
  • Ignorar - Ignora el error y continúa la ejecución del flujo de trabajo.

Datos devueltos

Para acceder a los datos devueltos en los pasos que siguen a esta acción, usa la variable llamada sendHttpRequest, que incluye todos los detalles de la respuesta HTTP. De forma opcional, usa una acción Run code para analizar el body de la respuesta y utilizarlo en pasos posteriores del flujo de trabajo, como en el example a continuación.

Si se usa la acción Enviar solicitud HTTP varias veces en un único flujo de trabajo, se agrega un número al nombre de la variable. Por ejemplo, en un flujo de trabajo que usa la acción Enviar solicitud HTTP dos veces, la primera variable para los datos devueltos es sendHttpRequest y la segunda es sendHttpRequest1. Este nombre no se puede personalizar.

Códigos de respuesta

La siguiente tabla describe cómo procesa Flow el HTTP response code después de recibir una respuesta.

Cómo procesa Flow los códigos de respuesta HTTP.
Código de respuesta HTTPCómo procesa Flow el código de respuesta
2XX o 3XX: éxitoFlow marca la solicitud HTTP como correcta y realiza las acciones posteriores del flujo de trabajo.
Errores 4XX,
errores 5XX y 429
Según cómo esté configurada la acción, Flow hará lo siguiente:
  • Reintentar - Reintenta durante un máximo de 24 horas, hasta recibir un código de respuesta diferente o hasta que se agote el tiempo de espera.
  • Fallar - Falla la ejecución del flujo de trabajo.
  • Ignorar - Ignora el error y continúa la ejecución del flujo de trabajo.
Otro código de respuestaSi la respuesta devuelve un código que no se describe en esta tabla o se agota el tiempo al reintentar las acciones, Flow marca la solicitud HTTP como fallida, falla la ejecución del flujo de trabajo y no realiza las acciones posteriores del flujo de trabajo.

Secretos

Los secretos se usan para guardar de forma segura información confidencial, como los tokens de acceso o las contraseñas, a fin de usarla en la acción Enviar solicitud HTTP. Los secretos se crean y se gestionan desde la página Flow > Configuración. Un secreto contiene un identificador, un valor y una descripción. Haz referencia al secreto como una variable de Liquid (como {{secrets.handle}}) o desde la opción Agregar secreto al configurar los campos de URL, valor de encabezado o cuerpo. Los valores de los secretos nunca son visibles en la interfaz de Flow y se ocultan en los registros de ejecución del flujo de trabajo.

Activadores

La acción Enviar solicitud HTTP se puede usar en cualquier flujo de trabajo.

Ejemplos

Ejemplo 1: enviar una solicitud HTTP a un servicio externo

En este ejemplo, usa Flow para enviar una solicitud HTTP a un servicio externo.

Antes de comenzar, configura un servicio web que reciba solicitudes HTTP y guarde los datos de esas solicitudes para hacer pruebas, como Request Catcher. Recuerda tener cuidado al enviar datos confidenciales (como contraseñas o claves API) a un servicio externo.

Pasos:

  1. Elige el activador Estado del producto actualizado, que te permite probar este flujo de trabajo cambiando el estado de un producto.
  2. Agrega la acción Enviar solicitud HTTP a tu flujo de trabajo y conéctala al activador. Luego abre el panel de configuración y haz clic en el Enviar solicitud HTTP paso.
    • En el campo Método HTTP, ingresa POST.
    • En el campo URL, ingresa la URL para la prueba, por ejemplo: https://yourFlowTest.requestcatcher.com/test.
    • En la sección Encabezados, agrega un encabezado con Clave Content-Type y Valor text/plain.
    • En la sección Cuerpo, ingresa {{product.title}} y {{product.status}} para enviar el título y el estado actualizado del producto desde el activador.
  3. Activa el flujo de trabajo.
  4. Pruébalo cambiando el estado de un producto, por ejemplo, de Borrador a Activo.
  5. Observa los resultados en el servicio de pruebas externo, como https://yourFlowTest.requestcatcher.com/ en este ejemplo.

Ejemplo 2: usa Ejecutar código para analizar una respuesta HTTP

En este ejemplo, usa Flow para enviar una solicitud HTTP a un servicio externo y la acción Run code para analizar el body de la respuesta HTTP y usarlo en pasos posteriores del flujo de trabajo.

Antes de empezar, elige un servicio web que reciba solicitudes HTTP y devuelva datos, como Postman Echo. Recuerda tener cuidado al enviar datos sensibles (como contraseñas o claves API) a un servicio externo.

Pasos:

  1. Elige el activador Estado del producto actualizado, que te permite probar este flujo de trabajo cambiando el estado de un producto.

  2. Agrega la acción Enviar solicitud HTTP a tu flujo de trabajo y conéctala al activador. Luego abre el panel de configuración y haz clic en el paso Enviar solicitud HTTP.

    • En el campo Método HTTP, ingresa POST.

    • En el campo URL, ingresa la URL para la prueba, por ejemplo: https://postman-echo.com/post.

    • En la sección Encabezados, agrega un encabezado con Clave Content-Type y Valor application/json.

    • En la sección Cuerpo, ingresa el JSON de ejemplo que se devolverá al flujo de trabajo, por ejemplo:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Agrega la acción Ejecutar código a tu flujo de trabajo y conéctala a la acción Enviar solicitud HTTP. Luego abre el panel de configuración y haz clic en el paso Ejecutar código.

    • En el campo Definir entradas, incluye el body que devuelve el objeto sendHTTPrequest, por ejemplo:

      query{
        sendHttpRequest {
          body
        }
      }
    • En el campo Definir salidas, que se definen en el esquema de salida, por ejemplo:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • En el campo Escribir código, analiza la respuesta con el método JSON.parse y asegúrate de que los datos que devuelvas coincidan con la estructura y los tipos definidos en el esquema de salida, por ejemplo:

      export default function main(input) {
        const body = JSON.parse(input.sendHttpRequest.body);
        console.log("body is", body);
        return {
          productTitle: body.data.productTitle,
          productStatus: body.data.productStatus
        }
      }
  4. Agrega la acción Registrar salida a tu flujo de trabajo y conéctala a la acción Ejecutar código. Luego abre el panel de configuración y haz clic en el paso Ejecutar código.

    • En el campo Salida, incluye las variables que devuelve el paso Ejecutar código, por ejemplo:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Activa el flujo de trabajo.

  6. Pruébalo cambiando el estado de un producto, por ejemplo, de Borrador a Activo.

  7. Observa la ejecución resultante en la página Flow / Recent runs y verifica que los valores del paso Registrar salida coincidan con los valores devueltos por la salida de Enviar solicitud HTTP.

Plantillas

Notifica al proveedor de servicios de logística sobre los próximos pedidos

Envía una solicitud HTTP a tu proveedor de servicios de logística cuando los pedidos tengan la etiqueta "Warehouse" en Order Tagger. View template

Envía pedidos nuevos a Airtable

Envía los pedidos a Airtable cuando se cree un pedido. View template

Envía todos los productos existentes y nuevos a Airtable

Cada 10 minutos, busca los productos que no se hayan enviado a Airtable (por etiqueta) y envíalos a Airtable. View template

Actualiza productos por lotes a partir de los datos de producto almacenados en Airtable

Actualiza productos por lotes a partir de los datos de producto que están almacenados en Airtable. View template

Notifica a los clientes sobre tarjetas de regalo próximas a vencer con SendGrid

Cada día, obtén todas las tarjetas de regalo que vencen en 7 días y envía correos electrónicos a los clientes con SendGrid. View template

Envía un correo electrónico con SendGrid cuando un cliente hace un pedido de un artículo personalizado

Envía un correo electrónico transaccional con SendGrid cuando un cliente hace un pedido de un artículo personalizado. View template