Envia una sol·licitud HTTP

L'acció Envia una sol·licitud HTTP connecta el teu flux de treball a un servidor web o URL i envia sol·licituds HTTP.

Després que Flow enviï la teva sol·licitud HTTP, espera un codi de resposta HTTP durant un màxim de 30 segons. Si Flow no ha rebut cap resposta un cop transcorreguts els 30 segons, tanca la connexió amb la teva aplicació. Més endavant, torna a intentar enviar la sol·licitud.

Camps

L'acció Envia una sol·licitud HTTP conté els camps següents.

Camps utilitzats en l'acció Envia una sol·licitud HTTP.
CampDescripció
Mètode HTTPEl mètode de la sol·licitud HTTP que s'ha d'enviar. L'acció Envia una sol·licitud HTTP admet els mètodes següents:
  • Get: envia una sol·licitud d'informació al servidor.
  • Delete: elimina un recurs del servidor.
  • Head: recupera les capçaleres de resposta HTTP del servidor.
  • Options: recupera les opcions i funcions que admet el servidor.
  • Patch: actualitza parcialment un recurs del servidor.
  • Put: actualitza un recurs del servidor.
  • Post: crea o substitueix un recurs del servidor.
URLL'URL del servidor a què s'envia la sol·licitud HTTP.
CapçaleresL'associació de clau i valor de la sol·licitud HTTP. S'hi poden introduir diverses associacions de clau i valor.
CosEl contingut que s'ha d'enviar al servidor.
En cas d'error del client (resposta 4XX)En rebre un codi de resposta que indiqui un error del client, Flow farà el següent:
  • Reintentar: tornarà a intentar-ho durant un màxim de 24 hores fins que rebi un codi de resposta diferent o s'esgoti el temps d'espera.
  • Fallar: farà que falli l'execució del flux de treball.
  • Ignorar: ignorarà l'error i continuarà l'execució del flux de treball.
En cas d'error del servidor (resposta 5XX o 429)En rebre un codi de resposta que indiqui un error del servidor, Flow farà el següent:
  • Reintentar: tornarà a intentar-ho durant un màxim de 24 hores fins que rebi un codi de resposta diferent o s'esgoti el temps d'espera.
  • Fallar: farà que falli l'execució del flux de treball.
  • Ignorar: ignorarà l'error i continuarà l'execució del flux de treball.

Dades retornades

Per accedir a les dades retornades als passos posteriors d'aquesta acció, fes servir la variable anomenada sendHttpRequest, que inclou tots els detalls de la resposta HTTP. De manera opcional, pots fer servir una acció Executa el codi per analitzar el body de la resposta i fer-lo servir als passos posteriors del flux de treball, com a l'exemple de sota.

Si s'utilitza una acció Envia una sol·licitud HTTP diverses vegades en un sol flux de treball, s'afegeix un número al nom de la variable. Per exemple, en un flux de treball que utilitza l'acció Envia una sol·licitud HTTP dues vegades, la primera variable per a les dades retornades és sendHttpRequest i la segona és sendHttpRequest1. Aquest nom no es pot personalitzar.

Codis de resposta

La taula següent descriu com Flow processa el codi de resposta HTTP després de rebre una resposta.

Com Flow processa els codis de resposta HTTP.
Codi de resposta HTTPCom Flow processa el codi de resposta
2XX o 3XX (correcte)Flow marca la sol·licitud HTTP com a correcta i duu a terme les accions posteriors en el flux de treball.
Errors 4XX,
errors 5XX i 429
En funció de com estigui configurada l'acció, Flow farà el següent:
  • Reintentar: tornarà a intentar-ho durant un màxim de 24 hores fins que rebi un codi de resposta diferent o s'esgoti el temps d'espera.
  • Fallar: farà que falli l'execució del flux de treball.
  • Ignorar: ignorarà l'error i continuarà l'execució del flux de treball.
Un altre codi de respostaSi la resposta retorna un codi que no es descriu en aquesta taula o s'esgota el temps en tornar a provar les accions, Flow marca la sol·licitud HTTP com a fallida, l'execució del flux de treball falla i no s'emprèn cap altra acció posterior.

Secrets

Els secrets s'utilitzen per emmagatzemar de manera segura dades confidencials per a l'acció Enviar sol·licitud HTTP, com ara testimonis d'accés o contrasenyes. Els secrets es creen i es gestionen des de la pàgina Flow > Configuració. Un secret conté un identificador, un valor i una descripció. Fes referència al secret com a variable de Liquid (per exemple, {{secrets.handle}}) o des de l'opció Afegeix un secret quan configuris els camps d'URL, de valor de capçalera o de cos. Els valors secrets no són mai visibles a la interfície de Flow i s'eliminen dels registres d'execució del flux de treball.

Esdeveniments desencadenants

L'acció Enviar sol·licitud HTTP es pot utilitzar en qualsevol flux de treball.

Exemples

Exemple 1: enviar una sol·licitud HTTP a un servei extern

En aquest exemple, utilitzes Flow per enviar una sol·licitud HTTP a un servei extern.

