Tidsplaner, hentning af data og loopende workflows i Shopify Flow

I de fleste tilfælde kan du opbygge et workflow ved at sammenkæde flere betingelser og handlinger til en udløser, der kører, når en hændelse finder sted. I mere komplekse tilfælde kan det være, at der ikke findes en udløser til det, du skal gøre, at du skal køre den på et bestemt tidspunkt, eller at du skal arbejde med en liste over data. I disse tilfælde kan du bruge udløsere med planlagt tid, hent data-handlinger og loops til at oprette avancerede workflows.

Forestil dig f.eks., at du vil have et dagligt resume over ikke-klargjorte ordrer. Med denne gruppe af funktioner kan du køre et workflow, der kører hver dag på et bestemt tidspunkt, henter disse ordrer og derefter sender dig et resume over dem. Du kan udforske flere eksempler og skabeloner, der gør brug af disse udløsere og handlinger.

Udløser med planlagt tid

I stedet for at starte et workflow på grund af en hændelse starter udløseren Planlagt tid et workflow på en bestemt dato og et bestemt klokkeslæt, som du angiver. Du kan også planlægge, at workflowet skal gentages hver time, dagligt, ugentligt eller månedligt. Da det kører i henhold til en tidsplan, skal du bruge en handling for at hente data som f.eks. kunder, ordrer eller produkter. Dette kan du gøre ved hjælp af Hent data-handlinger.

Udløseren Planlagt tid kan køre helt ned til hvert 10. minut.

Hent data-handlinger

De fleste handlinger ændrer noget i din butik, f.eks. ved at tilføje tags til en kunde eller sende en kommando til en app, som f.eks. at instruere en app i at sende en pushmeddelelse til en kunde.

Hent data-handlinger henter data fra din butik til brug i Flow. Disse handlinger kalder en forespørgsel med et sæt filtre, f.eks. kun at hente noget, der er opdateret inden for den seneste dag. Handlingen returnerer en liste over data, der matcher forespørgslen. Handlingen Hent ordredata kalder f.eks. Order query på Admin API og returnerer en liste over ordrer, der matcher din forespørgsel.

Hent data-handlinger kan kun køre på lister med op til 100 elementer.

Følgende handlinger henter oplysninger fra din butik, så du kan bruge disse data i dit workflow. Se oplysningerne for hver handling for at få mere at vide om, hvordan du filtrerer data, og hvilke data der returneres:

Liquid-tags i Hent data-handlinger

Når du bruger en Hent data-handling med datoer, kan du bruge Liquid-tagsene date_minus og date_plus til at ændre datoer i din forespørgsel. Hvis du f.eks. vil beregne en dato 5 dage før det planlagte kørselstidspunkt for et workflow, kan du bruge følgende Liquid:

{{ scheduledAt | date_minus: "5 days" }}

Du kan få flere oplysninger om, hvordan du bruger disse tags, i dokumentationen til Liquid-variabler.

For hvert-loops

Når du bruger en Hent data-handling, får du en liste over data, der matcher din forespørgsel. Du kan bruge handlingen For hvert loop (iterer) til at loope gennem denne liste. I et For hvert-loop kan du bruge betingelser og handlinger, der kun gælder for det pågældende element.

Du opretter f.eks. et workflow, der kører hver mandag. Dette workflow bruger handlingen Hent ordredata til at hente ordrer, der er afgivet i løbet af den pågældende uge. For hvert loop (iterer) anvender derefter tagget Ny ordre på hver ordre, der returneres af listen getOrderData. Når alle ordrer på listen er blevet tagget, sendes der en intern mail, der angiver, at taggingen er fuldført.

Eksempel på et workflow, der henter en liste over ordrer, der er afgivet i den seneste uge, og føjer et tag til hver ordre og derefter sender en mail.

Aggregeringshandlinger

Når du arbejder med lister, vil du muligvis tælle antallet af elementer for at bruge dem i senere betingelser og handlinger. Du vil f.eks. måske tjekke, om der er mere end 0 resultater, før du sender en mail. Flow indeholder disse handlinger til at udføre beregninger på listedata i et workflow:

  • Antal returnerer antallet af poster på en liste.
  • Sum lægger værdierne for poster på en liste sammen.

Eksempler på avancerede workflows i Shopify Flow

Se nogle eksempler på avancerede arbejdsgange, som du kan bruge i Shopify Flow:

Få et dagligt resume over ordrer, der overskrider et klargøringsvindue på to dage

Dette workflow kan bruges til at fastslå, om nogen ordrer har overskredet en garanteret forsendelsesperiode, og i så fald hvor meget disse ordrer er værd.

