Uvjeti u aplikaciji Shopify Flow
Uvjeti nastavljaju tijek rada kada se ispune određena pravila, poput početka izjave „ako-onda” (if-then). Kada postavljate uvjet, birate kriterije iz polja u API-ju GraphQL Admin API (poput product.title), logičkog operatora (poput equal to) te vrijednosti za usporedbu (poput Blue jeans). Kada tijek rada procjenjuje uvjet, Flow provjerava podudara li se vrijednost definirana u tijeku rada s vrijednošću vraćenom za vašu trgovinu te rezultate prikazuje u pokretanju tijeka rada. Za bolje razumijevanje polja i vrijednosti dostupnih za definiranje uvjeta saznajte kako pregledati podatke o trgovini.
Saznajte više o osnovama uvjeta.
Na ovoj stranici
Vrste podataka koje se upotrebljavaju u aplikaciji Flow
Kada postavljate uvjet, odabirete kriterije iz polja dostupnih u API-ju Admin API, a Flow procjenjuje vrijednost vraćenu za vašu trgovinu.
Flow podržava sljedeće vrste podataka:
- Broj s pomičnim zarezom (Float): Vrijednosti s pomičnim zarezom su brojevi s decimalama. Na primjer, 4,25.
- Cijeli broj (Integer): Cjelobrojne su vrijednosti cijeli brojevi koji nemaju decimale. Na primjer, 42.
- Datum (Date): Vrijednosti datuma numerički su prikaz datuma. Na primjer, 01012021.
- Niz (String): Vrijednosti su niza tekstualne. Pri usporedbi vrijednosti niza ne razlikuju se velika i mala slova.
- Booleov tip (Boolean): Booleove vrijednosti su „točno” (true) ili „netočno” (false).
- Numeriranje (Enum): Vrijednosti enuma su skupovi podataka koji omogućuju da varijabla bude skup unaprijed definiranih konstanti.
Logički operatori
Logički operatori definiraju kako se primjenjuje vaš uvjet. Uvjetima se mogu provjeriti jednostavna svojstva, primjerice premašuje li ukupni iznos narudžbe određeni iznos ili prihvaća li korisnik marketing. Logičkim se operatorima također mogu provjeriti i složenija svojstva.
Operatori mogu biti operatori na razini polja, poput jednako (equal to) ili nije jednako (not equal to), ili operatori popisa, poput barem jedan od (at least one of) ili nijedan od (none of).
Operatori na razini polja
Operatori na razini polja upotrebljavaju se za usporedbu 2 vrijednosti. Flow može upotrebljavati sljedeće operatore:
| Operator | Opis | Primjer |
|---|---|---|
| Jednako | Uspoređuje vrijednosti kako bi se provjerilo jesu li jednake. |
Vrijednost za order.currentTotalDiscountsSet.shopMoney.amount dohvaća se iz podataka vaše trgovine i uspoređuje s drugom vrijednosti, 50.Ako su ukupni popusti narudžbe točno 50, uvjet je ispunjen. |
| Nije jednako | Uspoređuje vrijednosti kako bi se provjerilo jesu li različite. |
Vrijednost za order.currentTotalDiscountsSet.shopMoney.amount dohvaća se iz podataka vaše trgovine i uspoređuje s drugom vrijednosti, 50.Ako ukupni popusti narudžbe nisu točno 50, uvjet je ispunjen. |
| Veće od i Veće ili jednako | Uspoređuje vrijednosti kako bi se provjerilo je li prva vrijednost veća od, odnosno veća ili jednaka drugoj vrijednosti. |
Vrijednost za order.currentTotalDiscountsSet.shopMoney.amount dohvaća se iz podataka vaše trgovine i uspoređuje s drugom vrijednosti, 50.Ako je vrijednost ukupnih popusta narudžbe 137, uvjet je ispunjen jer je 137 veće od 50. |
| Manje od i Manje ili jednako | Uspoređuje vrijednosti kako bi se provjerilo je li prva vrijednost manja od druge, odnosno je li manja ili jednaka drugoj vrijednosti. |
Vrijednost za order.currentTotalDiscountsSet.shopMoney.amount dohvaća se iz podataka vaše trgovine i uspoređuje s drugom vrijednosti, 50.Ako su ukupni popusti narudžbe 47, uvjet je ispunjen jer je 47 manje ili jednako 50. |
| Barem jedan od | Provjerava je li polje jednako bilo kojoj vrijednosti na navedenom popisu. Vrijednosti se moraju unijeti pojedinačno nakon čega treba pritisnuti tipku Enter (slično kao kod oznaka). Korištenje na praznom nizu vraća rezultat netočno (false). |
Vrijednost za order.lineitem.product.title uspoređuje se s: pineapple, guava, kiwi.Ako je naziv proizvoda linije artikla guava, uvjet je ispunjen jer se riječ „guava” nalazi na popisu koji ste naveli. |
| Nijedan od | Provjerava da polje nije jednako nijednoj vrijednosti s navedenog popisa. |
Vrijednost za order.lineitem.product.title uspoređuje se s: pineapple, guava, kiwi.Ako je naziv proizvoda linije artikla raspberry, uvjet je ispunjen jer se riječ „raspberry” ne nalazi na popisu koji ste naveli. |
| Uključuje | Uspoređuje vrijednosti kako bi se provjerilo uključuje li prva unesena vrijednost podatke iz druge unesene vrijednosti. |
Vrijednost za order.lineitem.product.title uspoređuje se s: berry.Ako je naziv proizvoda linije artikla strawberry, uvjet je ispunjen jer je „berry” dio riječi „strawberry”. |
| Ne uključuje | Uspoređuje vrijednosti kako bi se provjerilo da prva unesena vrijednost ne uključuje podatke iz druge unesene vrijednosti. |
Vrijednost za order.lineitem.product.title uspoređuje se s: berry.Ako je naziv proizvoda u liniji artikla apple, uvjet je istinit jer „berry” nije uključeno u „apple”. |
| Započinje s | Uspoređuje vrijednosti kako bi se provjerilo započinje li prva vrijednost s podacima iz druge vrijednosti. |
Vrijednost za order.shippingAddress.country uspoređuje se s: United.Ako je zemlja u adresi za dostavu narudžbe United Kingdom, uvjet je istinit jer „United Kingdom” počinje s „United”. |
| Ne započinje s | Uspoređuje vrijednosti kako bi se provjerilo da prva vrijednost ne započinje s podacima iz druge vrijednosti. |
Vrijednost za order.shippingAddress.country uspoređuje se s: United.Ako je zemlja u adresi za dostavu narudžbe Canada, uvjet je istinit jer „United Kingdom” ne počinje s „Canada”. |
| Završava s | Uspoređuje vrijednosti kako bi se provjerilo završava li prva vrijednost s podacima iz druge vrijednosti. |
Vrijednost za order.lineitems.product.title uspoređuje se s: pie.Ako je naziv proizvoda u liniji artikla key lime pie, uvjet je istinit jer „key lime pie” završava s „pie”. |
| Ne završava s | Uspoređuje vrijednosti kako bi se provjerilo da prva vrijednost ne završava s podacima iz druge vrijednosti. |
Vrijednost za order.lineitems.product.title uspoređuje se s: pie.Ako je naziv proizvoda u liniji artikla chocolate cake, uvjet je istinit jer „chocolate cake” ne završava s „pie”. |
Operatori za null i prazne vrijednosti
| Operator | Opis | Uvjet točno/netočno |
|---|---|---|
| Prazno je ili ne postoji | Provjerava je li polje prazno (nema vrijednost) ili ne postoji (vrijednost je null). |
Vraća točno kada je polje prazno ili je njegova vrijednost null, a netočno ako je prisutno.
|
| Nije prazno i postoji | Provjerava je li polje prisutno te nije prazno odnosno null. | Vraća točno kada polje nije prazno i postoji, a netočno kada je prazno. |
Operatori popisa
Operatori popisa kombiniraju se s operatorima na razini polja kako bi vam omogućili provjeru uvjeta za podatke uključene u popise.
Kao u primjeru „barem jedan od”, možda ćete htjeti provjeriti sadrži li narudžba određeni proizvod (koji se nalazi u order.lineItems) s određenom oznakom (popis pod order.lineItems.product.tags). U oba slučaja u primjeru se upotrebljava operator popisa barem jedan od.
Aplikacija Flow pruža tri operatora za rad s popisima: Barem jedan od, Nijedan od i Svi od.
| Operator | Opis | Primjer upotrebe |
|---|---|---|
| Barem jedan od | Provjerava odgovara li bilo koja stavka na popisu navedenom uvjetu. Vraća true ako bilo koja stavka na popisu odgovara. Ako je popis prazan ili nijedna stavka ne odgovara, vraća false. | Provjerite sadrži li narudžba proizvod s određenom oznakom pomoću Barem jedan od order line items.product.tags jednak je tagname. |
| Nijedan od | Provjerava da nijedna stavka na popisu ne odgovara navedenom uvjetu. Vraća true ako nijedna stavka ne odgovara uvjetu. Ako je popis prazan, vraća true. | Provjerite nema li proizvod oznaku presale pomoću opcije None of product tags is equal to presale.Česta je pogreška pokušaj negiranja operatora upotrebom opcije is not equal to. Upotrebom te dvostruke negacije, None of product tags is not equal to presale, uvjet postaje teško razumljiv i nevažeći.
|
| Sve od | Provjerava odgovaraju li sve stavke na popisu navedenom uvjetu. Vraća true ako svaka stavka na popisu odgovara uvjetu. | Provjerite imaju li sve stavke u narudžbi određenog prodavatelja proizvoda pod nazivom Acme upotrebom opcije All of order line items have a product.vendor equal to Acme. |
Redoslijed uvjeta
Možete izraditi tijekove rada koji imaju više uvjeta, od kojih svaki može rezultirati različitim radnjama. Redoslijed uvjeta je važan. Provjera uvjeta počinje na početku tijeka rada i sustavno prolazi kroz svaki uvjet. Provjera se zaustavlja kada je uvjet ispunjen.
Ovaj primjer upotrebljava više uvjeta kako bi se provjerilo ispunjava li korisnik uvjete za program vjernosti na temelju ukupnog iznosa koji je potrošio u trgovini. Uvjeti se provjeravaju redoslijedom kojim su prikazani:
- Ako je ukupna cijena veća od 1000 $ i korisnik pristane na primanje marketinških poruka, označite ga oznakom
Gold. - Ako je ukupna cijena manja od 1000 $, ali veća od 500 $ i korisnik pristane na primanje marketinških poruka, označite ga oznakom
Silver. - Ako je ukupna cijena manja od 500 $, ali veća od 200 $ i korisnik pristane na primanje marketinških poruka, označite ga oznakom
Bronze.

