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.
En aquesta pàgina
Camps
L'acció Envia una sol·licitud HTTP conté els camps següents.
| Camp | Descripció |
|---|---|
| Mètode HTTP | El 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:
|
| URL | L'URL del servidor a què s'envia la sol·licitud HTTP. |
| Capçaleres | L'associació de clau i valor de la sol·licitud HTTP. S'hi poden introduir diverses associacions de clau i valor. |
| Cos | El 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:
|
| 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:
|
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.
| Codi de resposta HTTP | Com 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:
|
| Un altre codi de resposta | Si 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:
- 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.
- 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-Typei el Valortext/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.
- Al camp Mètode HTTP, introdueix
- Activa el flux de treball.
- Prova'l canviant l'estat d'un producte, per exemple d'Esborrany a Actiu.
- 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:
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.
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-Typei el Valorapplication/json.A la secció Cos, introdueix el JSON d'exemple per retornar al flux de treball, com ara:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
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
bodyretornat per l'objectesendHTTPrequest, 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.parsei 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 } }
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}}
Activa el flux de treball.
Prova'l canviant l'estat d'un producte, per exemple d'Esborrany a Actiu.
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