I dette eksempel kører workflowet hver dag kl. 17.00. Workflowet bruger handlingen Hent ordredata til at hente en liste over ordrer, der ikke blev klargjort inden for et forsendelsesvindue på to dage. Derefter tilføjer handlingen For hver et tag til alle forsinkede ordrer. Workflowet bruger også handlingen Tæl til at fastslå antallet af forsinkede ordrer og handlingen Sum til at fastslå værdien af disse ordrer. De variabler, der oprettes af handlingerne Tæl og Sum, bruges til at sende en mail, der angiver antallet af ordrer og deres værdi.

Eksempel på et workflow, der henter en liste over forsinkede ordrer, tagger dem og sender en mail med oplysninger om antallet og værdien af disse ordrer.

Installer denne workflowskabelon i din butik.

Når der oprettes en ny ordre, tjekkes det, om den samme kunde har afgivet andre ordrer inden for de seneste 24 timer

Dette workflow kan bruges til at fastslå, om den samme kunde har afgivet flere ordrer på samme dag, og i så fald sætte klargøringen på pause, så ordrerne kan blive sendt samlet.

I dette eksempel kører workflowet, hver gang der oprettes en ny ordre. Workflowet bruger handlingen Hent ordredata til at hente en liste over ordrer, som kunden har afgivet den seneste dag. Derefter fastslår handlingen Tæl antallet af ordrer, som kunden har afgivet. Hvis den samme kunde har afgivet to eller flere ordrer på samme dag, sættes klargøringen af ordrerne på pause, og der føjes tags til ordrerne.

Eksempel på et workflow, der henter en liste over flere ordrer, tagger dem og sætter deres klargøring på pause.

Installer denne workflowskabelon i din butik.

Hver dag modtages der en mail med et resume over produkter, der ikke er på lager

Dette workflow kan bruges til at oprette en liste over alle dine produkter, der ikke er på lager, og sende en mail.

I dette eksempel kører workflowet hver dag kl. 21.00. Workflowet bruger handlingen Hent produktdata til at hente en liste over produkter, der ikke har nogen lagerbeholdning. Handlingen Tæl fastslår antallet af varer, der ikke er på lager. De variabler, der oprettes af handlingerne Hent ordredata og Tæl, bruges til at sende en mail, der angiver antallet af produkter og en liste over disse produkter.

Eksempel på et workflow, der henter en liste over flere ordrer, tagger dem og sætter deres klargøring på pause.

Installer denne workflowskabelon i din butik.

Én gang om dagen findes alle ordrer, der er knyttet til en chargeback, og kunden tagges

Dette workflow kan bruges til at spore kunder, der har startet en chargeback.

I dette eksempel kører workflowet hver dag kl. 10.00. Workflowet bruger handlingen Hent ordredata til at hente en liste over ordrer, der har chargebacks. Derefter tilføjer handlingen For hver et tag til alle de kunder, der har afgivet disse ordrer.

Eksempel på et workflow, der henter en liste over ordrer med chargebacks og tagger den kunde, der er knyttet til dem.

Installer denne workflowskabelon i din butik.

Når der oprettes en ny ordre, kan du finde ud af, hvor mange ordrer kunden har afgivet i de seneste seks måneder.

Dette workflow kan bruges til at fastslå, hvor mange ordrer en kunde har afgivet inden for de seneste seks måneder og tilføje loyalitetstags.

I dette eksempel kører workflowet, hver gang der oprettes en ny ordre. Workflowet bruger handlingen Hent ordredata til at hente en liste over ordrer, som kunden har afgivet inden for de seneste seks måneder. Derefter fastslår handlingen Tæl antallet af ordrer, som kunden har afgivet, og handlingen Sum fastslår værdien af disse ordrer. Der tilføjes et kundetag, hvis antallet af ordrer er lig med eller større end fem, og der tilføjes endnu et tag, hvis værdien af ordrerne er lig med eller større end 100 USD.

Eksempel på et workflow, der henter en liste over ordrer, beregner antallet af ordrer og den samlede værdi og tilføjer kundetags.

Installer denne workflowskabelon i din butik.

Hver dag hentes en liste over alle åbne ordrekladder, og der sendes en Slack-besked

Dette workflow kan bruges til at sende en Slack-besked, der angiver, om der er åbne ordrekladder i din butik, og i så fald hvor mange.

I dette eksempel kører workflowet hver dag kl. 17.00. Workflowet bruger handlingen Hent data for ordrekladde til at hente en liste over ordrekladder, der har status som Åben. Derefter fastslår handlingen Tæl antallet af åbne ordrekladder. Den variabel, der oprettes af handlingen Tæl, bruges til at sende en Slack-besked for at angive antallet af åbne ordrekladder.

Eksempel på et workflow, der henter en liste over ordrekladder, beregner antallet af åbne ordrekladder og sender en Slack-besked.

Installer denne workflowskabelon i din butik.