Kombiniranje više kriterija u jednom uvjetu
Pri izradi uvjeta možete postaviti nekoliko kriterija. Možete odabrati kako će se ovi zasebni kriteriji kombinirati kako bi se utvrdilo je li ukupni uvjet istinit ili lažan.
Ako su ispunjeni svi kriteriji
Odabir operatora AND rezultira potvrdnim odgovorom samo ako je svaki postavljeni kriterij istinit.
Na primjer, izradite tijek rada za označavanje korisnika koji se nalaze u Kanadi i potroše više od 500 $ na jednu narudžbu.

Tijek rada označava korisnika samo ako se korisnik nalazi u Kanadi i potroši više od 500 $ u narudžbi. Ako je bilo koji od tih uvjeta lažan, korisnik se ne označava.
Ako je ispunjen bilo koji kriterij
Odabir operatora OR rezultira potvrdnim odgovorom ako je barem jedan od postavljenih kriterija istinit.
Na primjer, izradite tijek rada za označavanje narudžbi kod kojih je preporuka o rizičnosti Otkaži ili Istraži. Sve dok je barem jedan od tih uvjeta istinit, narudžba se označava.

Statički i dinamički podaci u uvjetima
Druga vrijednost u uvjetu obično je statična, ručno unesena vrijednost (kao što je product.title == "your title"). Ova vrijednost ostaje ista pri svakom pokretanju tijeka rada.
Također možete upotrijebiti dinamičke vrijednosti ako polje za drugu vrijednost prikazuje ikonu . Dinamičke vrijednosti povlače se iz podataka vaše trgovine pri svakom pokretanju tijeka rada. Za upotrebu dinamičke vrijednosti kliknite ikonu
i odaberite vrijednost u odnosu na koju želite izvršiti provjeru. Dinamičke vrijednosti nisu dostupne za sva polja.
Na primjer, izradite tijek rada koji označava narudžbu ako se zemlja u adresi za naplatu narudžbe podudara sa zemljom u adresi za dostavu.

