Lähetä HTTP-pyyntö
Lähetä HTTP-pyyntö ‑toiminto liittää työnkulkusi verkkopalvelimeen tai URL-osoitteeseen ja lähettää HTTP-pyyntöjä.
Kun Flow on lähettänyt sinulle HTTP-pyynnön, se odottaa korkeintaan 30 sekunnin ajan, että sovelluksesi vastaa sille HTTP-vastauskoodilla. Jos Flow ei ole 30 sekunnin kuluttua saanut sovellukselta vastausta, se katkaisee yhteyden sovellukseen. Pyyntöä yritetään myöhemmin uudelleen.
Kentät
Lähetä HTTP-pyyntö ‑toiminto sisältää seuraavat kentät:
Kenttä | Kuvaus |
---|---|
HTTP-menetelmä | Menetelmä HTTP-pyynnön lähettämiseksi. Lähetä HTTP-pyyntö ‑toiminto tukee seuraavia menetelmiä:
|
URL-osoite | Sen palvelimen URL-osoite, johon HTTP-pyyntö lähetetään. |
Otsikot | HTTP-pyynnön avain ja arvopari. Voit syöttää useita avainarvopareja. |
Runko | Palvelimelle lähetettävä sisältö. |
Asiakasvirhe (4XX-vastaus) | Vastaanottaessaan asiakasvirheestä ilmoittavan vastauskoodin Flow:
|
Palvelinvirhe (5XX- tai 429-vastaus) | Vastaanottaessaan palvelinvirheestä ilmoittavan vastauskoodin Flow:
|
Palautetut tiedot
Pääset palautettuihin tietoihin tätä toimintoa seuraavissa vaiheissa, kun käytät muuttujaa nimeltä sendHttpRequest
, joka sisältää kaikki HTTP-vastauksen tiedot. Halutessasi voit käyttää Suorita koodi ‑toimintoa vastauksen body
-osan jäsentämiseen myöhempiä työnkulun vaiheita varten, kuten alla olevassa esimerkissä.
Jos Lähetä HTTP-pyyntö ‑toimintoa käytetään useita kertoja samassa työnkulussa, muuttujan nimeen lisätään luku. Esimerkiksi työnkulussa, jossa käytetään Lähetä HTTP-pyyntö ‑toimintoa kahdesti, palautettujen tietojen ensimmäinen muuttuja on sendHttpRequest
ja toinen muuttuja on sendHttpRequest1
. Tätä nimeä ei voi muokata.
Vastauskoodit
Seuraavassa taulukossa kuvataan, miten Flow käsittelee HTTP-vastauskoodia sen jälkeen, kun se on saanut vastauksen.
HTTP-vastauskoodi | Miten Flow käsittelee vastauskoodin |
---|---|
2XX tai 3XX Success | Flow merkitsee HTTP-pyynnön onnistuneeksi ja suorittaa työnkulussa seuraavana olevat toiminnot. |
4XX-virheet, 5XX- ja 429-virheet | Toiminnon määrityksistä riippuen Flow:
| Muu vastauskoodi | Jos vastaus palauttaa koodin, jota ei ole kuvattu tässä taulukossa, tai se aikakatkaistaan toimintojen uudelleenyritysten yhteydessä, Flow merkitsee HTTP-pyynnön epäonnistuneeksi, saa työnkulun suorituksen epäonnistumaan eikä suorita seuraavia työnkulun toimintoja. |
Salaisuudet
Salaisuuksia käytetään arkaluonteisten tietojen, kuten käyttöoikeustunnuksen tai salasanojen, turvalliseen tallentamiseen Lähetä HTTP-pyyntö -toimintoa varten. Salaisuudet luodaan ja niitä hallitaan Flow > Asetukset ‑sivulla. Salaisuus sisältää käyttäjänimen, arvon ja kuvauksen. Viittaa salaisuuteen Liquid-muuttujana (kuten {{secrets.handle}}
) tai Lisää salaisuus ‑vaihtoehdolla määrittäessäsi URL:ää, ylätunnisteen arvoa tai Runko-kenttiä. Salaiset arvot eivät koskaan näy Flow’n käyttöliittymässä, ja ne poistetaan työnkulun suorituslokeista.
Käynnistimet
Lähetä HTTP-pyyntö ‑toimintoa voidaan käyttää missä tahansa työnkulussa.
Esimerkit
Esimerkki 1: Lähetä HTTP-pyyntö ulkoiseen palveluun
Tässä esimerkissä lähetät HTTP-pyynnön ulkoiseen palveluun Flow'n avulla.
Ennen kuin aloitat, konfiguroi verkkopalvelu, joka vastaanottaa HTTP-pyyntöjä ja tallentaa näiden testauspyyntöjen tiedot, kuten Request Catcher. Ole varovainen, kun lähetät arkaluonteisia tietoja (kuten salasanoja tai API-avaimia) kolmannen osapuolen palveluun.
Ohjeet:
Valitse Tuotteen tila päivitetty -käynnistin, jonka avulla voit testata tätä työnkulkua muuttamalla tuotteen tilaa.
Lisää työnkulkuun Lähetä HTTP-pyyntö ‑toiminto ja liitä se käynnistimeen. Avaa sitten määrityspaneeli klikkaamalla Lähetä HTTP-pyyntö ‑vaihetta.
- Kirjoita HTTP-menetelmä -kenttään
POST
. - Anna URL-kentässä URL-osoite, jota vastaan testaat, kuten
https://yourFlowTest.requestcatcher.com/test
. - Syötä Ylätunnisteet-osiossa ylätunniste, jossa Avain on
Content-Type
ja Arvo ontext/plain
. - Lähetä tuotteen nimi ja päivitetty tila käynnistimestä kirjoittamalla leipätekstiosioon
{{product.title}}
ja{{product.status}}
.
- Kirjoita HTTP-menetelmä -kenttään
Aktivoi työnkulku.
Testaa sitä muuttamalla tuotteen tila esimerkiksi luonnoksesta aktiiviseksi.
Tarkkaile tuloksia ulkoisessa testauspalvelussa, kuten
https://yourFlowTest.requestcatcher.com/
tässä esimerkissä.
Esimerkki 2: Käytä Suorita koodi ‑toimintoa HTTP-vastauksen jäsentämiseen
Käytä tässä esimerkissä Flow’ta HTTP-pyynnön lähettämiseen ulkoiseen palveluun ja Suorita koodi ‑toimintoa HTTP-vastauksen body
jäsentämiseen myöhempiä työnkulun vaiheita varten.
Ennen kuin aloitat, valitse verkkopalvelu, joka vastaanottaa HTTP-pyyntöjä ja palauttaa dataa, kuten Postman Echo. Ole varovainen, kun lähetät arkaluonteisia tietoja (kuten salasanoja tai API-avaimia) kolmannen osapuolen palveluun.
Ohjeet:
- Valitse Tuotteen tila päivitetty -käynnistin, jonka avulla voit testata tätä työnkulkua muuttamalla tuotteen tilaa.
- Lisää työnkulkuun Lähetä HTTP-pyyntö ‑toiminto ja liitä se käynnistimeen. Avaa sitten määrityspaneeli klikkaamalla Lähetä HTTP-pyyntö ‑vaihetta.
- Kirjoita HTTP-menetelmä -kenttään
POST
. - Anna URL-kentässä URL-osoite, jota vastaan testaat, kuten
https://postman-echo.com/post
. - Syötä Ylätunnisteet-osiossa ylätunniste, jossa Avain on
Content-Type
ja Arvo onapplication/json
. - Lisää Runko-osioon esimerkki-JSON palataksesi työnkulkuun, kuten: ``` { "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
- Kirjoita HTTP-menetelmä -kenttään
3. Lisää työnkulkuusi **Suorita koodi** ‑toiminto ja yhdistä se **Lähetä HTTP-pyyntö** ‑toimintoon. Avaa sitten määrityspaneeli klikkaamalla **Suorita koodi** ‑vaihetta.
- Sisällytä **Määritä syötteet** ‑kenttään `sendHTTPrequest` ‑objektin palauttama `body` , kuten: ```
query{
sendHttpRequest {
body
}
}
- **Määritä tulosteet** ‑kentässä, joka on määritelty tulosteskeemassa, kuten: ```
type Output { productTitle: String! productStatus: String! }
- Jäsennä vastaus **Kirjoita koodi** ‑kentässä `JSON.parse` ‑menetelmällä ja varmista, että palauttamasi tiedot vastaavat tulosteskeemassa määriteltyjä muotoa ja tyyppejä, kuten: ```
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
}
}
- Lisää työnkulkuun Kirjaa tulos ‑toiminto ja liitä se Suorita koodi ‑toimintoon. Avaa sitten määrityspaneeli klikkaamalla Suorita koodi ‑vaihetta.
- Sisällytä Tuloste-kenttään Suorita koodi ‑vaiheen palauttamat muuttujat, kuten: ``` Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
5. Aktivoi työnkulku.
6. Testaa sitä muuttamalla tuotteen tila esimerkiksi **luonnoksesta** **aktiiviseksi**.
7. Tarkkaile **[Flow / viimeisimmät suoritukset](https://admin.shopify.com/apps/flow/activity)** ‑sivulta saatua suoritusta ja varmista, että **Lokin tuloste** ‑vaiheen arvot vastaavat **Lähetä HTTP-pyyntö** ‑tulosteen palauttamia arvoja.
## Mallit {#templates}
### Ilmoita tilausten täyttämisen tarjoajalle tulevista tilauksista
Lähetä HTTP-pyyntö tilausten täyttämisen tarjoajalle, kun tilauksessa on ”Varasto”-tunniste Order Tagger -sovelluksessa. [Näytä malli](https://shopify.com/admin/apps/flow/editor/templates/e99f15ae-454b-443b-b6c7-7dc4b2afc129)
### Uusien tilausten lähettäminen Airtableen
Lähetä luodut Airtableen. [Näytä malli](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-ab85-7157-90e2-7de1149201a7).
### Kaikkien olemassa olevien ja uusien tuotteiden lähettäminen Airtableen
Etsi 10 minuutin välein tuotteet, joita ei ole lähetetty Airtableen (tunnisteen mukaan), ja lähetä ne Airtableen. [Näytä malli](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-a789-7f9d-a64e-a9be2b544e82).
### Tuotteiden päivitys erissä Airtableen tallennetuilla tuotetiedoilla
Päivitä tuotteet erissä Airtableen tallennetuilla tuotetiedoilla. [Näytä malli](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-b499-7384-a418-919d752d7a8b).
### Lahjakorttien vanhentumisilmoitukset asiakkaille SendGridillä
Hae joka päivä SendGridin avulla kaikki seuraavan seitsemän päivän aikana vanhentuvat lahjakortit, ja lähetä asiakkaille niistä sähköpostimuistutus. [Näytä malli](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-a4b9-7ff0-8181-9de43d95ae1e).
### Sähköpostin lähettäminen mukautettuja tuotteita tilaaville asiakkaille SendGridillä
Lähetä maksutapahtumasähköposti SendGridillä, kun asiakas tilaa mukautetun tuotteen. [Näytä malli](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-adc1-7139-9644-43ba3a4c71eb)