Trimitere solicitare HTTP

Acțiunea Trimitere solicitare HTTP vă conectează fluxul de lucru la un server web sau URL și trimite solicitări HTTP.

După ce Flow trimite solicitarea HTTP, așteaptă maximum 30 de secunde un cod de răspuns HTTP. Dacă Flow nu a primit un răspuns după 30 de secunde, închide conexiunea la aplicația dvs. Ulterior, reîncearcă solicitarea.

Câmpuri

Acțiunea Trimitere solicitare HTTP conține următoarele câmpuri.

Câmpuri utilizate în acțiunea Trimitere solicitare HTTP.
CâmpDescriere
Metodă HTTPMetoda de solicitare HTTP de trimis. Trimitere solicitare HTTP acțiunea acceptă următoarele metode:
  • Get - Trimite o solicitare de informații de la server.
  • Delete - Elimină o resursă de pe server.
  • Head - Preia antetele de răspuns HTTP ale serverului.
  • Options - Preia opțiunile și caracteristicile acceptate de server.
  • Patch - Actualizează parțial o resursă de pe server.
  • Put - Actualizează o resursă de pe server.
  • Post - Creează sau înlocuiește o resursă de pe server.
URLURL-ul serverului către care este trimisă solicitarea HTTP.
AntetePerechea cheie și valoare pentru solicitarea HTTP. Pot fi introduse mai multe perechi cheie-valoare.
CorpConținutul de trimis la server.
În caz de eroare de client (răspuns 4XX)La primirea unui cod de răspuns care indică o eroare de client, Flow va:
  • Reîncercare - Reîncearcă timp de până la 24 de ore până la primirea unui cod de răspuns diferit sau până la expirarea timpului.
  • Eșuare - Eșuează execuția fluxului de lucru.
  • Ignorare - Ignoră eroarea și continuă execuția fluxului de lucru.
În caz de eroare de server (răspuns 5XX sau 429)La primirea unui cod de răspuns care indică o eroare de server, Flow va:
  • Reîncercare - Reîncearcă timp de până la 24 de ore până la primirea unui cod de răspuns diferit sau până la expirarea timpului.
  • Eșuare - Eșuează execuția fluxului de lucru.
  • Ignorare - Ignoră eroarea și continuă execuția fluxului de lucru.

Date returnate

Pentru a accesa datele returnate în pașii care urmează acestei acțiuni, utilizați variabila denumită sendHttpRequest, care include toate detaliile răspunsului HTTP. Opțional, utilizați o acțiune Rulare cod pentru a analiza corpul răspunsului pentru a-l utiliza în pașii ulteriori ai fluxului de lucru, ca în exemplul de mai jos.

Dacă o acțiune Trimitere solicitare HTTP este utilizată de mai multe ori într-un singur flux de lucru, se adaugă un număr la numele variabilei. De exemplu, într-un flux de lucru care utilizează acțiunea Trimitere solicitare HTTP de două ori, prima variabilă pentru datele returnate este sendHttpRequest, iar a doua variabilă este sendHttpRequest1. Acest nume nu poate fi personalizat.

Coduri de răspuns

Tabelul următor descrie modul în care Flow procesează codul de răspuns HTTP după ce primește un răspuns.

Cum procesează Flow codurile de răspuns HTTP.
Cod de răspuns HTTPCum procesează Flow codul de răspuns
2XX sau 3XX SuccesFlow marchează solicitarea HTTP ca fiind un succes și efectuează acțiunile ulterioare din fluxul de lucru.
Erori 4XX,
erori 5XX și 429
În funcție de modul în care este configurată acțiunea, Flow va:
  • Reîncercare - Reîncearcă timp de până la 24 de ore până la primirea unui cod de răspuns diferit sau până la expirarea timpului.
  • Eșuare - Eșuează execuția fluxului de lucru.
  • Ignorare - Ignoră eroarea și continuă execuția fluxului de lucru.
Alt cod de răspunsDacă răspunsul returnează un cod care nu este descris în acest tabel sau expiră timpul la reîncercarea acțiunilor, atunci Flow marchează solicitarea HTTP ca eșuată, eșuează execuția fluxului de lucru și nu efectuează acțiunile ulterioare ale fluxului de lucru.

Secrete

Secretele sunt folosite pentru a stoca în siguranță informații sensibile care urmează a fi utilizate în acțiunea Trimitere solicitare HTTP, cum ar fi tokenurile de acces sau parolele. Secretele sunt create și gestionate din pagina Flow > Setări. Un secret conține un handle, o valoare și o descriere. Referențiați secretul ca o variabilă Liquid (cum ar fi {{secrets.handle}}) sau din opțiunea Adaugă un secret la configurarea câmpurilor URL, Valoare antet sau Corp. Valorile secrete nu sunt niciodată vizibile în interfața Flow și sunt ascunse din jurnalele de execuție ale fluxului de lucru.

Declanșatori

Acțiunea Trimitere solicitare HTTP poate fi utilizată în orice flux de lucru.

Exemple

Exemplul 1: Trimiterea unei solicitări HTTP către un serviciu extern

În acest exemplu, utilizați Flow pentru a trimite o solicitare HTTP către un serviciu extern.