U ovom se primjeru i prva i druga vrijednost povlače iz podataka vaše trgovine, umjesto ručnog određivanja statičkog niza u odnosu na koji bi se provjeravala druga vrijednost. Ako je zemlja u adresi za naplatu koju je naveo korisnik jednaka zemlji koju je korisnik naveo u adresi za dostavu, uvjet je istinit i narudžba se označava.
Ponekad ćete možda trebati upotrijebiti dinamičke podatke pogrešne vrste. Na primjer, možda ćete trebati usporediti broj pohranjen kao niz s drugim brojem. U tom slučaju možete upotrijebiti opciju Pokreni kôd za konvertiranje podataka u ispravnu vrstu.
Predlošci
Većina predložaka u biblioteci predložaka sadrži uvjet.
Primjeri uvjeta
Provjera odgovara li barem jedna stavka na popisu uvjetu
Ovaj primjer prikazuje tipičan uvjet koji provjerava odgovara li barem jedna stavka na popisu određenoj vrijednosti.
U ovom slučaju uvjet provjerava ima li barem jedan od proizvoda u narudžbi oznaku presale. Da biste izradili ovaj uvjet, odabrali biste order / lineItems / product / tags. Prema zadanim postavkama aplikacija Flow odabire barem jedan od kao logički operator:

