Enviar solicitação HTTP
A ação Enviar solicitação HTTP conecta o fluxo de trabalho a um servidor web ou URL e envia solicitações HTTP.
Depois que o Flow envia a solicitação HTTP, ele aguarda no máximo 30 segundos por um código de resposta HTTP. Se o Flow não receber uma resposta após 30 segundos, ele encerra a conexão com o app. Mais tarde, ele tenta fazer a solicitação novamente.
Campos
A ação Enviar solicitação HTTP contém os seguintes campos.
| Campo | Descrição |
|---|---|
| Método HTTP | O método da solicitação HTTP a ser enviada. A Enviar solicitação HTTP ação é compatível com os seguintes métodos:
|
| URL | O URL do servidor para o qual a solicitação HTTP é enviada. |
| Cabeçalhos | O par de chave-valor para a solicitação HTTP. É possível inserir vários pares. |
| Corpo | O conteúdo a ser enviado para o servidor. |
| Em caso de erro do cliente (resposta 4XX) | Ao receber um código de resposta que indica um erro do cliente, o Flow:
|
| Em caso de erro do servidor (resposta 5XX ou 429) | Ao receber um código de resposta que indica um erro do servidor, o Flow:
|
Dados retornados
Para acessar os dados retornados em etapas posteriores a esta ação, use a variável chamada sendHttpRequest, que inclui todos os detalhes da resposta HTTP. Se quiser, use uma ação Executar código para analisar o body da resposta para uso em etapas subsequentes do fluxo de trabalho, como no exemplo abaixo.
Se a ação Enviar solicitação HTTP for usada várias vezes em um único fluxo de trabalho, um número será adicionado ao nome da variável. Por exemplo, em um fluxo de trabalho que usa a ação Enviar solicitação HTTP duas vezes, a primeira variável dos dados retornados será sendHttpRequest e a segunda será sendHttpRequest1. Esse nome não pode ser personalizado.
Códigos de resposta
A tabela a seguir descreve como o Flow processa o código de resposta HTTP após receber uma resposta.
| Código de resposta HTTP | Como o Flow processa o código de resposta |
|---|---|
| 2XX ou 3XX (êxito) | O Flow marca a solicitação HTTP como bem-sucedida e executa as ações subsequentes no fluxo de trabalho. |
| Erros 4XX, Erros 5XX e 429 | Dependendo de como a ação está configurada, o Flow:
|
| Outro código de resposta | Se a resposta retornar um código não descrito nesta tabela ou o tempo se esgotar ao tentar as ações novamente, o Flow marcará a solicitação HTTP como malsucedida, a execução do fluxo de trabalho falhará e as ações subsequentes do fluxo de trabalho não serão executadas. |
Segredos
Os segredos são usados para armazenar com segurança informações confidenciais para uso na ação Enviar solicitação HTTP, como tokens de acesso ou senhas. Eles são criados e gerenciados na página Flow > Configurações. Um segredo contém um identificador, valor e descrição. Referencie o segredo como uma variável do Liquid (como {{secrets.handle}}) ou na opção Adicionar segredo ao configurar os campos de URL, valor de cabeçalho ou corpo. Os valores dos segredos nunca ficam visíveis na interface do Flow e são ocultados dos registros de execução do fluxo de trabalho.
Acionadores
A ação Enviar solicitação HTTP pode ser usada em qualquer fluxo de trabalho.
Exemplos
Exemplo 1: enviar uma solicitação HTTP para um serviço externo
Neste exemplo, use o Flow para enviar uma solicitação HTTP para um serviço externo.
Antes de começar, configure um serviço web que receba solicitações HTTP e armazene os dados dessas solicitações para teste, como o Request Catcher. Tenha cuidado ao enviar dados confidenciais (como senhas ou chaves de API) para um serviço de terceiros.
Etapas:
- Escolha o acionador Status do produto atualizado, que permite testar o fluxo de trabalho ao alterar o status em um produto.
- Adicione a ação Enviar solicitação HTTP ao fluxo de trabalho e conecte-a ao acionador. Depois, abra o painel de configuração clicando na etapa Enviar solicitação HTTP .
- No campo Método HTTP, insira
POST. - No campo URL, insira o URL a ser testado, como
https://yourFlowTest.requestcatcher.com/test. - Na seção Cabeçalhos, insira um cabeçalho com a Chave
Content-Typee o Valortext/plain. - Na seção Corpo, insira
{{product.title}}e{{product.status}}para enviar o título e o status atualizado do produto pelo acionador.
- No campo Método HTTP, insira
- Ative o fluxo de trabalho.
- Para testar, altere o status de um produto de Rascunho para Ativo.
- Observe os resultados no serviço de teste externo, como
https://yourFlowTest.requestcatcher.com/neste exemplo.
Exemplo 2: usar a ação Executar código para analisar uma resposta HTTP
Neste exemplo, use o Flow para enviar uma solicitação HTTP a um serviço externo e uma ação Executar código para analisar o body da resposta HTTP para uso em etapas posteriores do fluxo de trabalho.
Antes de começar, escolha um serviço web que receba solicitações HTTP e retorne dados, como o Postman Echo. Lembre-se de ter cuidado ao enviar dados confidenciais (como senhas ou chaves de API) para um serviço de terceiros.
Etapas:
Escolha o acionador Status do produto atualizado, que permite testar o fluxo de trabalho ao alterar o status em um produto.
Adicione a ação Enviar solicitação HTTP ao fluxo de trabalho e conecte-a ao acionador. Em seguida, abra o painel de configuração clicando na etapa Enviar solicitação HTTP.
No campo Método HTTP, insira
POST.No campo URL, insira o URL a ser testado, como
https://postman-echo.com/post.Na seção Cabeçalhos, insira um cabeçalho com a Chave
Content-Typee o Valorapplication/json.Na seção Corpo, insira o JSON de exemplo a ser retornado para o fluxo de trabalho, como:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Adicione a ação Executar código ao fluxo de trabalho e conecte-a à ação Enviar solicitação HTTP. Em seguida, abra o painel de configuração clicando na etapa Executar código.
No campo Definir entradas, inclua o
bodyretornado pelo objetosendHTTPrequest, como:query{ sendHttpRequest { body } }No campo Definir saídas, inclua as saídas definidas no esquema de saída, como:
type Output { productTitle: String! productStatus: String! }No campo Escrever código, analise a resposta usando o método
JSON.parsee verifique se os dados que você retorna correspondem à forma e aos 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 } }
Adicione a ação Registrar saída ao fluxo de trabalho e conecte-a à ação Executar código. Em seguida, abra o painel de configuração clicando na etapa Executar código.
No campo Saída, inclua as variáveis retornadas pela etapa Executar código, como:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Ative o fluxo de trabalho.
Para testar, altere o status de um produto de Rascunho para Ativo.
Observe a execução resultante na página Flow / Execuções recentes e veja que os valores na etapa Registrar saída correspondem aos valores retornados da saída Enviar solicitação HTTP.
Modelos
Notificar o provedor de processamento de pedidos sobre próximos pedidos
Envie uma solicitação HTTP para o provedor de processamento de pedidos quando os pedidos forem marcados com a tag “Warehouse” no Order Tagger. Ver modelo
Enviar novos pedidos para o Airtable
Envie pedidos para o Airtable quando um pedido for criado. Ver modelo
Enviar todos os produtos existentes e novos para o Airtable
A cada 10 minutos, encontre produtos que não foram enviados para o Airtable (por tag) e envie-os para o Airtable. Ver modelo
Atualizar produtos em lotes a partir de dados de produtos armazenados no Airtable
Atualize produtos em lotes com base nos dados de produtos armazenados no Airtable. Ver modelo
Notificar clientes sobre cartões-presente perto do vencimento usando o SendGrid
Todos os dias, busque todos os cartões-presente que expiram em 7 dias e envie e-mails para os clientes usando o SendGrid. Ver modelo
Enviar e-mail com o SendGrid quando clientes fizerem um pedido de um item personalizado
Envie um e-mail transacional usando o SendGrid quando um cliente fizer um pedido de um item personalizado. Ver modelo