For hvert loop (iterere)

Handlingen For hvert loop (iterering) udfører trin på hver vare på en liste, når den handling er forbundet med valgmuligheden Gentag for hver vare. Denne handling fungerer kun på lister, f.eks. varelinjer i en ordre eller lister, der returneres af handlinger af typen Hent data, som f.eks. Hent kollektionsdata, Hent kundedata eller Hent produktdata.

Når du har tilføjet handlingen For hvert loop (iterering), skal du konfigurere yderligere trin for, hvordan loopet itererer over hver vare på den angivne liste. I modsætning til Sand/Falsk-forgreningen i betingelser har handlingen For hvert loop (iterering) en defineret rækkefølge for udførelsen af dens forgreninger:

  1. Forgreningen Gentag for hver vare udføres først og gentager trin, der skal udføres for hver post på listen. Handlingerne i denne forgrening udføres lige så mange gange, som der er varer på den angivne liste.
  2. Forgreningen Efter sidste vare udføres sidst og lader dig definere trin til at fortsætte workflowet. Dette trin udføres, efter at alle de handlinger, der udføres af Gentag for hver vare for hver enkelt vare på listen, er fuldført.

Du kan f.eks. oprette et workflow, der kører hver mandag. Workflowet bruger handlingen Hent ordredata til at hente ordrer, der er afgivet i løbet af den uge. Handlingen For hvert loop (iterering) anvender derefter et Ny ordre-tag på hver ordre, der returneres af getOrderData-listen. Når alle ordrerne på listen er blevet tagget, sendes der en intern mail, der angiver, at tagningen er fuldført.

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

Overvejelser ved brug af handlingen For hvert loop (iterering)

Gennemgå følgende overvejelser, før du bruger handlingen For hvert loop (iterering):

  • Listen, som du bruger i handlingen For hvert loop (iterering), må ikke indeholde mere end 1.000 varer. Hvis den valgte liste indeholder mere end 1.000 varer, mislykkes workflowet, og alle handlinger efter handlingen For hvert loop (iterering) udføres ikke.
  • Følgende handlinger kan ikke følge efter Gentag for hver vare:
    • Handlingen Vent.
    • Alle handlinger af typen Hent data, som f.eks. Hent ordredata.
    • Handlingen Kør kode.
  • Du kan kun indlejre én handling af typen For hvert loop (iterering) i en anden handling af typen For hvert loop (iterering).

Felter

Handlingen For hvert loop (iterering) indeholder følgende felter.

Felter, der bruges i handlingen 'For hvert'.
FeltBeskrivelse
ListePåkrævet. Listen over varer, der skal udføres en handling på. Dette kan f.eks. være en liste, der returneres af en handling af typen Hent data eller Kør kode, eller en liste, der returneres af en udløser, som f.eks. en liste over varelinjer, der returneres af udløseren Ordre oprettet.

Når du vælger en variabel, er det kun array-objekter ([]), der vises som valgbare muligheder.

Udløsere

Handlingen For hvert loop (iterering) kan bruges i alle workflows.

Overvågning af workflows

Når et workflow er kørt, kan du gennemgå dets ydeevne på siden Aktivitet i Shopify Flow. Følgende gælder for workflows, der indeholder handlingen For hvert loop (iterér):

  • Afsnittene Status og Handling gælder for alle de handlinger, som udføres af handlingen For hvert loop (iterér).
  • Forhåndsvisningen af workflowet fremhæver, hvor mange varer i loopet der har fulgt en bestemt sti.
  • Afsnittet Oplysninger om kørsel, herunder forhåndsvisningen af workflowet, viser resultaterne fra hver iteration af loopet. Brug menuen Vare i oplysningerne om trinnet for kørslen til at filtrere resultater efter udførte handlinger og fejl for hurtigt at fejlfinde loops.

Eksempel på trindata for en nylig kørsel med et For hvert loop. Eksemplet på trindata fremhæver menuen Varer, hvor du kan vælge, hvilken af de 7 varer du vil gennemgå trindata for.

Skabeloner

Føj varelinjer til rækker i Google Sheets, når der afgives en ny ordre

Når der oprettes en ny ordre, gennemgår et For hvert loop (iterér)-trin i et workflow hver varelinje for at føje produktdataene til en række i et Google Sheet. Se skabelon.

Føj produkter med et tag til en kollektion på et senere tidspunkt

På et fremtidigt tidspunkt hentes alle produkter med et bestemt tag, og de føjes derefter til en kollektion. Se skabelon.

Tillad bestilling for firmaer, der er oprettet via anmodninger om firmakonti

Tildel en bestillingstilladelse, når et firma oprettes via en anmodning om en firmakonto. Se skabelon.

Annuller ordrer, hvis kunden har afgivet mere end 5 ordrer i dag

