Enviar solicitude HTTP

A acción Enviar solicitude HTTP conecta o teu fluxo de traballo a un servidor web ou URL e envía solicitudes HTTP.

Despois de que Flow envíe a túa solicitude HTTP, agarda un máximo de 30 segundos por un código de resposta HTTP. Se Flow non recibe unha resposta ao cabo de 30 segundos, pecha a conexión coa túa aplicación. Máis tarde, volve tentar a solicitude.

Campos

A acción Enviar solicitude HTTP contén os seguintes campos.

Campos usados na acción Enviar solicitude HTTP.
CampoDescrición
Método HTTPO método da solicitude HTTP que se vai enviar. A acción Enviar solicitude HTTP admite os seguintes métodos:
  • Get - Envía unha solicitude de información do servidor.
  • Delete - Elimina un recurso do servidor.
  • Head - Obtén as cabeceiras de resposta HTTP do servidor.
  • Options - Obtén as opcións e funcións que admite o servidor.
  • Patch - Actualiza parcialmente un recurso no servidor.
  • Put - Actualiza un recurso no servidor.
  • Post - Crea ou substitúe un recurso no servidor.
URLO URL do servidor ao que se envía a solicitude HTTP.
CabeceirasO par de clave-valor para a solicitude HTTP. Pódense introducir varios pares clave-valor.
CorpoO contido que se vai enviar ao servidor.
No erro do cliente (resposta 4XX)Ao recibir un código de resposta que indique un erro do cliente, Flow:
  • Retry - Volverá tentalo durante un máximo de 24 horas ata recibir un código de resposta diferente ou esgotar o tempo de espera.
  • Fail - Fará que falle a execución do fluxo de traballo.
  • Ignore - Ignorará o erro e continuará coa execución do fluxo de traballo.
No erro do servidor (resposta 5XX ou 429)Ao recibir un código de resposta que indique un erro do servidor, Flow:
  • Retry - Volverá tentalo durante un máximo de 24 horas ata recibir un código de resposta diferente ou esgotar o tempo de espera.
  • Fail - Fará que falle a execución do fluxo de traballo.
  • Ignore - Ignorará o erro e continuará coa execución do fluxo de traballo.

Datos devoltos

Para acceder aos datos devoltos nos pasos posteriores a esta acción, utiliza a variable denominada sendHttpRequest, que inclúe todos os detalles da resposta HTTP. De forma opcional, usa unha acción Executar código para analizar o body da resposta a fin de utilizalo nos pasos posteriores do fluxo de traballo, tal e como se mostra no seguinte exemplo.

Se se usa a acción Enviar solicitude HTTP varias veces nun único fluxo de traballo, engádese un número ao nome da variable. Por exemplo, nun fluxo de traballo que use a acción Enviar solicitude HTTP dúas veces, a primeira variable para os datos devoltos é sendHttpRequest e a segunda é sendHttpRequest1. Este nome non se pode personalizar.

Códigos de resposta

A seguinte táboa describe como Flow procesa o código de resposta HTTP despois de recibir unha resposta.

Como Flow procesa os códigos de resposta HTTP.
Código de resposta HTTPComo Flow procesa o código de resposta
Éxito 2XX ou 3XXFlow marca a solicitude HTTP como correcta e realiza as accións posteriores no fluxo de traballo.
Erros 4XX,
erros 5XX e 429
Dependendo de como estea configurada a acción, Flow:
  • Retry - Volverá tentalo durante un máximo de 24 horas ata recibir un código de resposta diferente ou esgotar o tempo de espera.
  • Fail - Fará que falle a execución do fluxo de traballo.
  • Ignore - Ignorará o erro e continuará coa execución do fluxo de traballo.
Outro código de respostaSe a resposta devolve un código que non se describe nesta táboa ou se esgota o tempo de espera ao volver tentar as accións, Flow marca a solicitude HTTP como errada, falla a execución do fluxo de traballo e non realiza as accións posteriores do fluxo de traballo.

Segredos

Os segredos utilízanse para almacenar de forma segura información sensible para o seu uso na acción Enviar solicitude HTTP, como tokens de acceso ou contrasinais. Os segredos créanse e xestiónanse na páxina Flow > Configuración. Un segredo contén un identificador, un valor e unha descrición. Fai referencia ao segredo como unha variable de Liquid (como {{secrets.handle}}) ou desde a opción Engadir segredo ao configurar os campos URL, Valor da cabeceira ou Corpo. Os valores dos segredos nunca son visibles na interface de Flow e elimínanse dos rexistros de execución do fluxo de traballo.

Activadores

A acción Enviar solicitude HTTP pode usarse en calquera fluxo de traballo.

Exemplos

Exemplo 1: Enviar unha solicitude HTTP a un servizo externo

Neste exemplo, utiliza Flow para enviar unha solicitude HTTP a un servizo externo.

