Ehdot Shopify Flow'ssa

Ehdot jatkavat työnkulkua, kun tietyt säännöt täyttyvät, kuten if-then-lausekkeen alussa. Kun määrität ehdon, valitset kriteerit GraphQL Admin APIn kentistä (kuten product.title), loogisen operaattorin (kuten on yhtä suuri kuin) ja arvon, jota vasten tarkistus tehdään (kuten Siniset farkut). Kun työnkulku arvioi ehdon, Flow tarkistaa työnkulussa määritetyn arvon kaupastasi palautettua arvoa vasten ja näyttää sitten tulokset työnkulun suorituksessa. Ymmärtääksesi paremmin ehtojen määrittämiseen käytettävissä olevia kenttiä ja arvoja opettele esikatselemaan kaupan tietoja.

Lue lisää ehtojen perusteista.

Flow'ssa käytettävät tietotyypit

Kun määrität ehdon, valitset kriteerin Admin APIn käytettävissä olevista kentistä, ja Flow arvioi sen kaupastasi palautettua arvoa vasten.

Flow tukee seuraavanlaisia tietoja:

  • Liukuluku: Liukuluvut ovat lukuja, joissa on desimaaliosa. Esimerkiksi 4,25.
  • Kokonaisluku: Kokonaisluvut ovat lukuja, joissa ei ole desimaaliosaa. Esimerkiksi 42.
  • Päivämäärä: Päivämääräarvot ovat päivämäärän numeerinen esitysmuoto. Esimerkiksi 01012021.
  • Merkkijono: Merkkijonot ovat tekstiä. Merkkijonoarvoja käyttävät vertailut eivät ole kirjainkoosta riippuvaisia.
  • Totuusarvo: Totuusarvot ovat joko tosia tai epätosia.
  • 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. Ehdoilla voidaan tarkistaa yksinkertaisia ominaisuuksia, kuten onko tilauksen kokonaissumma tietyn summan yläpuolella tai hyväksyykö asiakas markkinoinnin. Loogisilla operaattoreilla voidaan tarkistaa myös monimutkaisempia ominaisuuksia.

Operaattorit voivat olla joko kenttätason operaattoreita, kuten on yhtä suuri kuin tai ei ole yhtä suuri kuin, tai luettelo-operaattoreita, kuten on jokin seuraavista tai ei ole mikään seuraavista.

Kenttätason operaattorit

Kenttätason operaattoreita käytetään kahden arvon vertailuun. Flow'ssa voidaan käyttää seuraavia operaattoreita:

Shopify Flow'ssa käytettävissä olevien kenttätason operaattoreiden luettelo.
OperaattoriKuvausEsimerkki
On yhtä suuri kuin Vertaa arvoja ja tarkistaa, ovatko ne samat. Arvo order.currentTotalDiscountsSet.shopMoney.amount noudetaan kauppasi tiedoista, ja sitä verrataan toiseen arvoon, joka on 50.

Jos tilauksen kokonaisalennukset ovat tasan 50, ehto on tosi.
Ei ole yhtä suuri kuin Vertaa arvoja ja tarkistaa, ovatko ne eri suuret. Arvo order.currentTotalDiscountsSet.shopMoney.amount noudetaan kauppasi tiedoista, ja sitä verrataan toiseen arvoon, joka on 50.

Jos tilauksen kokonaisalennukset eivät ole tasan 50, ehto on tosi.
Suurempi kuin ja Suurempi tai yhtä suuri kuin Vertaa arvoja ja tarkistaa, onko ensimmäinen arvo suurempi tai yhtä suuri kuin toinen arvo. Arvo order.currentTotalDiscountsSet.shopMoney.amount noudetaan kauppasi tiedoista, ja sitä verrataan toiseen arvoon, joka on 50.

Jos tilauksen kokonaisalennusten arvo on 137, ehto on tosi, koska 137 on suurempi kuin 50.
Pienempi kuin ja Pienempi tai yhtä suuri kuin Vertaa arvoja ja tarkistaa, onko ensimmäinen arvo pienempi tai yhtä suuri kuin toinen arvo. Arvo order.currentTotalDiscountsSet.shopMoney.amount noudetaan kauppasi tiedoista, ja sitä verrataan toiseen arvoon, joka on 50.

Jos tilauksen kokonaisalennukset ovat 47, ehto on tosi, koska 47 on yhtä suuri tai pienempi kuin 50.
On jokin seuraavista Tarkistaa, onko kentän arvo jokin annetun luettelon arvoista. Arvot on annettava yksitellen, ja jokaisen arvon jälkeen on painettava Enter-näppäintä (samoin kuin tunnisteiden kanssa). Käyttö tyhjän taulukon kanssa johtaa epätosi-arviointiin. Arvoa order.lineitem.product.title verrataan seuraaviin: pineapple, guava, kiwi.

