Shopify Flow -ehdot
Shopify Flow'ssa ehtoja käytetään määrittämään, mitä polkua työnkulussa seurataan. Näin yleensä tarkastetaan, toteutetaanko toiminto. Kun asetat ehdon, valitset tarkistettavan tietokentän (kuten tuotenimike), loogisen operaattorin (kuten equal to
) ja arvon, johon vertaamalla tarkistus tehdään (Blue jeans
).
Tällä sivulla
Ehtojen esimerkkejä
Tarkista, vastaako vähintään yksi listan tuote ehtoa
Tässä esimerkissä näkyy tyypillinen ehto, joka tarkistaa, vastaako vähintään yksi listan tuote tiettyä arvoa.
Tässä tapauksessa ehto tarkistaa, onko jollakin tilauksen tuotteista tunniste presale
. Voit rakentaa tämän ehdon valitsemalla order / lineItems / product / tags
. Oletuksena Flow valitsee loogiseksi operaattoriksi Vähintään yksi:
Vähintään yksi -osat ovat listaoperaattoreita, ja niillä käsitellään useiden listatuotteiden vastaavuuksia. On yhtä kuin -osa on kenttätason operaattori, joka määrittää yksittäisen listatuotteen vastaavuuden.
Tarkista, eikö mikään listan tuotteista vastaa ehtoa
Tässä esimerkissä näkyy tyypillinen ehto, joka tarkistaa, eikö yksikään listan tuotteista vastaa tiettyä arvoa. Yksi yleinen huomioitava ongelma on se, että listat voivat olla tyhjiä. Kun lista on tyhjä, ehdon käsittelee listaoperaattori (tässä tapauksessa Ei mikään).
Tässä tapauksessa ehto tarkistaa, eikö mikään tuotetunnisteista ole yhtä kuin foo:
Ehto palauttaa arvon true
, jos (1) tuotetunnisteita ei ole tai (2) mikään tunnisteista ei ole foo. Muussa tapauksessa se palauttaa arvon false
.
Tarkista, vastaako listan jokin tuote useita kriteereitä
Tässä esimerkissä näkyy tyypillinen ehto, joka tarkistaa, vastaako vähintään yksi listan tuote kahta erillistä kriteeriä.
Tässä tapauksessa ehto tarkistaa, onko jollakin tilauksen tuotteista tunniste presale
ja onko sillä productType clothing
.
Voit rakentaa tämän ehdon näin:
- Valitse order / lineItems / product / tags ensimmäiseksi kriteeriksi.
- Valitse Lisää kriteerit samalle tuotteelle -kohta lineItems-listassa. Huomautus: väärän listatuotteen valitseminen tässä on myös yksi yleinen virhe.
- Valitse lineItems_item ylätason objektiksi ja sitten product / productType toiseksi kriteeriksi. Huomautus: väärän objektin valitseminen tässä on myös yksi yleinen virhe.
- Yhdistä kaksi kriteeriä valitsemalla AND.
- Syötä arvot
presale
jaclothing
kahdelle kriteerille.
Flow'ssa käytettävät tietotyypit
Jokaisen Flow-ehdon ensimmäisen arvon tiedot ovat peräisin kaupastasi, ja ne tuodaan GraphQL Admin API:sta.
Flow tukee seuraavanlaisia tietoja:
- Liukuluku: Liukulukuarvot ovat desimaalilukuja. Esimerkiksi: 4,25.
- Kokonaisluku: Kokonaislukuarvot ovat kokonaislukuja, joissa ei ole desimaaleja. Esimerkiksi 42.
- Päivämäärä: Päivämääräarvot ovat päivämäärän numeerinen esitystapa. Esimerkiksi 01012021.
- Merkkijono: Merkkijonon arvot ovat tekstiä. Merkkijonoarvoja käyttävissä vertailuissa kirjainkoko ei ole merkitsevä.
- Totuusarvo: Totuusarvot ovat joko tosia tai epätosia.
- Lueteltu tyyppi (Enum): Enum-arvot ovat tietojoukkoja, joiden avulla muuttuja voi olla ennalta määritettyjen vakioiden joukko.
Loogiset operaattorit
Loogiset operaattorit määrittävät, miten ehtoasi sovelletaan. Ehdot voivat tarkistaa yksinkertaisia ominaisuuksia, kuten ylittääkö tilauksen kokonaissumma tietyn summan tai hyväksyykö asiakas markkinoinnin Loogiset konnektiivit voivat myös tarkistaa monimutkaisempia ominaisuuksia.
Operaattorit voivat olla joko kenttätason operaattoreita, kuten Yhtä kuin tai Ei yhtä kuin, tai listaoperaattoreita, kuten Vähintään yksi tai Ei mikään.
Kenttätason operaattorit
Kenttätason operaattoreilla verrataan kahta arvoa. Flow voi käyttää seuraavia operaattoreita:
- On yhtä suuri kuin
- Ei yhtä kuin
- Suurempi kuin ja suurempi tai yhtä suuri kuin
- Pienempi kuin ja pienempi tai yhtä suuri kuin
- Mikä tahansa
- Ei mikään seuraavista
- Sisältää
- Ei sisällä
- Alkaa
- Ei ala
- Päättyy
- Ei pääty
On yhtä suuri kuin
Yhtä kuin vertaa arvoja ja tarkistaa, ovatko ne samat. Seuraavassa esimerkissä order.currentTotalDiscountsSet.shopMoney.amount
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, 50.
Jos ensimmäinen arvo on yhtä kuin 50, ehto on tosi. Tilaus peruutetaan.
Ei yhtä kuin
Ei yhtä kuin vertaa arvoja ja tarkistaa, eivätkö ne ole samoja. Seuraavassa esimerkissä order.currentTotalDiscountsSet.shopMoney.amount
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, 50.
Jos ensimmäinen arvo on yhtä kuin 93, ehto on tosi. Tilaus peruutetaan.
Suurempi kuin ja suurempi tai yhtä suuri kuin
Suurempi kuin ja Suurempi tai yhtä kuin vertaavat arvoja ja tarkistavat, onko ensimmäinen arvo suurempi kuin tai suurempi tai yhtä kuin toinen arvo. Seuraavassa esimerkissä order.currentTotalDiscountsSet.shopMoney.amount
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, 50.
Jos kaupastasi haettu arvo on 137, ehto on tosi, koska 137 on suurempi kuin 50. Tilaus peruutetaan.
Pienempi kuin ja pienempi tai yhtä suuri kuin
Pienempi kuin ja Pienempi tai yhtä kuin vertaavat arvoja ja tarkistavat, onko ensimmäinen arvo pienempi kuin tai pienempi tai yhtä kuin toinen arvo. Seuraavassa esimerkissä order.currentTotalDiscountsSet.shopMoney.amount
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, 50.
Jos kaupastasi haettu arvo on 47, ehto on tosi, koska 47 on pienempi tai yhtä suuri kuin 50. Tilaus peruutetaan.
Vähintään yksi
Vähintään yksi -operaattori tarkistaa, onko kenttä yhtä kuin mikä tahansa annetun listan arvo. Tarkistettavat arvot syötetään yksitellen ja sen jälkeen painetaan Enter-näppäintä (tunnisteiden tapaan). Vähintään yksi -operaattorin käyttäminen tyhjässä matriisissa johtaa väärään arviointiin. Seuraavassa esimerkissä order.lineitem.product.title
-arvo noudetaan kaupan tiedoista ja sitä verrataan toiseen arvojoukkoon: pineapple, guava, kiwi.
Jos kaupastasi otettu arvo on guava, ehto on tosi, koska guava sisältyy matriisiin ananas, guava, kiwi. Tilaus peruutetaan.
Ei mikään
Ei mikään -operaattori tarkistaa, eikö kenttä ole yhtä kuin mikä tahansa annetun listan arvo. Tarkistettavat arvot syötetään yksitellen ja sen jälkeen painetaan Enter-näppäintä (tunnisteiden tapaan). Seuraavassa esimerkissä order.lineitem.product.title
-arvo noudetaan kaupan tiedoista ja sitä verrataan toiseen arvojoukkoon: pineapple, guava, kiwi.
Jos kaupastasi otettu arvo on raspberry, ehto on tosi, koska raspberry ei sisälly matriisiin pineapple, guava, kiwi. Tilaus peruutetaan.
Sisältää
Sisältää vertaa arvoja ja tarkistaa, sisältyykö joihinkin ensimmäisiin syötettyihin arvoihin toisen arvon syöttötietoja. Seuraavassa esimerkissä order.lineitem.product.title
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, scrape.
Jos kauppasi tiedoista otettu arvo on "skyscraper", ehto on tosi, koska merkkijonoon "skyscraper" sisältyy tarkka merkkijono "scrape". Tilaus peruutetaan.
Ei sisällä
Ei sisällä vertaa arvoja ja tarkistaa, eikö joihinkin ensimmäisiin syötettyihin arvoihin sisälly toisen arvon syöttötietoja. Seuraavassa esimerkissä order.lineitem.product.title
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, scrape.
Jos kauppasi tiedoista otettu arvo on scrap-metal, ehto on tosi, koska merkkijono scrape sanatarkasti kirjoitettuna ei sisälly merkkijonoon scrap-metal. Tilaus peruutetaan.
Alkaa
Alkaa vertaa arvoja ja tarkistaa, alkaako ensimmäinen arvo toisen arvon tiedoilla. Seuraavassa esimerkissä order.shippingAddress.country
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, United.
Jos kaupastasi haettu arvo on "United Kingdom", ehto on tosi, koska merkkijono "United Kingdom" alkaa merkkijonolla "United". Tilaus peruutetaan.
Ei ala
Ei ala vertaa arvoja ja tarkistaa, eikö ensimmäinen arvo ala toisen arvon tiedoilla. Seuraavassa esimerkissä order.shippingAddress.country
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, United.
Jos kaupastasi haettu arvo on "Canada", ehto on tosi, koska merkkijono "United Kingdom" ei ala merkkijonolla "Canada". Tilaus peruutetaan.
Päättyy
Päättyy vertaa arvoja ja tarkistaa, loppuuko ensimmäinen arvo toisen arvon tietoihin. Seuraavassa esimerkissä order.lineitems.product.title
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, last-available.
Jos kaupastasi otettu arvo on athletic socks last-available, ehto on tosi, koska merkkijono athletic socks last-available päättyy merkkijonoon last-available. Tilaus peruutetaan.
Ei pääty
Ei pääty vertaa arvoja ja tarkistaa, eikö ensimmäinen arvo lopu toisen arvon tietoihin. Seuraavassa esimerkissä order.lineitems.product.title
-arvo noudetaan kauppasi tiedoista ja sitä verrataan toiseen arvoon, last-available.
Jos kaupastasi otettu arvo on "urheilusukat uusi", ehto on tosi, koska merkkijono "urheilusukat uusi" ei pääty merkkijonoon "viimeinen saatavilla oleva". Tilaus peruutetaan.
Nolla tai tyhjät operaattorit
Tyhjä tai ei ole olemassa
Tietojesi jotkin kentät voivat olla tyhjiä. Esimerkiksi order.cancelReason
palauttaa arvon null
, jos tilausta ei peruuteta. Valitse Tyhjä tai ei ole olemassa, jos haluat palauttaa arvon true
, kun kenttä on tyhjä, tai arvon null
ja false
, jos se on määritetty.
Ei tyhjä ja on olemassa
Tietojesi jotkin kentät voivat olla tyhjiä. Esimerkiksi order.cancelReason
palauttaa arvon null
, jos tilausta ei peruuteta. Valitse Ei tyhjä ja on olemassa, jos haluat palauttaa arvon true
, kun kenttä ei ole tyhjä, ja arvon false
, kun se on tyhjä.
Listaoperaattorit
Listaoperaattoreita yhdistetään kenttätason operaattoreihin, jotta voit tarkistaa listoihin sisältyvien tietojen ehdot.
Kuten ”vähintään yksi” -esimerkissä, haluat ehkä tarkistaa, sisältääkö tilaus tietyn tuotteen (jonka sijainti on order.lineItems
), jolla on tietty tunniste (lista kohdassa order.lineItems.product.tags
). Molemmissa tapauksissa esimerkissä käytetään Vähintään yksi -listaoperaattoria.
Flow tarjoaa kolme operaattoria, jotka toimivat listojen kanssa: Vähintään yksi, Ei mikään ja Kaikki.
Vähintään yksi
Useimmat listoja sisältävät ehdot haluavat käyttää Vähintään yksi -operaattoria. Tämä operaattori palauttaa arvon true
, jos mikä tahansa listan tuotteista vastaa ehtoa. Jos esimerkiksi haluat tarkistaa, sisältääkö tilaus tietyllä tunnisteella varustetun tuotteen, käytä Vähintään yksi -operaattoria. Kun lista on tyhjä tai ehto ei täyty, ehto palauttaa arvon false
.
Ei mikään
Joissakin tapauksissa haluat ehkä tarkistaa, eikö lista sisällä tuotetta. Paras tapa tämän ehdon rakentamiseen on vaihtaa listaoperaattoriksi Ei mikään. Tämä operaattori palauttaa arvon true
, jos mikään listan tuotteista ei vastaa ehtoa. Mikä tärkeintä, se palauttaa arvon true
myös silloin, jos lista on tyhjä. Jos esimerkiksi haluat tarkistaa, eikö tuote sisällä tunnistetta presale
, käytät lauseketta None of product tags is equal to presale
.
Kaikki
Joissakin tapauksissa haluat ehkä tarkistaa, vastaavatko kaikki listan tuotteet ehtoa. Voit esimerkiksi haluta tarkistaa, onko kaikilla tilauksen tuotteilla tietty tuotemyyjä, jonka nimi on Acme
. Tällöin käytät lauseketta All of order line items have a product.vendor equal to Acme
.
Tilausehdot
Voit luoda työnkulkuja, joissa on useita erilaisiin toimintoihin johtavia ehtoja. Ehtojen järjestyksellä on merkitystä. Ehtojen tarkistus alkaa työnkulun alussa ja etenee systemaattisesti jokaisen ehdon kautta. Tarkistus lakkaa, kun ehto täyttyy.
Useiden kriteerien yhdistäminen yhteen ehtoon
Kun rakennat ehtoa, voit asettaa useita kriteereitä. Voit valita, miten nämä erilliset kriteerit yhdistetään.
Jos kaikki ehdot täyttyvät
Jos valitset Jos kaikki ehdot täyttyvät, vastaus, joka on tosi, saadaan vain, jos kaikki kriteerit ovat tosia. Tämä on kuten AND
-lauseke ohjelmoinnissa.
Voit esimerkiksi luoda työnkulun, joka merkitsee asiakkaat, jotka ovat Kanadassa ja käyttävät yli 500 dollaria yhteen tilaukseen.
Työnkulku lisää tunnisteen asiakkaaseen vain, jos asiakkaan sijainti on Kanada ja hän käyttää tilaukseen yli 500 dollaria. Jos toinen näistä ehdoista on epätosi, asiakkaaseen ei lisätä tunnistetta.
Jos jokin ehto täyttyy
Jos valitset Jos jokin ehto täyttyy, vastaus, joka on tosi, saadaan, jos jokin määrittämäsi kriteeri on tosi. Tämä on kuten OR
-lauseke ohjelmoinnissa.
Luot esimerkiksi työnkulun, joka lisää tunnisteita tilauksiin, joiden riskitasoa pidetään korkeana tai keskitasoisena.
Työnkulku merkitsee tilauksen, jos sen riskitaso on korkea tai keskitasoinen. Tilaus merkitään, jos jompi kumpi ehdoista on tosi.
Ehtojen ja toimintojen yhdistäminen
Voit yhdistää ehtoja yhdeksi suureksi ehdoksi. Kun ehdot yhdistetään, kaikkien ehtojen pitää täyttyä, jotta koko ehto on tosi. Jos jokin ehto ei täyty, koko ehto on epätosi. Seuraavassa esimerkissä asiakkaan täytyy hyväksyä markkinointimateriaalit ja tilauksen kokonaissumman täytyy yrittää tietty kynnys.
Vastaavasti voit yhdistää toimintoja, niin että useita toimintoja voidaan suorittaa. Seuraavassa esimerkissä käytetään useita ehtoja, jotka tarkistavat, onko asiakas oikeutettu kanta-asiakasohjelman jäsenyyteen kaupassa kulutetun kokonaissumman perusteella. Yllä olevassa esimerkissä seuraavat ehdot on tarkistettu siinä järjestyksessä, jossa ne näkyvät:
- Jos kokonaishinta on yli 1 000 dollaria ja asiakas suostuu markkinointiin, merkitse hänet kultatason tunnisteella.
- Jos kokonaishinta on alle 1 000 mutta yli 500 dollaria ja asiakas suostuu markkinointiin, merkitse hänet hopeatason tunnisteella.
- Jos asiakas on kuluttanut yli 200 dollaria ja suostuu markkinointiin, merkitse hänet pronssitason tunnisteella.
Staattiset ja dynaamiset tiedot ehdoissa
Yleensä ehdon toinen arvo on staattinen, manuaalisesti syötetty arvo (kuten product.title == "your title"
). Tämä arvo pysyy samana aina, kun työnkulku suoritetaan.
Voit myös käyttää dynaamisia arvoja, jos toisen arvon kentässä näkyy </>
-symboli. Dynaamiset arvot noudetaan kauppasi tiedoista aina, kun työnkulku suoritetaan. Jos haluat käyttää dynaamista arvoa, klikkaa </>
-symbolia ja valitse vertailuun käytettävä arvo. Dynaamiset arvot eivät ole käytettävissä kaikissa kentissä.
Voit esimerkiksi luoda työnkulun, joka merkitsee tilauksen, jos tilauksen laskutusosoitteen maa on sama kuin toimitusosoitteen maa.
Tässä esimerkissä ensimmäinen ja toinen arvo noudetaan kauppasi tiedoista sen sijaan, että määrittäisit manuaalisesti staattisen merkkijonon, jota vertaillaan toiseen arvoon. Jos asiakkaan antaman laskutusosoitteen maa on sama kuin maa, jonka asiakas on ilmoittanut toimitusosoitteessaan, ehto on tosi ja tilaus merkitään.
Saatat joskus joutua käyttämään dynaamisia tietoja, jotka ovat väärän tyyppisiä. Saatat esimerkiksi joutua vertaamaan merkkijonona tallennettua numeroa toiseen numeroon. Tässä tapauksessa voit konvertoida tiedot oikean tyyppisiksi Suorita koodi -vaihtoehdolla.