För varje loop (iterera)

Åtgärden För varje-loop (iterera) utför steg för varje artikel i en lista när åtgärden är ansluten till alternativet Upprepa för varje artikel. Den här åtgärden fungerar endast på listor, till exempel orderrader i en order, eller listor som returneras av alla åtgärder av typen Hämta data, till exempel Hämta produktseriedata, Hämta kunddata eller Hämta produktdata.

När du har lagt till åtgärden För varje-loop (iterera) måste du konfigurera ytterligare steg för hur loopen itererar för varje artikel i den angivna listan. Till skillnad från Sant/Falskt-förgreningen för villkor har åtgärden För varje-loop (iterera) en definierad åtgärdsordning för sina grenar:

  1. Grenen Upprepa för varje artikel körs först och upprepar steg som ska utföras för varje post i listan. Åtgärderna i den här grenen körs lika många gånger som det finns artiklar i den angivna listan.
  2. Grenen Efter sista artikeln körs sist och låter dig definiera steg för att fortsätta arbetsflödet. Det här steget vidtas efter att alla åtgärder som utförs av Upprepa för varje artikel för varje artikel i listan är klara.

Du skapar till exempel ett arbetsflöde som körs varje måndag. Arbetsflödet använder åtgärden Hämta orderdata för att hämta ordrar som lagts under den veckan. För varje-loop (iterera)-åtgärden lägger sedan till taggen Ny order på varje order som returneras av getOrderData-listan. När alla ordrar i listan har taggats skickas ett internt e-postmeddelande som meddelar att taggningen är slutförd.

Exempel på ett arbetsflöde som hämtar en lista över ordrar som lagts den senaste veckan, lägger till en tagg på varje order och sedan skickar ett e-postmeddelande.

Att tänka på när du använder åtgärden För varje-loop (iterera)

Tänk på följande innan du använder åtgärden För varje-loop (iterera):

  • Listan som du använder i åtgärden För varje-loop (iterera) kan inte ha fler än 1 000 artiklar. Om den valda listan har fler än 1 000 artiklar, misslyckas arbetsflödet och inga åtgärder efter åtgärden För varje-loop (iterera) vidtas.
  • Följande åtgärder kan inte följa Upprepa för varje artikel:
    • Åtgärden Vänta.
    • Alla Hämta data-åtgärder, till exempel Hämta orderdata.
    • Åtgärden Kör kod.
  • Du kan endast nästla 1 För varje-loop (iterera)-åtgärd i en annan För varje-loop (iterera)-åtgärd.

Fält

Åtgärden För varje-loop (iterera) innehåller följande fält.

Fält som används i För varje-åtgärden.
FältBeskrivning
ListaObligatoriskt. Listan med objekt som en åtgärd ska utföras på. Detta kan till exempel vara en lista som returneras av åtgärden Hämta data (Get data) eller Kör kod (Run code), eller en lista som returneras av en utlösare, till exempel en lista med poster som returneras av utlösaren Order skapad (Order created).

När du väljer en variabel visas endast array-objekt ([]) som valbara alternativ.

Utlösare

Åtgärden För varje-loop (iterera) kan användas i alla arbetsflöden.

Övervaka arbetsflöden

När ett arbetsflöde har körts kan du granska dess resultat på sidan Aktivitet i Shopify Flow. Följande gäller för arbetsflöden som innehåller åtgärden För varje-loop (iterera):

  • Avsnitten Status och Åtgärd gäller för alla åtgärder som vidtas av åtgärden För varje-loop (iterera).
  • Förhandsgranskningen av arbetsflödet visar hur många artiklar i loopen som följde en viss sökväg.
  • Avsnittet Körningsdetaljer, inklusive förhandsgranskningen av arbetsflödet, visar resultaten från varje loop-iteration. Använd menyn Artikel i körningens stegdetaljer för att filtrera resultat efter vidtagna åtgärder och fel för att snabbt kunna felsöka loopar.

Exempel på stegdata för en nyligen genomförd körning med en För varje-loop. Exemplet på stegdata belyser Artikelmenyn, som låter dig välja vilken av de 7 artiklarna du vill granska stegdata för.

Mallar

Lägg till orderposter på rader i Google Sheets när en ny order läggs

När en ny order skapas loopar ett För varje-loop (iterera)-steg i ett arbetsflöde över varje orderpost för att lägga till produktdata på en rad i Google Sheet. Visa mallen.

Lägg till produkter med en tagg i en produktserie vid ett senare tillfälle

Hämta alla produkter med en viss tagg vid en framtida tidpunkt och lägg sedan till dem i en produktserie. Visa mallen.

Tillåt beställning för företag som skapats via företagskontoförfrågningar

