Slanje HTTP zahteva

Akcija Slanje HTTP zahteva povezuje vaš tok posla sa veb-serverom ili URL-om i šalje HTTP zahteve.

Kada Flow pošalje vaš HTTP zahtev, čeka maksimalno 30 sekundi na kôd HTTP odgovora. Ako Flow ne dobije odgovor posle 30 sekundi, zatvara vezu sa vašom aplikacijom. Kasnije će ponovo pokušati da pošalje zahtev.

Polja

Akcija Slanje HTTP zahteva sadrži sledeća polja.

Polja koja se koriste u akciji Slanje HTTP zahteva.
PoljeOpis
HTTP metodaMetoda HTTP zahteva za slanje. Akcija Slanje HTTP zahteva podržava sledeće metode:
  • Get - Šalje zahtev za informacije sa servera.
  • Delete - Uklanja resurs sa servera.
  • Head - Preuzima zaglavlja HTTP odgovora servera.
  • Options - Preuzima opcije i funkcije koje podržava server.
  • Patch - Delimično ažurira resurs na serveru.
  • Put - Ažurira resurs na serveru.
  • Post - Kreira ili zamenjuje resurs na serveru.
URLURL adresa servera na koji se šalje HTTP zahtev.
ZaglavljaPar ključa i vrednosti za HTTP zahtev. Može se uneti više parova ključ-vrednost.
TeloSadržaj koji se šalje na server.
U slučaju klijentske greške (odgovor 4XX)Kada primi kôd odgovora koji ukazuje na klijentsku grešku, Flow će:
  • Pokušaj ponovo - Pokušava ponovo do 24 sata dok ne primi drugačiji kôd odgovora ili dok ne istekne vreme.
  • Neuspešno - Označava izvršavanje toka posla kao neuspešno.
  • Zanemari - Zanemaruje grešku i nastavlja izvršavanje toka posla.
U slučaju serverske greške (odgovor 5XX ili 429)Kada primi kôd odgovora koji ukazuje na serversku grešku, Flow će:
  • Pokušaj ponovo - Pokušava ponovo do 24 sata dok ne primi drugačiji kôd odgovora ili dok ne istekne vreme.
  • Neuspešno - Označava izvršavanje toka posla kao neuspešno.
  • Zanemari - Zanemaruje grešku i nastavlja izvršavanje toka posla.

Vraćeni podaci

Da biste pristupili vraćenim podacima u koracima koji slede nakon ove akcije, koristite promenljivu pod imenom sendHttpRequest, koja obuhvata sve detalje HTTP odgovora. Opciono, koristite akciju Pokretanje koda da biste raščlanili body odgovora radi korišćenja u narednim koracima toka posla, kao u primeru ispod.

Ako se akcija Slanje HTTP zahteva koristi više puta u jednom toku posla, imenu promenljive se dodaje broj. Na primer, u toku posla koji koristi akciju Slanje HTTP zahteva dva puta, prva promenljiva za vraćene podatke je sendHttpRequest, a druga promenljiva je sendHttpRequest1. Ovo ime se ne može prilagoditi.

Kôdovi odgovora

U sledećoj tabeli je opisano kako Flow obrađuje HTTP kôd odgovora nakon što primi odgovor.

Kako Flow obrađuje HTTP kodove odgovora.
HTTP kôd odgovoraKako Flow obrađuje kôd odgovora
2XX ili 3XX UspehFlow označava HTTP zahtev kao uspešan i obavlja naredne radnje u toku posla.
4XX greške,
5XX i 429 greške
U zavisnosti od toga kako je radnja konfigurisana, Flow će:
  • Pokušaj ponovo - Pokušava ponovo do 24 sata dok ne primi drugačiji kôd odgovora ili dok ne istekne vreme.
  • Neuspešno - Označava izvršavanje toka posla kao neuspešno.
  • Zanemari - Zanemaruje grešku i nastavlja izvršavanje toka posla.
Drugi kôd odgovoraAko odgovor vrati kôd koji nije opisan u ovoj tabeli ili istekne vreme pri ponovnom pokušaju obavljanja radnji, Flow označava HTTP zahtev kao neuspešan, prekida izvršavanje toka posla i ne preduzima naredne radnje u toku posla.

Tajne

Tajne se koriste za bezbedno skladištenje osetljivih informacija za upotrebu u radnji Send HTTP request, kao što su pristupni tokeni ili lozinke. Tajne se kreiraju i njima se upravlja na stranici Flow > Podešavanja. Tajna sadrži identifikator, vrednost i opis. Referencirajte tajnu kao Liquid promenljivu (kao što je {{secrets.handle}}) ili u okviru opcije Add secret kada konfigurišete polja URL, Header value ili Body. Vrednosti tajne nikada nisu vidljive u Flow interfejsu i redigovane su iz evidencija o izvršavanju toka posla.

Okidači

Radnja Send HTTP request može da se koristi u bilo kom toku posla.

Primeri

Primer 1: Slanje HTTP zahteva spoljnoj usluzi

U ovom primeru, koristite Flow da pošaljete HTTP zahtev spoljnoj usluzi.