Jos rivikohteen tuotenimike on guava, ehto on tosi, koska ”guava” sisältyy antamaasi luetteloon.
Ei ole mikään seuraavista Tarkistaa, eikö kentän arvo ole mikään annetun luettelon arvoista. Arvoa order.lineitem.product.title verrataan seuraaviin: pineapple, guava, kiwi.

Jos rivikohteen tuotenimike on raspberry, ehto on tosi, koska ”raspberry” ei sisälly antamaasi luetteloon.
Sisältää Vertaa arvoja ja tarkistaa, sisältääkö ensimmäinen syöte toisen syötteen. Arvoa order.lineitem.product.title verrataan seuraaviin: berry.

Jos rivikohteen tuotenimike on strawberry, ehto on tosi, koska ”berry” sisältyy sanaan ”strawberry”.
Ei sisällä Vertaa arvoja ja tarkistaa, eikö ensimmäinen syöte sisällä toista syötettä. Arvoa order.lineitem.product.title verrataan sanaan: berry.

Jos rivikohdan tuotenimike on apple, ehto on tosi, koska ”berry” ei sisälly sanaan ”apple”.
Alkaa Vertailee arvoja ja tarkistaa, alkaako ensimmäinen arvo toisella arvolla. Arvoa order.shippingAddress.country verrataan sanaan: United.

Jos tilauksen toimitusosoitteen maa on United Kingdom, ehto on tosi, koska ”United Kingdom” alkaa sanalla ”United”.
Ei ala Vertailee arvoja ja tarkistaa, ettei ensimmäinen arvo ala toisella arvolla. Arvoa order.shippingAddress.country verrataan sanaan: United.

Jos tilauksen toimitusosoitteen maa on Canada, ehto on tosi, koska ”United Kingdom” ei ala sanalla ”Canada”.
Päättyy Vertailee arvoja ja tarkistaa, päättyykö ensimmäinen arvo toisella arvolla. Arvoa order.lineitems.product.title verrataan sanaan: pie.

Jos rivikohdan tuotenimike on key lime pie, ehto on tosi, koska ”key lime pie” päättyy sanaan ”pie”.
Ei pääty Vertailee arvoja ja tarkistaa, ettei ensimmäinen arvo pääty toisella arvolla. Arvoa order.lineitems.product.title verrataan sanaan: pie.

Jos rivikohdan tuotenimike on chocolate cake, ehto on tosi, koska ”chocolate cake” ei pääty sanaan ”pie”.

Null- ja tyhjä-operaattorit

Luettelo null-arvon ja tyhjän arvon operaattoreista Shopify Flow -ehdoissa.
OperaattoriKuvausTosi/epätosi-ehto
Tyhjä tai ei olemassaTarkistaa, onko kenttä tyhjä (sillä ei ole arvoa) tai eikö sitä ole olemassa (on null). Palauttaa arvon tosi, kun kenttä on tyhjä tai null, ja arvon epätosi, jos se on olemassa.
Ei tyhjä ja olemassaTarkistaa, onko kenttä olemassa ja ettei se ole tyhjä tai null. Palauttaa arvon tosi, kun kenttä ei ole tyhjä ja on olemassa, ja arvon epätosi, kun se on tyhjä.

Luettelo-operaattorit

Luettelo-operaattoreita yhdistetään kenttätason operaattoreihin, jotta voit tarkistaa luetteloihin sisältyvien tietojen ehtoja.

Kuten ”vähintään yksi” -esimerkissä, saatat haluta tarkistaa, sisältääkö tilaus tietyn tuotteen (sijainti: order.lineItems), jolla on tietty tunniste (luettelo kohdassa order.lineItems.product.tags). Molemmissa tapauksissa esimerkissä käytetään vähintään yksi -luettelo-operaattoria.

Flow tarjoaa kolme operaattoria luetteloiden käsittelyyn: Vähintään yksi, Ei yksikään ja Kaikki.

Taulukko luettelo-operaattoreista Shopify Flow -ehdoissa.
OperaattoriKuvausKäyttöesimerkki
On jokin seuraavistaTarkistaa, täyttääkö mikään luettelon kohde määritettyä ehtoa.