Tilldela beställningsbehörighet när ett företag skapas av en företagskontoförfrågan. Visa mallen.

Annullera ordrar om kunden har lagt fler än 5 ordrar idag

Annullerar ordrar om en kund lägger fler än 5 ordrar under en och samma dag. Det kontrollerar antalet ordrar som en kund har lagt under de senaste 24 timmarna och annullerar alla ordrar som överskrider denna gräns och taggar kunden för potentiellt bedrägeri. Visa mallen.

Konvertera ett kundmetafält till taggar för alla kunder

Detta arbetsflöde kompletterar med taggar för alla dina kunder baserat på ett metafältvärde. Det körs varje timme och hämtar upp till 100 kunder som inte har en processed-tagg. För varje kund tittar det på värdet för ett custom.test-metafält och lägger till det som en tagg. Arbetsflödet lägger även till en processed-tagg så att den inte returneras i nästa schemalagda körning av arbetsflödet. För att använda arbetsflödet måste du ändra metafältets namnrymd och nyckel för att matcha ett metafält i din butik. Visa mallen.

Radera inaktiva kunder

Radera kundprofiler som är äldre än 5 år och som aldrig har lagt en order. Visa mallen.

Radera inaktiva produkter

Radera produkter utan lager som inte har uppdaterats på ett år. Visa mallen.

Distribuera alla digitala artiklar i en order

Distribuerar alla artiklar som inte kräver fysisk leverans, till exempel digitala artiklar, eller som matchar en lista med SKU:er. Körs en gång för varje distributionsplats (”distributionsordern”) för en ny order. Visa mallen.

Pausa distributioner om en kund har lagt flera ordrar inom 24 timmar

Kontrollera om en kund har lagt flera ordrar inom en 24-timmarsperiod. Om så är fallet, pausa distributionerna och samordna frakten. Visa mallen.

Pausa ordrar om kunden har lagt fler än 1 order under de senaste 24 timmarna

När en order skapas, kontrollera om kunden har lagt några andra ordrar under de senaste 24 timmarna. Om så är fallet, pausa alla ordrar. Visa mallen.

Publicera produkter med en viss tagg vid ett senare tillfälle

Hämta produkter med en viss tagg och publicera dem på ett framtida datum. Detta arbetsflöde använder utlösaren Schemalagd tid och åtgärden Hämta produktdata. Visa mallen.

Häv distributionspaus för bytesartiklar när returen stängs

När en retur stängs, kontrollera om det finns ett utestående saldo på ordern. Om det inte finns något ordersaldo, häv pausen för bytesartiklarna. Visa mallen

Ta bort produkttaggen ”ny” 90 dagar efter att produkten skapades

Varje dag hämtas upp till 100 produkter som skapades för mer än 90 dagar sedan och som fortfarande har ny-taggen. Arbetsflödet tar sedan bort dessa taggar för varje produkt. Visa mallen.

Schemalägg borttagning av produkter från Webbshoppen på angivet datum och tid

Tar bort produkter från webbshoppen vid ett framtida datum baserat på tagg, ID eller lagerhållningsenhet. Använder utlösaren Schemalagd tid och åtgärden Hämta produktdata. Visa mall.

Skicka B2B-orderfaktura till flera e-postadresser

Skicka fakturor för B2B-ordrar till flera e-postadresser. Detta använder de e-postadresser som sparats som metafält på en företagsplats, när de finns, eller skapar först 3 metafält, extra_invoice_recipient.email1, .email2 och .email3, när de inte redan finns. Visa mallen.

Skicka order och orderposter till Google Sheets

Skriver ut varje orderpost till en rad i Google Sheets. Visa mallen.

Tagga och skicka en daglig sammanfattning av sena distributioner

Tagga och skicka varje dag en daglig e-postsammanfattning som räknar det totala antalet och dollarvärdet för alla ordrar som missar en 2-dagars fraktgaranti. Visa mallen.

Tagga kunder som har en chargeback

Varje timme hämtar detta arbetsflöde ordrar med chargebacks och lägger till en tagg på kunden för ordern. Använder utlösaren Schemalagd tid och åtgärden Hämta orderdata. Visa mallen.

Tagga ordrar med tillhörande UTM-kampanj

Lägger till taggar på ordrar som innehåller namnen på eventuella tillhörande UTM-kampanjer. Visa mallen.

Tagga öppna ordrar som är äldre än 2 dagar

Varje dag hämtar arbetsflödet alla öppna ordrar som är äldre än 2 dagar och lägger till en tagg på ordern. Visa mallen.

Spåra produktvarianter som är på rea med hjälp av ett produktmetafält

Anger ett metafält på en produkt om minst en av dess varianter är på rea. Detta kan vara användbart för att spåra vilka produkter som för närvarande är på rea. Visa mallen.