Antes de comezar, configura un servizo web que reciba solicitudes HTTP e almacene os datos destas solicitudes para realizar probas, como Request Catcher. Lembra ter coidado ao enviar datos sensibles (como contrasinais ou chaves da API) a un servizo de terceiros.

Pasos:

  1. Escolle o activador Estado do produto actualizado, que che permite probar este fluxo de traballo cambiando o estado dun produto.
  2. Engade unha acción Enviar solicitude HTTP ao teu fluxo de traballo e conéctaa ao activador. A continuación, abre o panel de configuración premendo o paso Enviar solicitude HTTP .
    • No campo Método HTTP, escribe POST.
    • No campo URL, escribe o URL co que queiras probar, como https://yourFlowTest.requestcatcher.com/test.
    • Na sección Cabeceiras, introduce unha cabeceira cunha Chave de Content-Type e un Valor de text/plain.
    • Na sección Corpo, escribe {{product.title}} e {{product.status}} para enviar o título e o estado actualizado do produto desde o activador.
  3. Activa o fluxo de traballo.
  4. Próbao cambiando o estado dun produto, por exemplo de Borrador a Activo.
  5. Observa os resultados no servizo de probas externo, como https://yourFlowTest.requestcatcher.com/ neste exemplo.

Exemplo 2: Usar "Executar código" para analizar unha resposta HTTP

Neste exemplo, utiliza Flow para enviar unha solicitude HTTP a un servizo externo e unha acción Executar código para analizar o body da resposta HTTP co fin de utilizalo nos pasos posteriores do fluxo de traballo.

Antes de comezar, escolle un servizo web que reciba solicitudes HTTP e devolva datos, como Postman Echo. Lembra ter coidado ao enviar datos sensibles (como contrasinais ou chaves da API) a un servizo de terceiros.

Pasos:

  1. Escolle o activador Estado do produto actualizado, que che permite probar este fluxo de traballo cambiando o estado dun produto.

  2. Engade unha acción Enviar solicitude HTTP ao teu fluxo de traballo e conéctaa ao activador. A continuación, abre o panel de configuración premendo no paso Enviar solicitude HTTP.

    • No campo Método HTTP, escribe POST.

    • No campo URL, escribe o URL co que queiras probar, como https://postman-echo.com/post.

    • Na sección Cabeceiras, introduce unha cabeceira cunha Chave de Content-Type e un Valor de application/json.

    • Na sección Corpo, escribe o JSON de exemplo para devolvelo ao fluxo de traballo, como:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Engade unha acción Executar código ao teu fluxo de traballo e conéctaa á acción Enviar solicitude HTTP. A continuación, abre o panel de configuración premendo o paso Executar código.

    • No campo Definir entradas, inclúe o body devolto polo obxecto sendHTTPrequest, como:

      query{
        sendHttpRequest {
          body
        }
      }
    • No campo Definir saídas, definidas no esquema de saída, como:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • No campo Escribir código, analiza a resposta usando o método JSON.parse e asegúrate de que os datos que devolves coincidan coa forma e cos tipos definidos no esquema de saída, como:

      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. Engade unha acción Rexistrar saída ao teu fluxo de traballo e conéctaa á acción Executar código. A continuación, abre o panel de configuración premendo o paso Executar código.

    • No campo Saída, inclúe as variables devoltas polo paso Executar código, como:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Activa o fluxo de traballo.

  6. Próbao cambiando o estado dun produto, por exemplo de Borrador a Activo.

  7. Observa a execución resultante na páxina Flow / Execucións recentes e ten en conta que os valores no paso Rexistrar saída coinciden cos valores devoltos da saída de Enviar solicitude HTTP.

Modelos

Notificar ao provedor de xestión de pedidos sobre os próximos pedidos

Envía unha solicitude HTTP ao teu provedor de xestión de pedidos cando os pedidos se etiqueten como "Warehouse" en Order Tagger. Ver modelo

Enviar os pedidos novos a Airtable

Envía os pedidos a Airtable cando se cree un. Ver modelo

Enviar todos os produtos existentes e novos a Airtable

Cada 10 minutos, busca produtos que non se enviasen a Airtable (por etiqueta) e envíaos a Airtable. Ver modelo

Actualizar produtos en lotes desde os datos do produto almacenados en Airtable

Actualiza produtos en lotes desde os datos do produto almacenados en Airtable. Ver modelo

Notificarlles aos clientes as tarxetas de agasallo que caducan mediante SendGrid

Todos os días, obtén todas as tarxetas de agasallo que caduquen nun prazo de 7 días e envíalles correos electrónicos aos clientes a través de SendGrid. Ver modelo

Enviar un correo electrónico usando SendGrid cando os clientes fagan un pedido dun artigo personalizado

Envía un correo electrónico transaccional usando SendGrid cando un cliente faga un pedido dun artigo personalizado. Ver modelo