Abans de començar, configura un servei web que rebi sol·licituds HTTP i n'emmagatzemi les dades per fer-ne proves, com ara Request Catcher. Recorda tenir precaució a l'hora d'enviar dades confidencials (com ara contrasenyes o claus de l'API) a un servei de tercers.

Passos:

  1. Tria l'esdeveniment desencadenant S'ha actualitzat l'estat del producte, que et permet provar aquest flux de treball canviant l'estat d'un producte.
  2. Afegeix una acció Enviar sol·licitud HTTP al teu flux de treball i connecta-la a l'esdeveniment desencadenant. A continuació, obre el tauler de configuració fent clic al pas Enviar sol·licitud HTTP .
    • Al camp Mètode HTTP, introdueix POST.
    • Al camp URL, introdueix l'URL que vulguis provar, com ara https://yourFlowTest.requestcatcher.com/test.
    • A la secció Capçaleres, introdueix una capçalera amb la Clau Content-Type i el Valor text/plain.
    • A la secció Cos, introdueix {{product.title}} i {{product.status}} per enviar el títol i l'estat actualitzat del producte des de l'esdeveniment desencadenant.
  3. Activa el flux de treball.
  4. Prova'l canviant l'estat d'un producte, per exemple d'Esborrany a Actiu.
  5. Observa els resultats al servei de proves extern, com ara https://yourFlowTest.requestcatcher.com/ en aquest exemple.

Exemple 2: utilitzar l'opció d'executar codi per analitzar una resposta HTTP

En aquest exemple, utilitzes Flow per enviar una sol·licitud HTTP a un servei extern i una acció Executar codi per analitzar el body de la resposta HTTP i utilitzar-lo en els passos posteriors del flux de treball.

Abans de començar, tria un servei web que rebi sol·licituds HTTP i retorni dades, com ara Postman Echo. Recorda tenir precaució a l'hora d'enviar dades confidencials (com ara contrasenyes o claus de l'API) a un servei de tercers.

Passos:

  1. Tria l'esdeveniment desencadenant S'ha actualitzat l'estat del producte, que et permet provar aquest flux de treball canviant l'estat d'un producte.

  2. Afegeix una acció Enviar sol·licitud HTTP al teu flux de treball i connecta-la a l'esdeveniment desencadenant. A continuació, obre el tauler de configuració fent clic al pas Enviar sol·licitud HTTP.

    • Al camp Mètode HTTP, introdueix POST.

    • Al camp URL, introdueix l'URL que vulguis provar, com ara https://postman-echo.com/post.

    • A la secció Capçaleres, introdueix una capçalera amb la Clau Content-Type i el Valor application/json.

    • A la secció Cos, introdueix el JSON d'exemple per retornar al flux de treball, com ara:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Afegeix una acció Executar codi al teu flux de treball i connecta-la a l'acció Enviar sol·licitud HTTP. A continuació, obre el tauler de configuració fent clic al pas Executar codi.

    • Al camp Defineix les entrades, inclou el body retornat per l'objecte sendHTTPrequest, com ara:

      query{
        sendHttpRequest {
          body
        }
      }
    • Al camp Defineix les sortides, definides a l'esquema de sortides, com ara:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • Al camp Escriu el codi, analitza la resposta mitjançant el mètode JSON.parse i assegura't que les dades que retornes coincideixen amb la forma i els tipus definits a l'esquema de sortides, com ara:

      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. Afegeix una acció Registrar sortida al teu flux de treball i connecta-la a l'acció Executar codi. A continuació, obre el tauler de configuració fent clic al pas Executar codi.

    • Al camp Sortida, inclou les variables retornades pel pas Executar codi, com ara:

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

  6. Prova'l canviant l'estat d'un producte, per exemple d'Esborrany a Actiu.

  7. Observa l'execució resultant de la pàgina Flow / Execucions recents i nota com els valors del pas Registrar sortida coincideixen amb els valors retornats des de la sortida Enviar sol·licitud HTTP.

Plantilles

Notifica les properes comandes al proveïdor de preparació de comandes

Envia una sol·licitud HTTP al proveïdor de preparació de comandes quan les comandes s'etiquetin com a "Warehouse" a Order Tagger. Mostra la plantilla

Envia les comandes noves a Airtable

Envia comandes a Airtable quan es creï una comanda. Mostra la plantilla

Envia tots els productes existents i nous a Airtable

Cada 10 minuts, cerca productes que no s'hagin enviat a Airtable (per etiqueta) i envia'ls a Airtable. Mostra la plantilla

Actualitza els productes per lots a partir de les dades de productes emmagatzemades a Airtable

Actualitza els productes per lots a partir de les dades de productes emmagatzemades a Airtable. Mostra la plantilla

Notifica als clients quins vals regal estan a punt de caducar mitjançant SendGrid

Cada dia, obtén tots els vals regal que caduquen d'aquí a 7 dies i envia correus electrònics als clients mitjançant SendGrid. Mostra la plantilla

Envia un correu electrònic mitjançant SendGrid quan els clients facin una comanda d'un article personalitzat

Envia un correu electrònic transaccional mitjançant SendGrid quan un client faci una comanda d'un article personalitzat. Mostra la plantilla