Tidsplaner, henting av data og arbeidsflyter i løkke i Shopify Flow

I de fleste tilfeller kan du bygge en arbeidsflyt ved å koble sammen flere betingelser og handlinger til en utløser som kjører når en hendelse inntreffer. For mer komplekse bruksområder kan det hende du oppdager at det ikke finnes noen utløser for det du trenger å gjøre, at du trenger at den kjører på et bestemt tidspunkt, eller at du må jobbe med en liste over data. I disse tilfellene kan du bruke tidsstyrte utløsere, «hent data»-handlinger og løkker til å opprette avanserte arbeidsflyter.

Anta for eksempel at du ønsker å få et daglig sammendrag av uoppfylte bestillinger. Med denne gruppen funksjoner kan du kjøre en arbeidsflyt som kjører hver dag på et bestemt tidspunkt, som henter disse bestillingene og deretter sender deg et sammendrag av dem. Du kan utforske flere eksempler og maler som benytter seg av disse utløserne og handlingene.

Utløser for planlagt tid

I stedet for å starte en arbeidsflyt på grunn av en hendelse, starter Planlagt tid-utløseren en arbeidsflyt på et bestemt tidspunkt og en bestemt dato som du angir. Du kan også planlegge at arbeidsflyten skal gjentas hver time, dag, uke eller måned. Siden den kjører etter en tidsplan, må du bruke en handling for å hente data som kunder, bestillinger eller produkter. Du kan gjøre dette ved å bruke Hent data-handlinger.

Utløseren for planlagt tid kan kjøre så ofte som hvert 10. minutt.

Hent data-handlinger

De fleste handlinger endrer noe i butikken din, for eksempel ved å legge til tagger på en kunde, eller sende en kommando til en app, som å instruere en app til å sende et push-varsel til en kunde.

Hent data-handlinger henter data fra butikken din for bruk i Flow. Disse handlingene kaller en spørring med et sett med filtre, som for eksempel å bare hente noe som er oppdatert den siste dagen. Handlingen returnerer en liste med data som samsvarer med filteret. For eksempel kaller Hent bestillingsdata-handlingen bestillingsspørringen i Admin API-et og returnerer en liste med bestillinger som samsvarer med spørringen din.

Hent data-handlinger kan bare kjøre på lister med opptil 100 elementer.

Følgende handlinger henter informasjon fra butikken din, slik at du kan bruke dataene i arbeidsflyten. Se hver enkelt handling for informasjon om hvordan du filtrerer data og hvilke data som returneres:

Liquid-tagger i Hent data-handlinger

Når du bruker en Hent data-handling med datoer, kan du bruke Liquid-taggene date_minus og date_plus for å endre datoer i spørringen. Hvis du for eksempel vil beregne en dato fem dager før den planlagte kjøretiden for en arbeidsflyt, kan du bruke følgende Liquid-kode:

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

Hvis du vil ha mer informasjon om hvordan du bruker disse taggene, kan du se dokumentasjonen for Liquid-variabler.

For hver-løkker

Når du bruker en Hent data-handling, får du en liste med data som samsvarer med spørringen din. Du kan bruke handlingen For hver-løkke (iterer) for å opprette en løkke gjennom listen. I en For hver-løkke kan du bruke betingelser og handlinger som bare gjelder for det aktuelle elementet.

Du kan for eksempel opprette en arbeidsflyt som kjøres hver mandag. Arbeidsflyten bruker Hent bestillingsdata-handlingen for å hente bestillinger som er lagt inn i løpet av uken. Deretter bruker For hver-løkken (iterer) en Ny bestilling-tagg på hver bestilling som returneres av getOrderData-listen. Når alle bestillingene på listen er tagget, sendes det en intern e-post som indikerer at taggingen er fullført.

Eksempel på en arbeidsflyt som henter en liste over bestillinger som er lagt inn den siste uken, og legger til en tagg på hver bestilling, for så å sende en e-post.

Aggregeringshandlinger

Når du jobber med lister, kan det være lurt å telle antall elementer for å bruke dem i senere betingelser og handlinger. Det kan for eksempel hende du vil sjekke om det er mer enn 0 resultater før du sender en e-post. Flow har disse handlingene for å utføre beregninger på listedata i en arbeidsflyt:

  • Tell returnerer antall oppføringer i en liste.
  • Summer legger sammen verdiene til oppføringene i en liste.

Eksempler på avanserte arbeidsflyter i Shopify Flow

Se gjennom noen eksempler på avanserte arbeidsflyter du kan bruke i Shopify Flow:

Få et daglig sammendrag av bestillinger som ikke overholder et distribusjonsvindu på to dager

Denne arbeidsflyten kan brukes til å avgjøre om noen bestillinger har gått glipp av en garantert fraktperiode, og i så fall, hvor mye disse bestillingene er verdt.

