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:

Lähetä HTTP-pyyntö ‑toiminnossa käytetyt kentät
KenttäKuvaus
HTTP-menetelmäMenetelmä HTTP-pyynnön lähettämiseksi. Lähetä HTTP-pyyntö ‑toiminto tukee seuraavia menetelmiä:
  • Get - Lähettää tietopyynnön palvelimelta.
  • Delete - Poistaa resurssin palvelimelta.
  • Head - Noutaa palvelimen HTTP-vastausten otsikot.
  • Options - Noutaa palvelimen tukemat vaihtoehdot ja ominaisuudet.
  • Patch - Päivittää resurssin osittain palvelimessa.
  • Put - Päivittää resurssin palvelimessa.
  • Post - Luo tai korvaa resurssin palvelimessa.
URL-osoiteSen palvelimen URL-osoite, johon HTTP-pyyntö lähetetään.
OtsikotHTTP-pyynnön avain ja arvopari. Voit syöttää useita avainarvopareja.
RunkoPalvelimelle lähetettävä sisältö.
Asiakasvirhe (4XX-vastaus)Vastaanottaessaan asiakasvirheestä ilmoittavan vastauskoodin Flow:
  • yrittää uudelleen – uusia yrityksiä enintään 24 tunnin ajan, kunnes se saa eri vastauskoodin tai aikakatkaistaan
  • epäonnistuu – työnkulun suoritus epäonnistuu
  • ohittaa – virhe ohitetaan ja työnkulun suorittamista jatketaan.
Palvelinvirhe (5XX- tai 429-vastaus)Vastaanottaessaan palvelinvirheestä ilmoittavan vastauskoodin Flow:
  • yrittää uudelleen – uusia yrityksiä enintään 24 tunnin ajan, kunnes se saa eri vastauskoodin tai aikakatkaistaan
  • epäonnistuu – työnkulun suoritus epäonnistuu
  • ohittaa – virhe ohitetaan ja työnkulun suorittamista jatketaan.

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.

Miten Flow käsittelee HTTP-vastauskoodeja
HTTP-vastauskoodiMiten Flow käsittelee vastauskoodin
2XX tai 3XX SuccessFlow merkitsee HTTP-pyynnön onnistuneeksi ja suorittaa työnkulussa seuraavana olevat toiminnot.
4XX-virheet,
5XX- ja 429-virheet
Toiminnon määrityksistä riippuen Flow:
  • yrittää uudelleen – uusia yrityksiä enintään 24 tunnin ajan, kunnes se saa eri vastauskoodin tai aikakatkaistaan
  • epäonnistuu – työnkulun suoritus epäonnistuu
  • ohittaa – virhe ohitetaan ja työnkulun suorittamista jatketaan.
Muu vastauskoodiJos 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:

  1. Valitse Tuotteen tila päivitetty -käynnistin, jonka avulla voit testata tätä työnkulkua muuttamalla tuotteen tilaa.

  2. 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 on text/plain.
    • Lähetä tuotteen nimi ja päivitetty tila käynnistimestä kirjoittamalla leipätekstiosioon {{product.title}} ja {{product.status}}.
  3. Aktivoi työnkulku.

  4. Testaa sitä muuttamalla tuotteen tila esimerkiksi luonnoksesta aktiiviseksi.

  5. 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:

  1. Valitse Tuotteen tila päivitetty -käynnistin, jonka avulla voit testata tätä työnkulkua muuttamalla tuotteen tilaa.
  2. 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 on application/json.
    • Lisää Runko-osioon esimerkki-JSON palataksesi työnkulkuun, kuten: ``` { "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
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
}
}
  1. 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)
Etkö löydä hakemaasi vastausta? Autamme mielellämme.