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).

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:

If at least one of order / lineItems:
  If at least one of lineItem_item / product / tags
    tags_item
    is equal to
    presale

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:

If none of product / tags:
  tag_item
  is equal to
  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.

If at least one of order / lineItems:
  If at least one of lineItem_item / product / tags
    tags_item
    is equal to
    presale
  AND
  If lineItem_item / product
    productType
    is equal to
    clothing

Voit rakentaa tämän ehdon näin:

  1. Valitse order / lineItems / product / tags ensimmäiseksi kriteeriksi.
  2. Valitse Lisää kriteerit samalle tuotteelle -kohta lineItems-listassa. Huomautus: väärän listatuotteen valitseminen tässä on myös yksi yleinen virhe.
  3. 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.
  4. Yhdistä kaksi kriteeriä valitsemalla AND.
  5. Syötä arvot presale ja clothing 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

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.

Esimerkki työnkulusta, jossa tilaus peruutetaan yhtä suuri kuin -loogista konnektiivia käyttämällä, jos noudettu tieto on yhtä suuri kuin 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan ei ole yhtä suuri kuin -loogista operaattoria käyttämällä, jos noudettu tieto ei ole yhtä suuri kuin 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan suurempi kuin -loogista operaattoria käyttämällä, jos noudettu tieto on suurempi kuin 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan pienempi tai yhtä suuri kuin -loogista konnektiivia käyttämällä, jos noudettu tieto on pienempi tai yhtä suuri kuin 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan loogista Vähintään yksi -operaattoria käyttämällä, jos noudetuissa tiedoissa on pineapple, guava tai 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan ei mikään seuraavista -loogista konnektiivia käyttämällä, jos noudetussa tiedossa ei ole ananas, guava tai 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan sisältää -loogista operaattoria käyttämällä, jos noudetuissa tiedoissa on merkkijono

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.

Esimerkki työnkulusta, jossa tilaus peruutetaan ei sisällä -loogista konnektiivia käyttämällä, jos noudettu tieto ei sisällä merkkijonoa 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.

Esimerkki työnkulusta, jossa tilaus peruutetaan alkaa -loogista operaattoria käyttämällä, jos noudettu tieto alkaa merkkijonolla

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.

Esimerkki työnkulusta, jossa tilaus peruutetaan ei ala -loogista konnektiivia käyttämällä, jos noudettu tieto ala merkkijonolla

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.

Esimerkki työnkulusta, jossa tilaus peruutetaan päättyy -loogista konnektiivia käyttämällä, jos noudettu tieto päättyy merkkijonoon

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.

Esimerkki työnkulusta, jossa tilaus peruutetaan ei lopu -loogista operaattoria käyttämällä, jos noudettu tieto ei ala merkkijonolla

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.

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

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.

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

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.

Esimerkki työnkulusta, joka tarkistaa asiakkaan kokonaiskulutuksen ja lisää tunnisteita

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:

  1. Jos kokonaishinta on yli 1 000 dollaria ja asiakas suostuu markkinointiin, merkitse hänet kultatason tunnisteella.
  2. Jos kokonaishinta on alle 1 000 mutta yli 500 dollaria ja asiakas suostuu markkinointiin, merkitse hänet hopeatason tunnisteella.
  3. 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.

Esimerkki työnkulusta, joka merkitsee RHS-tietoja käyttävän tilauksen tarkistaakseen, että asiakkaan laskutus- ja toimitusosoitteen maa ovat samat.

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.

Valmiina aloittamaan Shopifyssa?

Kokeile ilmaiseksi