I dette eksemplet kjøres arbeidsflyten hver dag kl. 17:00. Arbeidsflyten bruker handlingen Hent bestillingsdata for å hente en liste over bestillinger som ikke ble distribuert innen et to-dagers fraktvindu. Deretter legger handlingen For hver til en tagg på alle forsinkede bestillinger. Arbeidsflyten bruker også handlingen Tell til å avgjøre antallet forsinkede bestillinger, og handlingen Summer til å avgjøre verdien av disse bestillingene. Variablene som opprettes av handlingene Tell og Summer brukes til å sende en e-post for å angi antall bestillinger og verdien deres.

Eksempel på en arbeidsflyt som henter en liste over forsinkede bestillinger, tagger dem, og sender en e-post med informasjon om antall og verdi på disse bestillingene.

Installer denne arbeidsflytmalen i butikken din.

Når en ny bestilling opprettes, sjekk om samme kunde har lagt inn andre bestillinger de siste 24 timene

Denne arbeidsflyten kan brukes til å avgjøre om samme kunde har lagt inn flere bestillinger på samme dag, og i så fall setter den distribusjonen på vent slik at bestillingene kan sendes samlet.

I dette eksemplet kjøres arbeidsflyten hver gang en ny bestilling opprettes. Arbeidsflyten bruker handlingen Hent bestillingsdata til å hente en liste over bestillinger kunden har lagt inn det siste døgnet. Deretter avgjør handlingen Tell hvor mange bestillinger kunden har lagt inn. Hvis to eller flere bestillinger er lagt inn av samme kunde på samme dag, settes distribusjonen av bestillingene på vent, og det legges til tagger på bestillingene.

Eksempel på en arbeidsflyt som henter en liste over flere bestillinger, tagger dem og setter distribusjonen på vent.

Installer denne arbeidsflytmalen i butikken din.

Få en daglig sammendrags-e-post som lister opp produkter som ikke er på lager

Denne arbeidsflyten kan brukes til å generere en liste over alle produkter som ikke er på lager og sende en e-post.

I dette eksemplet kjøres arbeidsflyten hver dag kl. 21:00. Arbeidsflyten bruker handlingen Hent produktdata for å hente en liste over produkter som ikke har noe på lager. Handlingen Tell avgjør antallet varer som ikke er på lager. Variablene som opprettes av handlingene Hent bestillingsdata og Tell brukes til å sende en e-post for å angi antall produkter og en liste over disse produktene.

Eksempel på en arbeidsflyt som henter en liste over flere bestillinger, tagger dem og setter distribusjonen på vent.

Installer denne arbeidsflytmalen i butikken din.

Én gang om dagen, finn alle bestillinger knyttet til en tilbakeføring og tagg kunden

Denne arbeidsflyten kan brukes til å spore kunder som har startet en tilbakeføring.

I dette eksemplet kjøres arbeidsflyten hver dag kl. 10:00. Arbeidsflyten bruker handlingen Hent bestillingsdata for å hente en liste over bestillinger som har tilbakeføringer. Deretter legger handlingen For hver til en tagg på alle kundene som la inn disse bestillingene.

Eksempel på en arbeidsflyt som henter en liste over bestillinger med tilbakeføringer og tagger kunden som er knyttet til dem.

Installer denne arbeidsflytmalen i butikken din.

Når en ny bestilling opprettes, finn ut hvor mange bestillinger kunden har gjort de siste seks månedene

Denne arbeidsflyten kan brukes til å avgjøre hvor mange bestillinger en kunde har lagt inn de siste seks månedene og legge til lojalitetstagger.

I dette eksemplet kjøres arbeidsflyten hver gang en ny bestilling opprettes. Arbeidsflyten bruker handlingen Hent bestillingsdata til å hente en liste over bestillinger som er lagt inn av kunden de siste seks månedene. Deretter avgjør handlingen Tell antallet bestillinger kunden har lagt inn, og handlingen Summer avgjør verdien av disse bestillingene. En kundetagg legges til hvis antallet bestillinger er lik eller større enn fem, og en annen tagg legges til hvis verdien på bestillingene er lik eller større enn 100 USD.

Eksempel på en arbeidsflyt som henter en liste over bestillinger, beregner antall bestillinger og totalverdi, og legger til kundetagger.

Installer denne arbeidsflytmalen i butikken din.

Få en daglig liste over alle åpne bestillingsutkast og send en Slack-melding

Denne arbeidsflyten kan brukes til å sende en Slack-melding som angir om det er noen åpne bestillingsutkast i butikken din, og i så fall hvor mange.

I dette eksemplet kjøres arbeidsflyten hver dag kl. 17:00. Arbeidsflyten bruker handlingen Hent data for bestillingsutkast til å hente en liste over bestillingsutkast som har statusen Åpen. Deretter avgjør handlingen Tell antallet åpne bestillingsutkast. Variabelen som opprettes av Tell-handlingene brukes til å sende en Slack-melding for å angi antall åpne bestillingsutkast.

Eksempel på en arbeidsflyt som henter en liste over bestillingsutkast, beregner antallet åpne bestillingsutkast og sender en Slack-melding.

Installer denne arbeidsflytmalen i butikken din.