Palauttaa true, jos jokin luettelon kohde täyttää ehdon. Jos luettelo on tyhjä tai mikään kohde ei täytä ehtoa, palautetaan false.
Tarkista, sisältääkö tilaus tuotteen, jolla on tietty tunniste, käyttämällä lauseketta Vähintään yksi tilauksen rivikohteiden tuotetunnisteista on yhtä suuri kuin tagname.
Ei yksikäänTarkistaa, ettei mikään luettelon kohde täytä määritettyä ehtoa.

Palauttaa true, jos mikään kohteista ei täytä ehtoa. Jos luettelo on tyhjä, palautetaan true.
Tarkista, ettei tuotteella ole tunnistetta presale, käyttämällä ehtoa None of product tags is equal to presale.

Yleinen virhe on yrittää kumota operaattori käyttämällä vaihtoehtoa is not equal to. Tämän kaksoiskielteisen None of product tags is not equal to presale -ehdon käyttäminen tekee ehdosta sekä vaikeaselkoisen että virheellisen.
KaikkiTarkistaa, täyttävätkö kaikki luettelon kohteet määritetyn ehdon.

Palauttaa true, jos jokainen luettelon kohde täyttää ehdon.
Tarkista, ovatko kaikki tilauksen tuotteet tietyltä myyjältä nimeltä Acme, käyttämällä lauseketta Kaikkien tilauksen rivikohteiden tuotteen.myyjä on yhtä suuri kuin Acme.

Ehtojen järjestys

Voit luoda työnkulkuja, joissa on useita ehtoja, ja kukin niistä voi johtaa erilaisiin toimenpiteisiin. Ehtojen järjestyksellä on merkitystä. Ehtojen tarkistus alkaa työnkulun alusta ja etenee järjestelmällisesti ehdosta toiseen. Tarkistus päättyy, kun jokin ehto täyttyy.

Tässä esimerkissä käytetään useita ehtoja sen tarkistamiseen, onko asiakas oikeutettu kanta-asiakasohjelmaan kaupassa käyttämänsä kokonaissumman perusteella. Ehdot tarkistetaan siinä järjestyksessä, jossa ne näytetään:

  1. Jos kokonaishinta on yli 1 000 $ ja asiakas suostuu vastaanottamaan markkinointia, hänelle lisätään Gold-tunniste.
  2. Jos kokonaishinta on alle 1 000 $, mutta yli 500 $, ja asiakas suostuu vastaanottamaan markkinointia, hänelle lisätään Silver-tunniste.
  3. Jos kokonaishinta on alle 500 $, mutta yli 200 $, ja asiakas suostuu vastaanottamaan markkinointia, hänelle lisätään Bronze-tunniste.

Esimerkki työnkulusta, joka tarkistaa asiakkaan käyttämän kokonaissumman ja lisää tunnisteita

Useiden kriteerien yhdistäminen yhdeksi ehdoksi

Kun rakennat ehtoa, voit asettaa useita kriteerejä. Voit valita, miten nämä erilliset kriteerit yhdistetään määrittämään, onko kokonaisehto tosi vai epätosi.

Jos kaikki kriteerit täyttyvät

Valitsemalla AND ehto on tosi vain, jos jokainen asettamasi kriteeri on tosi.

Voit esimerkiksi luoda työnkulun, joka lisää tunnisteen asiakkaille, jotka asuvat Kanadassa ja käyttävät yli 500 $ yhteen tilaukseen.

Esimerkki työnkulusta, jossa käytetään ja-ehtoa

Työnkulku lisää asiakkaalle tunnisteen vain, jos asiakas sijaitsee Kanadassa ja tilauksen summa on yli 500 $. Jos jompikumpi näistä ehdoista ei täyty, asiakkaalle ei lisätä tunnistetta.

Jos mikä tahansa ehto täyttyy

Kun valitset TAI-vaihtoehdon, ehto on tosi, jos mikä tahansa asettamistasi ehdoista on tosi.

Voit esimerkiksi luoda työnkulun, joka lisää tunnisteen tilauksiin, joiden riskisuositus on Peruuta tai Tutki. Jos yksikin näistä ehdoista täyttyy, tilaukselle lisätään tunniste.

Esimerkki työnkulusta, jossa käytetään tai-ehtoa

Staattinen ja dynaaminen data ehdoissa

Yleensä ehdon toinen arvo on staattinen, manuaalisesti syötetty arvo (esimerkiksi product.title == "oma otsikkosi"). Tämä arvo pysyy samana joka kerta, kun työnkulku suoritetaan.

