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âmp | Descriere |
|---|---|
| Metodă HTTP | Metoda de solicitare HTTP de trimis. Trimitere solicitare HTTP acțiunea acceptă următoarele metode:
|
| URL | URL-ul serverului către care este trimisă solicitarea HTTP. |
| Antete | Perechea cheie și valoare pentru solicitarea HTTP. Pot fi introduse mai multe perechi cheie-valoare. |
| Corp | Conț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:
|
| Î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:
|
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.
| Cod de răspuns HTTP | Cum procesează Flow codul de răspuns |
|---|---|
| 2XX sau 3XX Succes | Flow 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:
|
| Alt cod de răspuns | Dacă 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:
- Alegeți declanșatorul Stare produs actualizată, care vă permite să testați acest flux de lucru prin schimbarea stării unui produs.
- 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 Valoareatext/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.
- În câmpul Metodă HTTP, introduceți
- Activați fluxul de lucru.
- Testați-l schimbând starea unui Produs, de exemplu, de la Schiță la Activ.
- 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:
Alegeți declanșatorul Stare produs actualizată, care vă permite să testați acest flux de lucru prin schimbarea stării unui produs.
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 Valoareaapplication/json.În secțiunea Corp, introduceți exemplul de JSON care trebuie returnat fluxului de lucru, de exemplu:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
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
corpulreturnat de obiectulsendHTTPrequest, 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 } }
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}}
Activați fluxul de lucru.
Testați-l schimbând starea unui Produs, de exemplu, de la Schiță la Activ.
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