Înainte de a începe, configurați un serviciu web care primește solicitări HTTP și stochează datele acelor solicitări pentru testare, cum ar fi Request Catcher. Rețineți să aveți grijă atunci când trimiteți date sensibile (cum ar fi parolele sau cheile API) către un serviciu extern.

Pași:

  1. Alegeți declanșatorul Stare produs actualizată, care vă permite să testați acest flux de lucru prin schimbarea stării unui produs.
  2. Adăugați o acțiune Trimitere solicitare HTTP la fluxul de lucru și conectați-o la declanșator. Apoi, deschideți panoul de configurare făcând clic pe pasul Trimitere solicitare HTTP .
    • În câmpul Metodă HTTP, introduceți POST.
    • În câmpul URL, introduceți URL-ul pentru testare, de exemplu, https://yourFlowTest.requestcatcher.com/test.
    • În secțiunea Anteturi, introduceți un antet cu Cheia Content-Type și Valoarea text/plain.
    • În secțiunea Corp, introduceți {{product.title}} și {{product.status}} pentru a trimite titlul și starea actualizată a produsului de la declanșator.
  3. Activați fluxul de lucru.
  4. Testați-l schimbând starea unui Produs, de exemplu, de la Schiță la Activ.
  5. Observați rezultatele în serviciul de testare extern, cum ar fi https://yourFlowTest.requestcatcher.com/ în acest exemplu.

Exemplul 2: utilizați Executare cod pentru a analiza un răspuns HTTP

În acest exemplu, utilizați Flow pentru a trimite o solicitare HTTP către un serviciu extern și o acțiune Executare cod pentru a analiza corpul răspunsului HTTP, în vederea utilizării în pașii ulteriori ai fluxului de lucru.

Înainte de a începe, alegeți un serviciu web care primește solicitări HTTP și returnează date, cum ar fi Postman Echo. Nu uitați să fiți precaut atunci când trimiteți date sensibile (cum ar fi parole sau chei API) către un serviciu extern.

Pași:

  1. Alegeți declanșatorul Stare produs actualizată, care vă permite să testați acest flux de lucru prin schimbarea stării unui produs.

  2. Adăugați o acțiune Trimitere solicitare HTTP la fluxul de lucru și conectați-o la declanșator. Apoi, deschideți panoul de configurare făcând clic pe pasul Trimitere solicitare HTTP.

    • În câmpul Metodă HTTP, introduceți POST.

    • În câmpul URL, introduceți URL-ul pentru testare, de exemplu, https://postman-echo.com/post.

    • În secțiunea Anteturi, introduceți un antet cu Cheia Content-Type și Valoarea application/json.

    • În secțiunea Corp, introduceți exemplul de JSON care trebuie returnat fluxului de lucru, de exemplu:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Adăugați o acțiune Executare cod la fluxul de lucru și conectați-o la acțiunea Trimitere solicitare HTTP. Apoi, deschideți panoul de configurare făcând clic pe pasul Executare cod.

    • În câmpul Definire inputuri, includeți corpul returnat de obiectul sendHTTPrequest, de exemplu:

      query{
        sendHttpRequest {
          body
        }
      }
    • În câmpul Definire outputuri, definite în schema de output, de exemplu:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • În câmpul Scriere cod, analizați răspunsul utilizând metoda JSON.parse și asigurați-vă că datele pe care le returnați corespund formei și tipurilor definite în schema de output, de exemplu:

      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. Adăugați o acțiune Înregistrare output la fluxul de lucru și conectați-o la acțiunea Executare cod. Apoi, deschideți panoul de configurare făcând clic pe pasul Executare cod.

    • În câmpul Output, includeți variabilele returnate de pasul Executare cod, de exemplu:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Activați fluxul de lucru.

  6. Testați-l schimbând starea unui Produs, de exemplu, de la Schiță la Activ.

  7. Observați execuția rezultată de pe pagina Flow / Execuții recente și rețineți că valorile din pasul Înregistrare output corespund valorilor returnate de outputul Trimitere solicitare HTTP.

Șabloane

Notificați furnizorul de servicii de pregătire a comenzii despre comenzile viitoare

Trimiteți o solicitare HTTP către furnizorul de servicii de pregătire a comenzii atunci când comenzile sunt etichetate cu „Warehouse” în Order Tagger. Vizualizați șablonul

Trimiteți comenzile noi către Airtable

Trimiteți comenzi către Airtable atunci când este creată o comandă. Vizualizați șablonul

Trimiteți toate produsele existente și noi către Airtable

La fiecare 10 minute, găsiți produsele care nu au fost trimise către Airtable (după etichetă) și trimiteți-le către Airtable. Vizualizați șablonul

Actualizați produsele în loturi din datele despre produse stocate în Airtable

Actualizați produsele în loturi din datele despre produse stocate în Airtable. Vizualizați șablonul

Notificați clienții cu privire la cardurile cadou care expiră, utilizând SendGrid

În fiecare zi, obțineți toate cardurile cadou care expiră în 7 zile și trimiteți e-mailuri clienților utilizând SendGrid. Vizualizați șablonul

Trimiteți e-mail prin SendGrid atunci când clienții plasează o comandă pentru un articol personalizat

Trimiteți un e-mail tranzacțional utilizând SendGrid atunci când un client plasează o comandă pentru un articol personalizat. Vizualizați șablonul