Dijelovi sa stavkom barem jedan od su operatori popisa i upotrebljavaju se za obradu podudaranja u više stavki na popisu. Dio je jednako je operator na razini polja koji utvrđuje podudara li se jedna stavka na popisu.
Provjera da nijedna stavka na popisu ne odgovara uvjetu
Ovaj primjer prikazuje tipičan uvjet koji provjerava da nijedna stavka na popisu ne odgovara određenoj vrijednosti. Jedan od čestih problema na koji treba paziti jest da popisi mogu biti prazni. Kada je popis prazan, uvjet će obraditi operator popisa (u ovom slučaju nijedan od).
U ovom slučaju uvjet provjerava da nijedna oznaka proizvoda nije jednaka foo:

Uvjet će vratiti true ako (1) nema oznaka proizvoda ili (2) nijedna oznaka nije foo. U suprotnom će vratiti false.
Provjera podudara li se stavka na popisu s više kriterija
Ovaj primjer prikazuje tipičan uvjet kojim se provjerava podudara li se barem jedna stavka na popisu s dva zasebna kriterija.
U ovom slučaju uvjet provjerava ima li jedan od proizvoda u narudžbi oznaku presale i ima li atribut productType vrijednost clothing.

Da biste izradili ovaj uvjet, učinite sljedeće:
- Za prvi kriterij odaberite order / lineItems / product / tags.
- Na popisu lineItems odaberite Add criteria for same item. Napomena: odabir pogrešne stavke popisa na ovom je mjestu česta pogreška.
- Odaberite lineItems_item kao objekt najviše razine, a zatim product / productType` za drugi kriterij. Napomena: odabir pogrešnog objekta na ovom je mjestu također česta pogreška.
- Odaberite AND kako biste kombinirali ta dva kriterija.
- Unesite vrijednosti
presaleiclothingza dva kriterija.