Annullerer ordrer, hvis en kunde afgiver mere end 5 ordrer på en enkelt dag. Workflowet tjekker antallet af ordrer, som en kunde har afgivet inden for de seneste 24 timer, annullerer alle ordrer, der overskrider denne grænse, og tagger kunden for potentiel svindel. Se skabelon.

Konverter et kundemetafelt til tags for alle kunder

Dette workflow udfylder tags på alle kunder på baggrund af en metafeltværdi. Det kører hver time og henter op til 100 kunder, der ikke har et processed-tag. For hver kunde ser det på værdien af et custom.test-metafelt og tilføjer det som et tag. Workflowet tilføjer også et processed-tag, så kunden ikke returneres i den næste planlagte kørsel af workflowet. For at bruge workflowet skal du ændre metafeltets navneområde og nøgle, så det matcher et metafelt i din butik. Se skabelon.

Slet inaktive kunder

Slet kundeprofiler, der er over 5 år gamle, og som aldrig har afgivet en ordre. Se skabelon.

Slet inaktive produkter

Slet produkter uden lagerbeholdning, som ikke er blevet opdateret i et år. Se skabelon.

Klargør alle digitale varer i en ordre

Klargører alle varer, der ikke kræver fysisk levering, f.eks. digitale varer, eller som matcher en liste over SKU'er. Kører én gang for hver klargøringslokation (“klargøringsordren”) for en ny ordre. Se skabelon.

Sæt klargøringer på hold, hvis en kunde har afgivet flere ordrer inden for 24 timer

Tjekker, om en kunde har afgivet flere ordrer inden for en periode på 24 timer. Hvis det er tilfældet, sættes klargøringerne på hold, og forsendelsen konsolideres. Se skabelon.

Sæt ordrer på hold, hvis kunden har afgivet mere end 1 ordre inden for de seneste 24 timer

Når en ordre oprettes, tjekkes det, om kunden har afgivet andre ordrer inden for de seneste 24 timer. Hvis det er tilfældet, sættes alle ordrer på hold. Se skabelon.

Udgiv produkter med et bestemt tag på et senere tidspunkt

På en fremtidig dato hentes produkter med et bestemt tag og udgives. Dette workflow bruger udløseren Planlagt tidspunkt og handlingen Hent produktdata. Se skabelon.

Frigiv klargøring på hold for ombytningsvarer, når en returnering lukkes

Når en returnering er lukket, tjekkes det, om der er en udestående saldo på ordren. Hvis der ikke er nogen ordresaldo, frigives ombytningsvarerne. Se skabelon

Fjern produkttagget “ny” 90 dage efter, at produktet er oprettet

Hver dag hentes op til 100 produkter, der blev oprettet for mere end 90 dage siden, og som stadig har tagget new. Workflowet fjerner derefter disse tags for hvert produkt. Se skabelon.

Planlæg fjernelse af produkter fra webshoppen på en angivet dato og et angivet tidspunkt

På en enkelt fremtidig dato fjernes produkter fra webshoppen efter tag, id eller SKU. Gør brug af udløseren Planlagt tidspunkt og handlingen Hent produktdata. Se skabelon.

Send faktura for B2B-ordre til flere mailadresser

Send fakturaer for B2B-ordrer til flere mailadresser. Dette bruger de mailadresser, der er gemt som metafelter på en firmalokation, hvis de findes, eller opretter først 3 metafelter, extra_invoice_recipient.email1, .email2 og .email3, hvis de ikke allerede findes. Se skabelon.

Send ordre og varelinjer til Google Sheets

Send hver varelinje i en ordre til en række i Google Sheets. Se skabelon.

Tag og send et dagligt resume af forsinkede klargøringer

Hver dag tagges og sendes der et dagligt mailresume, der tæller det samlede antal og dollarværdien af alle ordrer, der ikke overholder en forsendelsesgaranti på 2 dage. Se skabelon.

Tag kunder, der har en chargeback

Hver time henter dette workflow ordrer med chargebacks og føjer et tag til kunden for ordren. Gør brug af udløseren Planlagt tidspunkt og handlingen Hent ordredata. Se skabelon.

Tag ordrer med den tilknyttede UTM-kampagne

Tilføjer tags til ordrer, der indeholder navnene på eventuelle tilknyttede UTM-kampagner. Se skabelon.

Tag ikke-klargjorte ordrer, der er ældre end 2 dage

Hver dag henter workflowet alle ikke-klargjorte ordrer, der er ældre end 2 dage, og føjer et tag til ordren. Se skabelon.

Spor produktvarianter på udsalg ved hjælp af et produktmetafelt

Angiver et metafelt for et produkt, hvis mindst én af dets varianter er på udsalg. Dette kan være nyttigt til at spore, hvilke produkter der i øjeblikket er på udsalg. Se skabelon.