Voit käyttää myös dynaamisia arvoja, jos toisen arvon kentässä näkyy Muokkaa koodia -kuvake. Dynaamiset arvot haetaan kauppasi tiedoista joka kerta, kun työnkulku suoritetaan. Jos haluat käyttää dynaamista arvoa, klikkaa Muokkaa koodia -kuvaketta ja valitse arvo, jota vasten haluat tehdä tarkistuksen. Dynaamiset arvot eivät ole käytettävissä kaikissa kentissä.

Voit esimerkiksi luoda työnkulun, joka lisää tilaukseen tunnisteen, jos tilauksen laskutusosoitteen maa on sama kuin sen toimitusosoitteen maa.

Esimerkki työnkulusta, joka lisää tilaukseen tunnisteen ja käyttää RHS-dataa tarkistaakseen, että asiakkaan laskutus- ja toimitusosoitteen maa on sama.

Tässä esimerkissä sekä ensimmäinen että toinen arvo haetaan kauppasi tiedoista sen sijaan, että määrittäisit manuaalisesti staattisen merkkijonon, jota vasten toinen arvo tarkistetaan. Jos asiakkaan antama laskutusosoitteen maa on sama kuin toimitusosoitteen maa, ehto on tosi ja tilaukseen lisätään tunniste.

Joskus saatat joutua käyttämään väärän tyyppistä dynaamista dataa. Sinun on ehkä esimerkiksi verrattava merkkijonona tallennettua numeroa toiseen numeroon. Tässä tapauksessa voit muuntaa datan oikeaan tyyppiin Suorita koodi -vaihtoehdon avulla.

Mallit

Useimmat mallikirjaston mallit sisältävät ehdon.

Esimerkkiehtoja

Tarkista, vastaako vähintään yksi listan kohde ehtoa

Tämä esimerkki näyttää tyypillisen ehdon, joka tarkistaa, vastaako vähintään yksi listan kohde tiettyä arvoa.

Tässä tapauksessa ehto tarkistaa, onko yhdellä tilauksen tuotteista tunniste presale. Voit luoda tämän ehdon valitsemalla polun order / lineItems / product / tags. Oletusarvoisesti Flow valitsee loogiseksi operaattoriksi vähintään yksi:

Esimerkki ehdon määrityspaneelista, jossa näytetään vähintään yhden tuotetunnisteen tarkistus.

Vähintään yksi -osat ovat listaoperaattoreita, ja niitä käytetään vastaavuuksien käsittelyyn useiden listan kohteiden välillä. On yhtä kuin -osa on kenttätason operaattori, joka määrittää, täsmääkö yksittäinen listan kohde.

Tarkista, ettei mikään listan kohteista vastaa ehtoa

Tämä esimerkki näyttää tyypillisen ehdon, joka tarkistaa, ettei mikään listan kohteista vastaa tiettyä arvoa. Yksi yleinen huomioon otettava ongelma on se, että listat voivat olla tyhjiä. Kun lista on tyhjä, ehdon käsittelee listaoperaattori (tässä tapauksessa ei yksikään).

Tässä tapauksessa ehto tarkistaa, että mikään tuotetunnisteista ei ole ”foo”:

Esimerkki ehdon määrityspaneelista, joka näyttää tuotetunnisteen ”ei yhtään” -tarkistuksen.

Ehto palauttaa arvon tosi, jos (1) tuotetunnisteita ei ole tai (2) mikään tunnisteista ei ole ”foo”. Muussa tapauksessa se palauttaa arvon epätosi.

Tarkista, vastaako listan kohde useita ehtoja

Tämä esimerkki näyttää tyypillisen ehdon, joka tarkistaa, vastaako vähintään yksi listan kohde kahta erillistä ehtoa.

Tässä tapauksessa ehto tarkistaa, onko yhdellä tilauksen tuotteista tunniste presale ja onko sen tuotetyyppi clothing.

Esimerkki ehdon määrityspaneelista, jossa näytetään vähintään yhden tuotetunnisteen ja tuotetyypin tarkistus.

Voit luoda tämän ehdon seuraavasti:

  1. Valitse ensimmäiseksi ehdoksi order / lineItems / product / tags.
  2. Valitse Lisää ehto samalle kohteelle lineItems-listasta. Huomautus: väärän listakohteen valitseminen on yleinen virhe.
  3. Valitse päätason objektiksi lineItems_item ja sen jälkeen toiseksi ehdoksi product / productType`. Huomautus: väärän objektin valitseminen tässä on myös yleinen virhe.
  4. Valitse JA yhdistääksesi nämä kaksi ehtoa.
  5. Syötä arvot presale ja clothing näille kahdelle ehdolle.