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.
| Campo | Descrición |
|---|---|
| Método HTTP | O método da solicitude HTTP que se vai enviar. A acción Enviar solicitude HTTP admite os seguintes métodos:
|
| URL | O URL do servidor ao que se envía a solicitude HTTP. |
| Cabeceiras | O par de clave-valor para a solicitude HTTP. Pódense introducir varios pares clave-valor. |
| Corpo | O 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:
|
| No erro do servidor (resposta 5XX ou 429) | Ao recibir un código de resposta que indique un erro do servidor, Flow:
|
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.
| Código de resposta HTTP | Como Flow procesa o código de resposta |
|---|---|
| Éxito 2XX ou 3XX | Flow 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:
|
| Outro código de resposta | Se 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:
- Escolle o activador Estado do produto actualizado, que che permite probar este fluxo de traballo cambiando o estado dun produto.
- 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-Typee un Valor detext/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.
- No campo Método HTTP, escribe
- Activa o fluxo de traballo.
- Próbao cambiando o estado dun produto, por exemplo de Borrador a Activo.
- 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:
Escolle o activador Estado do produto actualizado, que che permite probar este fluxo de traballo cambiando o estado dun produto.
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-Typee un Valor deapplication/json.Na sección Corpo, escribe o JSON de exemplo para devolvelo ao fluxo de traballo, como:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
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
bodydevolto polo obxectosendHTTPrequest, 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.parsee 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 } }
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}}
Activa o fluxo de traballo.
Próbao cambiando o estado dun produto, por exemplo de Borrador a Activo.
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