Pre nego što počnete, konfigurišite veb uslugu koja prima HTTP zahteve i skladišti podatke tih zahteva za testiranje, kao što je Request Catcher. Imajte na umu da treba da budete oprezni prilikom slanja osetljivih podataka (kao što su lozinke ili API ključevi) uslugama treće strane.

Koraci:

  1. Izaberite okidač Product status updated, koji vam omogućava da testirate ovaj tok posla promenom statusa proizvoda.
  2. Dodajte radnju Send HTTP Request u tok posla i povežite je sa okidačem. Zatim otvorite tablu za konfiguraciju tako što ćete kliknuti na korak Send HTTP Request .
    • U polje HTTP Method unesite POST.
    • U polje URL unesite URL za testiranje, kao što je https://yourFlowTest.requestcatcher.com/test.
    • U odeljku Headers unesite zaglavlje sa poljem Key koje je Content-Type i poljem Value koje je text/plain.
    • U odeljku Body unesite {{product.title}} i {{product.status}} da pošaljete naslov i ažurirani status proizvoda iz okidača.
  3. Aktivirajte tok posla.
  4. Testirajte ga promenom statusa na proizvodu, kao što je sa Nacrt na Aktivan.
  5. Pogledajte rezultate u spoljnoj usluzi za testiranje, kao što je https://yourFlowTest.requestcatcher.com/ u ovom primeru.

Primer 2: Korišćenje radnje Run code za raščlanjivanje HTTP odgovora

U ovom primeru, koristite Flow da pošaljete HTTP zahtev spoljnoj usluzi i radnju Run code da raščlanite body HTTP odgovora za upotrebu u narednim koracima toka posla.

Pre nego što počnete, izaberite veb uslugu koja prima HTTP zahteve i vraća podatke, kao što je Postman Echo. Imajte na umu da treba da budete oprezni prilikom slanja osetljivih podataka (kao što su lozinke ili API ključevi) uslugama treće strane.

Koraci:

  1. Izaberite okidač Product status updated, koji vam omogućava da testirate ovaj tok posla promenom statusa proizvoda.

  2. Dodajte radnju Send HTTP Request u tok posla i povežite je sa okidačem. Zatim otvorite tablu za konfiguraciju tako što ćete kliknuti na korak Send HTTP Request.

    • U polje HTTP Method unesite POST.

    • U polje URL unesite URL za testiranje, kao što je https://postman-echo.com/post.

    • U odeljku Headers unesite zaglavlje sa poljem Key koje je Content-Type i poljem Value koje je application/json.

    • U odeljku Body unesite primer JSON formata koji će se vratiti u tok posla, kao što je:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Dodajte radnju Run code u tok posla i povežite je sa radnjom Send HTTP request. Zatim otvorite tablu za konfiguraciju tako što ćete kliknuti na korak Run code.

    • U polje Define inputs unesite body koji vraća objekat sendHTTPrequest, kao što je:

      query{
        sendHttpRequest {
          body
        }
      }
    • U polju Define outputs definišite izlaznu šemu, kao što je:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • U polju Write code raščlanite odgovor pomoću metode JSON.parse i pobrinite se da podaci koje vraćate odgovaraju obliku i tipovima definisanim u izlaznoj šemi, kao što je:

      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. Dodajte radnju Log output u tok posla i povežite je sa radnjom Run code. Zatim otvorite tablu za konfiguraciju tako što ćete kliknuti na korak Run code.

    • U polje Output uključite promenljive koje vraća korak Run code, kao što je:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Aktivirajte tok posla.

  6. Testirajte ga promenom statusa na proizvodu, kao što je sa Nacrt na Aktivan.

  7. Pogledajte rezultat izvršavanja na stranici Flow / Recent runs i uverite se da se vrednosti u koraku Log output podudaraju sa vrednostima koje vraća izlaz radnje Send HTTP request.

Šabloni

Obavestite svog provajdera usluge realizovanja o predstojećim porudžbinama

Pošaljite HTTP zahtev svom provajderu usluge realizovanja kada se porudžbine označe sa „Warehouse“ u Order Tagger-u. Prikaži šablon

Pošaljite nove porudžbine u Airtable

Pošaljite porudžbine u Airtable kada se kreira porudžbina. Prikaži šablon

Pošaljite sve postojeće i nove proizvode u Airtable

Na svakih 10 minuta, pronađite proizvode koji nisu poslati u Airtable (po oznaci) i pošaljite ih u Airtable. Prikaži šablon

Ažurirajte proizvode u serijama pomoću podataka o proizvodima sačuvanih u Airtable-u

Ažurirajte proizvode u serijama pomoću podataka o proizvodima koji su sačuvani u Airtable-u. Prikaži šablon

Obavestite kupce o poklon karticama koje ističu korišćenjem usluge SendGrid

Svakog dana preuzmite sve poklon kartice koje ističu za 7 dana i pošaljite imejlove kupcima korišćenjem usluge SendGrid. Prikaži šablon

Slanje imejla pomoću usluge SendGrid kada kupac naruči prilagođenu stavku

Pošaljite transakcioni imejl putem usluge SendGrid kada kupac naruči prilagođenu stavku. Prikaži šablon