Schema's, gegevens ophalen en herhalende workflows in Shopify Flow
In de meeste gevallen kun je een workflow bouwen door meerdere voorwaarden en acties te koppelen aan een trigger die wordt uitgevoerd wanneer een gebeurtenis plaatsvindt. Voor complexere gebruiksscenario's bestaat er mogelijk geen trigger voor wat je wilt doen, moet de workflow op een bepaald tijdstip worden uitgevoerd of moet je met een lijst met gegevens werken. In deze gevallen kun je triggers voor geplande tijd, 'gegevens ophalen'-acties en lussen gebruiken om geavanceerde workflows aan te maken.
Stel bijvoorbeeld dat je een dagelijks overzicht van openstaande bestellingen wilt ontvangen. Met deze set functies kun je een workflow uitvoeren die elke dag op een bepaald tijdstip wordt gestart, die bestellingen ophaalt en je er vervolgens een overzicht van stuurt. Je kunt meer voorbeelden en templates bekijken die gebruikmaken van deze triggers en acties.
Op deze pagina
Trigger 'Geplande tijd'
In plaats van een workflow te starten vanwege een gebeurtenis, start de trigger Geplande tijd een workflow op een specifieke tijd en datum die jij opgeeft. Je kunt de workflow ook zo plannen dat deze elk uur, elke dag, elke week of elke maand wordt herhaald. Omdat de workflow volgens een planning wordt uitgevoerd, moet je een actie gebruiken om gegevens zoals klanten, bestellingen of producten op te halen. Dit kun je doen met 'Gegevens ophalen'-acties.
De trigger 'Geplande tijd' kan elke 10 minuten worden uitgevoerd.
'Gegevens ophalen'-acties
De meeste acties veranderen iets in je winkel, bijvoorbeeld tags aan een klant toevoegen of een opdracht naar een app sturen, zoals een app de instructie geven om een pushmelding naar een klant te sturen.
'Gegevens ophalen'-acties halen gegevens uit je winkel op voor gebruik in Flow. Deze acties roepen een query aan met een set filters, bijvoorbeeld om alleen gegevens op te halen die de afgelopen dag zijn bijgewerkt. De actie retourneert een lijst met gegevens die aan die criteria voldoen. De actie Bestelgegevens ophalen roept bijvoorbeeld de Order-query aan op de Admin API en retourneert een lijst met bestellingen die overeenkomen met je query.
'Gegevens ophalen'-acties kunnen alleen worden uitgevoerd op lijsten van maximaal 100 artikelen.
De volgende acties halen informatie uit je winkel op, zodat je die gegevens in je workflow kunt gebruiken. Raadpleeg elke actie voor meer informatie over hoe je gegevens filtert en welke gegevens worden geretourneerd:
- Sessiegegevens van kassaverkeer ophalen
- Collectiegegevens ophalen
- Bedrijfsgegevens ophalen
- Gegevens van bedrijfslocatie ophalen
- Klantgegevens ophalen
- Kortingsgegevens ophalen
- Gegevens van conceptbestelling ophalen
- Gegevens van fulfilmentbestelling ophalen
- Cadeaubongegevens ophalen
- Locatiegegevens ophalen
- Metaobject-items ophalen
- Metaobject-item ophalen
- Bestelgegevens ophalen
- Productgegevens ophalen
- Productvariantgegevens ophalen
- Gegevens van verkoopplangroep ophalen
- Gegevens van factureringspoging voor abonnement ophalen
- Gegevens van abonnementscontract ophalen
Liquid-tags in 'Gegevens ophalen'-acties
Wanneer je een 'Gegevens ophalen'-actie met datums gebruikt, kun je de Liquid-tags date_minus en date_plus gebruiken om datums in je query te wijzigen. Om bijvoorbeeld een datum te berekenen die 5 dagen voor de geplande uitvoeringstijd van een workflow ligt, kun je de volgende Liquid gebruiken:
{{ scheduledAt | date_minus: "5 days" }}Raadpleeg de documentatie over Liquid-variabelen voor meer informatie over het gebruik van deze tags.
'Voor elke'-lussen
Wanneer je een 'Gegevens ophalen'-actie gebruikt, krijg je een lijst met gegevens die overeenkomt met je query. Je kunt de actie Voor elke-loop (herhalen) gebruiken om die lijst te doorlopen. In een 'Voor elke'-loop kun je voorwaarden en acties gebruiken die alleen op dat specifieke artikel van toepassing zijn.
Je maakt bijvoorbeeld een workflow aan die elke maandag wordt uitgevoerd. De workflow gebruikt de actie Bestelgegevens ophalen om bestellingen op te halen die in die week zijn geplaatst. De 'Voor elke'-loop (herhalen) past vervolgens een tag Nieuwe bestelling toe op elke bestelling die wordt geretourneerd door de lijst getOrderData. Nadat alle bestellingen in de lijst zijn getagd, wordt er een interne e-mail verzonden om aan te geven dat het taggen is voltooid.

