Sąlygų supratimas „Shopify Flow“
Sąlyga – tai darbo eigos žingsnis, kuriame priimamas sprendimas, kaip elgtis toliau, atsižvelgiant į tai, ar įvykdytas kriterijų rinkinys. Kiekvienas sąlygos žingsnis turi dvi galimybes: „Teisinga“, kai kriterijai įvykdyti, ir „Neteisinga“, kai kriterijai neįvykdyti. Jei neapibrėšite kito žingsnio nė vienai iš galimybių, pasirinkdami kitą sąlygą ar veiksmą, darbo eigos paleidimas sustos.
Pavyzdžiui, jei Jūsų darbo eiga paleidžiama sukūrus užsakymą, sąlyga galėtų patikrinti, ar užsakyme buvo panaudotas konkretus AFFILIATE10 nuolaidos kodas. Jei taip, parinktis „Teisinga“ galėtų lemti veiksmą, kuris išsiunčia el. laišką filialui ir praneša, kad jo kodas buvo panaudotas. Jei ne, parinktis „Neteisinga“ galėtų būti tuščia, o tai reikštų, kad daugiau nieko nevyksta ir darbo eigos paleidimas baigiasi.
Darbo eigoje gali būti bet koks sąlygų skaičius, priklausomai nuo Jūsų darbo eigos sudėtingumo. Sąlygos taip pat gali jungtis su kitomis sąlygomis ar veiksmais, priklausomai nuo to, ką norite, kad darbo eiga darytų. Sąlygas galima nustatyti taip, kad jos būtų jungiamos nuosekliai (pavyzdžiui, jei sąlyga A teisinga, tikrinama sąlyga B; jei A neteisinga, tikrinama C), arba galima nustatyti, kad jos vyktų vienu metu kaip to paties žingsnio dalis (pavyzdžiui, tikrinama, ar A, ar B, ar C yra teisinga).
Šiame puslapyje
Sąlygų kūrimas Jūsų darbo eigai
Skirtingai nuo paleidiklio ar veiksmo, kuriuos galite pasirinkti iš iš anksto nustatyto galimų parinkčių sąrašo „Shopify Flow“, sąlygos kuriamos nuo nulio, pasirenkant kintamuosius, loginius operatorius ir vertes, kad būtų sukurtas sąlyginis teiginys:
- Kintamasis yra rezervuota vieta, apibrėžianti duomenis, kuriuos naudoja sąlyga. Pavyzdžiui, jei sąlyga nori patikrinti konkretų nuolaidos kodą užsakyme, kintamasis būtų
order.discountCode. Kintamieji naudoja GraphQL Admin API taškinę notaciją. - Loginis operatorius nurodo, kaip darbo eiga turėtų nustatyti, ar sąlyga įvykdyta. Loginiai operatoriai gali būti taikomi kintamojo lygmeniu arba kai į bendrus sąlygos kriterijus įtraukiami keli kintamieji:
- Kintamojo lygio parinktys apima laukų lygio operatorius, tokius kaip „Daugiau nei“ ar „Prasideda“, arba sąrašo operatorius, tokius kaip „Bent vienas iš“ ar „Visi iš“.
- Sąlygos lygio parinktys apima IR (angl. AND), o tai reiškia, kad visi kintamieji turi būti teisingi, kad visa sąlyga būtų laikoma teisinga, arba ARBA (angl. OR), o tai reiškia, kad bent vienas kintamasis turi būti teisingas, kad visa sąlyga būtų laikoma teisinga.
- Vertė – tai faktinė informacija, kurios ieško kintamasis. Pavyzdžiui, jei konkretus
order.discountCode, kurį norite, kad darbo eiga patikrintų, yra AFFILIATE10, tai būtų vertė, kurią reikia įtraukti kaip sąlygos dalį.
Kai pasirenkate kintamuosius ir operatorius, sąlygos žingsnis „Shopify Flow“ drobėje atnaujinamas, kad atspindėtų Jūsų sąlyginį teiginį paprasta kalba, todėl galite dukart patikrinti, ar Jūsų kuriama sąlyga suformatuota teisingai. Galite spustelėti „Pridėti aprašą“, kad perrašytumėte numatytąjį sąlyginį teiginį savo pačių parašytu aprašu.
Sužinokite išsamesnės informacijos apie sąlygų elementus „Shopify Flow“.
Kintamųjų supratimas sąlygose
Kuriant sąlygos žingsnį darbo eigoje, pirmas veiksmas, kurį esate raginami atlikti, yra „Pridėti kintamąjį“. Bet kas yra kintamasis?
„Shopify Flow“ kintamasis yra rezervuota vieta, nurodanti duomenis, kuriuos naudoja sąlyga darbo eigoje. Kai sąlyga skamba „Jei A yra daugiau nei 10...“, dalis `A` yra kintamasis. Pasirinkdami kintamąjį sąlygai, iš esmės nurodote sąlygai, kokius konkrečius duomenis vertinti.
Kintamieji formatuojami naudojant GraphQL Admin API taškinę notaciją. Jums nebūtina gerai išmanyti API, kad galėtumėte kurti darbo eigas su „Flow“ programėle, tačiau pagrindinis kintamųjų pavadinimų ir jų apibrėžimų supratimas gali padėti sukurti konkrečią norimą darbo eigos logiką.
Norėdami suprasti, kokius duomenis vaizduoja kintamasis, atsižvelkite į šią informaciją apie kintamuosius:
- Kaip skaityti kintamojo taškinę notaciją.
- Supratimas apie duomenų reikalavimus kintamiesiems.
- Tinkamo kintamojo radimas paieškos metu.
Patarimas: gaukite pagalbos dėl kintamųjų iš „Dev Docs“ asistento
Jei nesate tikri, kurį kintamąjį pasirinkti kurdami sąlygą, apsvarstykite galimybę paprašyti „Shopify Dev Docs“ asistento patarimo. „Dev Docs“ asistentas turi prieigą prie visos dokumentacijos, susijusios su „GraphQL Admin API“, ir gali pasiūlyti, kaip formatuoti sąlygą „Shopify Flow“:
- Eikite į „Shopify Dev Docs“.
- Spustelėkite „Ask Assistant“, kad atidarytumėte pokalbių skydelį.
- Pranešimo laukelyje įveskite savo užklausą, pavyzdžiui: „Kokį kintamąjį turėčiau naudoti „Shopify Flow“, jei norėčiau pasiekti kliento žymos duomenis, kai mano paleidiklis yra „Užsakymas sukurtas“?“.
- Paspauskite Enter arba spustelėkite
.
Kintamųjų žymėjimo taškais skaitymas
Rinkdamiesi kintamuosius pastebėsite, kad jie suformatuoti kaip raktažodžiai, atskirti taškais, pavyzdžiui, order.customer.tag. Šis formatas nurodo veiksmus, kuriuos API atlieka, kad gautų duomenis, kuriuos norite naudoti. Kiekvienas kintamojo „žingsnis“ atskiriamas tašku, o kelias iki duomenų skaitomas iš kairės į dešinę. Kintamųjų ilgis gali skirtis priklausomai nuo to, kur duomenys saugomi API, ir kelio, kuriuo darbo eiga juos pasiekia.
Pavyzdžiui:
order.email: patikrinamas su užsakymu susieto kliento el. pašto adresas. Tai panašu į tai, kaip spustelėtumėte užsakymą ir patikrintumėte el. pašto adresą išsamioje užsakymo informacijoje.refunds_item.staffMember.name: patikrina užsakymą dėl prekės pinigų grąžinimo, pereina prie su tuo grąžinimu susijusios personalo informacijos ir patikrina to personalo nario vardą bei pavardę.
Rinkdamiesi kintamąjį, pagalvokite, kaip naršytumėte „Shopify“ administratoriaus skydelyje, kad rastumėte norimą informaciją. Tikėtina, kad API reikės eiti panašiu keliu, o tai gali padėti nustatyti, kaip jūsų kintamasis gali būti formatuojamas.
Pavyzdžiui, jei peržiūrite naują užsakymą ir norite sužinoti, kuriai RFM grupei priklauso su užsakymu susietas klientas, galite pagalvoti, kad reikia spustelėti kliento vardą užsakyme, kad būtumėte nukreipti į kliento išsamios informacijos puslapį „Shopify“ administratoriaus skydelyje, o tada galite patikrinti kliento duomenų analizės santrauką ir perskaityti, kokia vertė rodoma stulpelyje RFM grupė.
Kintamasis, kurį naudotumėte norėdami gauti tuos pačius duomenis „Shopify Flow“, naudotų panašų kelią: order.customer.statistics.rfmGroup.
Kintamųjų duomenų reikalavimai
Kintamiesiems reikia duomenų. Jei kintamajam neprieinami tinkami duomenys, sąlyga neveiks ir darbo eiga nepavyks. Priklausomai nuo to, kokį paleidiklį pasirinkote kaip savo darbo eigos pradžią, keičiasi kintamųjų, kuriuos galima įtraukti į sąlygas, parinktys, atspindėdamos galimas parinktis pagal turimus duomenis.
Pavyzdžiui, jei jūsų darbo eiga pradedama paleidikliu Produktas sukurtas, jūsų iš šio paleidiklio sukurtos sąlygos apsiribos kintamaisiais, kurie pasiekiami iš produkto duomenų rinkinio. Todėl kintamuosius, tokius kaip product.category.name, product.vendor ir variants_item.displayName, galima naudoti kaip sąlygos dalį. Priešingai, tokie kintamieji kaip customer.verifiedEmail arba subscriptionContracts_item.status nebus rodomi kaip parinktys, nes jie nėra susiję su produkto duomenų rinkiniu.
Tačiau tai nebūtinai reiškia, kad kituose duomenų rinkiniuose esantys duomenys yra visiškai nepasiekiami. Kai kuriuos duomenis API galima pasiekti keliais būdais, lygiai taip pat, kaip galite spustelėti skirtingas nuorodas, kad pasiektumėte tą patį puslapį „Shopify“ administratoriaus skydelyje. Praktiškai tai reiškia, kad skirtingiems paleidikliams reikia skirtingo kintamųjų žymėjimo, kad būtų grąžinta ta pati informacija.
Pavyzdžiui, norite, kad jūsų darbo eiga patikrintų kliento profilio žymas. Jei jūsų darbo eiga pradedama paleidikliu Užsakymas sukurtas, kintamasis bus order.customer.tags, nes darbo eiga pradedama nuo užsakymo duomenų, tada patikrinama užsakyme esanti kliento informacija, o tada patikrinamos to kliento žymos. Jei jūsų darbo eiga pradedama paleidikliu Klientas sukurtas, kintamasis bus tiesiog customer.tags, nes darbo eiga pradedama nuo kliento duomenų, todėl galima iš karto pereiti prie kliento profilio žymų tikrinimo.
Kintamojo kelio tikrinimas ieškant pagal raktažodžius
Dėl „Shopify Flow“ naudojamo žymėjimo taškais stiliaus, ieškant sąlygai skirtų kintamųjų pagal raktažodžius, galima gauti kelis rezultatus. Norint nustatyti, kurį kintamąjį pasirinkti kuriant sąlygą, svarbu suprasti, ką nurodo kintamojo kelias.
Pavyzdžiui, jūsų darbo eiga naudoja paleidiklį Užsakymas sukurtas ir jūs ieškote kintamojo pagal raktažodį tags. Jūsų paieška gali pateikti šiuos rezultatus, kurie tikrina skirtingą informaciją užsakyme:
order.tags: pačiam užsakymui priskirtos žymos. Pavyzdžiui, #skubus užsakymas arba #dovana.order.customer.tags: žymos, priskirtos klientui, kuris pateikė užsakymą. Pavyzdžiui, #VIP arba #partneris.order.lineItems.product.tags: žymos, priskirtos užsakyme įsigytiems produktams. Pavyzdžiui, #dūžtantis arba #reikalingas ID.
Atsižvelgiant į tai, kokio tipo žymas norite, kad darbo eiga tikrintų, turite pasirinkti tinkamą kintamąjį, kad jūsų sąlyga veiktų taip, kaip tikėtasi.
Loginių operatorių supratimas sąlygose
Loginiai operatoriai apibrėžia, kaip taikoma jūsų sąlyga, ir lemia, ar teiginys yra teisingas, ar klaidingas. Kai sąlyga yra „Jei A yra daugiau nei 10...“, dalis yra daugiau nei yra loginis operatorius. Pasirinkdami sąlygai loginį operatorių, iš esmės nurodote sąlygai, kaip įvertinti kintamąjį.
„Shopify Flow“ darbo eigose yra 3 tipų loginiai operatoriai:
- Lauko lygio operatoriai, pvz., Daugiau nei arba Prasideda nuo.
- Sąrašo operatoriai, pvz., Bent vienas iš arba Visi iš.
- Sąlygos lygio operatoriai, pvz., IR arba ARBA.
Lauko lygio ir sąrašo operatoriai taikomi kintamojo lygmeniu, o sąlygos lygio operatoriai taikomi visai sąlygai ir gali būti naudojami keliems kintamiesiems sujungti į vieną sąlygą.
Lauko lygio operatoriai yra labiausiai paplitę operatorių tipai, naudojami visų tipų kintamųjų teiginiuose. Naudodami lauko lygio operatorius, galite sukurti sąlyginius teiginius, pvz., „Jei A yra daugiau nei 10, atlikti X“ arba „Jei B yra „VIP“, atlikti X“, kad galėtumėte labiau kontroliuoti, kurios kintamojo reikšmės grąžins teisingą rezultatą. Numatytasis loginis operatorius yra Lygu.
Sąrašo operatoriai gali būti taikomi tik kintamiesiems, kurie gali grąžinti rezultatų sąrašą. Pavyzdžiui, kintamasis lineItems_item.variant.price grąžina produkto varianto kainą užsakyme, o tai gali grąžinti rezultatų sąrašą, jei klientas tame pačiame užsakyme pirko kelis produktus. Tai reiškia, kad galite taikyti sąrašo operatorių, pvz., Bent vienas iš, kai norite, kad sąlyginis teiginys, pvz., „lineItems_item.variant.price yra daugiau nei 10 $“, būtų teisingas, kai užsakyme yra bent 1 produkto variantas, kurio kaina didesnė nei 10 $. Priešingai, sąrašo operatoriai nerodomi kintamiesiems, kurie vienu metu gali grąžinti tik 1 rezultatą. Pavyzdžiui, kintamajam, pvz., order.createdAt, yra tik 1 galima reikšmė, nes užsakymas gali būti sukurtas tik vieną kartą, todėl sąrašo operatoriai nerodomi kaip parinktys, skirtos modifikuoti teiginį, kuriame yra šis kintamasis.
Sąlygos lygio operatoriai, pvz., AND ir OR, leidžia į tą pačią sąlygą įtraukti kelis kintamuosius. Pavyzdžiui, užuot naudoję paprastą sąlyginį sakinį, pvz., „Jei A lygu 5, atlikite X“, galite kurti sudėtingesnes sąlygas, pvz., „Jei A lygu 5 ir B yra daugiau nei 10, atlikite X“, kuriai reikia, kad ir A, ir B kintamieji būtų teisingi, arba „Jei A lygu 5 arba B yra daugiau nei 10, arba C yra mažiau nei 1, atlikite X“, kuriai reikia, kad teisingas būtų bent vienas iš A, B ar C kintamųjų. Naudokite AND, kai darbo eigoje viskas turi būti teisinga, o OR – kai pakanka vieno įvykdyto kriterijaus, kad sąlyga būtų teisinga.
Kodėl tai svarbu: suprasdami, kaip sąlygose veikia loginiai operatoriai, galite kurti darbo eigas, kurios tikrina būtent tuos kriterijus, kurių Jums reikia. Naudodami trijų tipų loginius operatorius, galite sudaryti išsamius ir sudėtingus sąlyginius sakinius, kad sukurtumėte darbo eigas, kurios tikrina labai konkrečias sąlygas.
Sužinokite išsamesnės informacijos apie loginius operatorius sąlygose.