Aggregatieacties
Wanneer je met lijsten werkt, wil je misschien het aantal artikelen tellen om te gebruiken in latere voorwaarden en acties. Je wilt bijvoorbeeld controleren of er meer dan 0 resultaten zijn voordat je een e-mail verzendt. Flow biedt deze acties om berekeningen uit te voeren op lijstgegevens in een workflow:
- Tellen retourneert het aantal items in een lijst.
- Optellen telt de waarden van items in een lijst bij elkaar op.
Voorbeelden van geavanceerde workflows in Shopify Flow
Bekijk enkele voorbeelden van geavanceerde workflows die je kunt gebruiken in Shopify Flow:
- Een dagelijks overzicht ontvangen van bestellingen die een fulfilmenttermijn van twee dagen overschrijden.
- Wanneer een nieuwe bestelling wordt aangemaakt, controleren of dezelfde klant in de afgelopen 24 uur andere bestellingen heeft geplaatst.
- Elke dag een overzichtsmail ontvangen met producten die niet op voorraad zijn.
- Eén keer per dag alle bestellingen zoeken die verband houden met een terugboeking en de klant taggen.
- Wanneer een nieuwe bestelling wordt aangemaakt, nagaan hoeveel bestellingen de klant in de afgelopen zes maanden heeft geplaatst.
- Elke dag een lijst ophalen van alle openstaande conceptbestellingen en een Slack-bericht verzenden.
Een dagelijks overzicht ontvangen van bestellingen die buiten een fulfilmentperiode van twee dagen vallen
Deze workflow kan worden gebruikt om te bepalen of bestellingen een gegarandeerde verzendtermijn hebben overschreden en, zo ja, wat de waarde van die bestellingen is.
In dit voorbeeld wordt de workflow elke dag om 17.00 uur uitgevoerd. De workflow gebruikt de actie Get order data om een lijst op te halen van bestellingen die niet binnen een verzendperiode van twee dagen zijn afgehandeld. Vervolgens voegt de actie For each een tag toe aan alle te late bestellingen. De workflow gebruikt ook de actie Count om het aantal te late bestellingen te bepalen en de actie Sum om de waarde van die bestellingen te bepalen. De variabelen die door de acties Count en Sum worden aangemaakt, worden gebruikt om een e-mail te verzenden met het aantal bestellingen en hun waarde.

Deze workflow-template in je winkel installeren.
Wanneer een nieuwe bestelling wordt aangemaakt, controleren of dezelfde klant in de afgelopen 24 uur andere bestellingen heeft geplaatst
Deze workflow kan worden gebruikt om te bepalen of dezelfde klant op dezelfde dag meerdere bestellingen heeft geplaatst en, zo ja, de fulfilment pauzeert zodat de bestellingen samen kunnen worden verzonden.
In dit voorbeeld wordt de workflow uitgevoerd telkens wanneer een nieuwe bestelling wordt aangemaakt. De workflow gebruikt de actie Get order data om een lijst op te halen met bestellingen die de klant de afgelopen dag heeft geplaatst. Vervolgens bepaalt de actie Count het aantal bestellingen dat de klant heeft geplaatst. Als er op dezelfde dag twee of meer bestellingen door dezelfde klant zijn geplaatst, wordt de fulfilment van de bestellingen gepauzeerd en worden er tags aan de bestellingen toegevoegd.

Deze workflow-template in je winkel installeren.
Elke dag een overzichtsmail ontvangen met producten die niet op voorraad zijn
Deze workflow kan worden gebruikt om een lijst te genereren van al je producten die niet op voorraad zijn en een e-mail te verzenden.
In dit voorbeeld wordt de workflow elke dag om 21.00 uur uitgevoerd. De workflow gebruikt de actie Get product data om een lijst op te halen van producten die geen voorraad hebben. De actie Count bepaalt het aantal artikelen dat niet op voorraad is. De variabelen die worden aangemaakt door de acties Get order data en Count worden gebruikt om een e-mail te verzenden met het aantal producten en een lijst van die producten.

Deze workflow-template in je winkel installeren.
Eén keer per dag alle bestellingen zoeken die verband houden met een terugboeking en de klant taggen
Deze workflow kan worden gebruikt om klanten te volgen die een terugboeking hebben gestart.
In dit voorbeeld wordt de workflow elke dag om 10.00 uur uitgevoerd. De workflow gebruikt de actie Get order data om een lijst met bestellingen met terugboekingen op te halen. Vervolgens voegt de actie For each een tag toe aan alle klanten die deze bestellingen hebben geplaatst.

Deze workflow-template in je winkel installeren.
Wanneer een nieuwe bestelling wordt aangemaakt, nagaan hoeveel bestellingen de klant in de afgelopen zes maanden heeft geplaatst
Deze workflow kan worden gebruikt om te bepalen hoeveel bestellingen een klant in de afgelopen zes maanden heeft geplaatst en om loyaliteitstags toe te voegen.
In dit voorbeeld wordt de workflow uitgevoerd telkens wanneer een nieuwe bestelling wordt aangemaakt. De workflow gebruikt de actie Get order data om een lijst op te halen met bestellingen die de klant in de afgelopen zes maanden heeft geplaatst. Vervolgens bepaalt de actie Count het aantal bestellingen dat de klant heeft geplaatst en de actie Sum de waarde van die bestellingen. Er wordt een klanttag toegevoegd als het aantal bestellingen gelijk is aan of groter is dan vijf, en er wordt nog een tag toegevoegd als de waarde van de bestellingen gelijk is aan of groter is dan $ 100.

Deze workflow-template in je winkel installeren.
Elke dag een lijst ophalen van alle openstaande conceptbestellingen en een Slack-bericht verzenden
Deze workflow kan worden gebruikt om een Slack-bericht te verzenden dat aangeeft of er openstaande conceptbestellingen in je winkel zijn, en zo ja, hoeveel.
In dit voorbeeld wordt de workflow elke dag om 17.00 uur uitgevoerd. De workflow gebruikt de actie Get draft order data om een lijst op te halen van conceptbestellingen met de status Open. Vervolgens bepaalt de actie Count het aantal openstaande conceptbestellingen. De variabele die door de Count-actie wordt aangemaakt, wordt gebruikt om een Slack-bericht te verzenden met het aantal openstaande conceptbestellingen.
