Tidsbaserade och lagerbaserade utlösare från mallar

Tidsbaserade och lagerbaserade utlösare från mallar

Kopiera sidan

Fyra mallar för anpassade utlösare i Shopify Flow: olevererade order efter N dagar, stillastående försändelser, metafältsdatum och lågt lager per plats.

Shopify Flow reagerar när något inträffar. Några av de mest användbara automatiseringarna startar när något inte inträffar, eller när ett visst datum infaller: en beställning som fortfarande inte har skickats efter tre dagar, ett paket som har stannat upp i leveranskedjan, ett lanseringsdatum som är lagrat i ett metafält. Andra kräver en regel som inte kan uttryckas med ett Shopify Flow-villkor, till exempel olika gränsvärden för lågt lager för varje plats.

Det finns fyra mallar för dessa fall. Var och en är en anpassad utlösare: du väljer mallen i redigeraren för anpassade utlösare, anger några värden högst upp i koden, testar den och aktiverar den. Du behöver inte skriva koden själv.

De fyra mallarna

Mall Hur det fungerar Vad den reagerar på
Beställningen har inte levererats på N dagar Enligt ett schema, varje timme En öppen order som ännu inte har genomförts, eller endast delvis, det antal dagar som du angav efter det att den lades
Sändningen har inte rört sig på N dagar Enligt ett schema, varje timme En försändelse som inte har levererats trots att inga uppgifter om beställningen har ändrats under det antal dagar som du har angett
Datum då ett metafält nåddes Enligt ett schema, var 6:e timme Ett datummetafält för en produkt eller en beställning som har inträffat, eller som ligger ett visst antal dagar framåt i tiden
Lagret sjönk under en anläggnings egen tröskel Vid varje lagerförändring Lagerbeholdningen på en anläggning sjunker under det tröskelvärde som du har angett för den anläggningen

Intervallet är mallens startvärde. Du kan ändra det i redigeraren.

Använd en mall

Skapa en anpassad utlösare på sidan ”Utlösare”, i avsnittet ”Dina anpassade utlösare”. Ge den ett namn och ett identifieringsnamn. Identifieringsnamnet är det som ditt arbetsflöde filtrerar efter, och det går inte att ändra i efterhand.

För de tre fördefinierade mallarna:

  1. I avsnittet ”Hur detta körs” väljer du alternativet ”Enligt schema”.
  2. Öppna listan ”Starta från en mall” på fliken Schema och välj mallen. Då ersätts koden och intervallet ställs in.
  3. Redigera värdena högst upp i koden. De beskrivs nedan för respektive mall.
  4. Testa det. Ett test kör din kod en gång, skickar ingenting till Shopify Flow och sparar ingenting, så du kan upprepa det så ofta du vill.
  5. Slå på avtryckaren och spara.

För standardmallen:

  1. I avsnittet ”Vad som utlöser detta” väljer du alternativet ”En Shopify-händelse”.
  2. Öppna listan ”Starta från en mall” och välj standardmallen. Systemet väljer händelsen ”Lagernivå har ändrats på plats” och fyller i koden.
  3. Redigera värdena högst upp i koden.
  4. Registrera en verklig händelse genom att ändra lagerstatusen för en variant i din butik och kör sedan ett test mot den.
  5. Slå på avtryckaren och spara.

Använd den i Shopify Flow

Alla fyra importeras till Shopify Flow som den anpassade utlösaren ”Custom Trigger”. Lägg till den i ett arbetsflöde och ange ett villkor: att fältet ”Trigger handle” ska vara lika med namnet på din utlösare. Varje värde som mallen skickar är ett fält i utlösaren.

De tre schemalagda mallarna skickar även med beställningen eller produkten som händelsens post-ID. Lägg till ett steg, till exempel ”Hämta beställningsdata” eller ”Hämta produktdata”, för att ladda hela posten och arbeta med den i de efterföljande stegen.

Beställningen har inte levererats på N dagar

Upptäcker försenade leveranser innan kunden hinner fråga.

Värde i koden Börjar med Betydelse
DAYS 3 Antal dagar efter att beställningen gjordes
ONLY_PAID true Endast betalda beställningar räknas. En obetald beställning väntar vanligtvis på betalning, inte på dig.

Triggern startar ditt arbetsflöde en gång för varje öppen order som fortfarande är ouppfylld eller endast delvis uppfylld när den når den ålder du har ställt in. En order som har uppfyllts i tid utlöser aldrig triggern.

Kontrollen sker en gång per beställning, just vid det tillfället. En beställning som fortfarande inte har levererats en vecka senare utlöser inte arbetsflödet en andra gång. Med inställningen ”endast betalda” tas inte heller en beställning med som har betalats först efter det tillfället med i beräkningen.

Fält som skickas till Shopify Flow Innehåller
name Ordernumret, till exempel #1042
placedAt När beställningen gjordes
daysSinceOrder Beställningens ålder i dagar
fulfillmentStatus Beställningens leveransstatus
financialStatus Beställningens betalningsstatus
thresholdDays Det antal dagar du anger

Själva ordern skickas vidare som händelsens post-ID.

Koden för mallen ”Order som inte har genomförts på N dagar” i redigeraren för anpassade utlösare, som inleds med värdena DAYS och ONLY_PAID
Mallen i redigeraren. De två värdena högst upp i koden är de som du redigerar.

Sändningen har inte rört sig på N dagar

Ger svar på frågan ”Var är min beställning?” innan den ens ställs.

Värde i koden Börjar med Betydelse
DAYS 5 Antal dagar utan förändring
ONLY_WITH_TRACKING true Sändningar utan spårningsnummer räknas inte med. De kan aldrig rapportera en leverans
DONE DELIVERED, PICKED_UP, CANCELED Leveransstatus som räknas som avslutade

Det går inte att söka i Shopify efter det datum då en leverans senast uppdaterades. Mallen utgår därför från beställningen. Den söker efter slutförda eller delvis slutförda beställningar som inte har uppdaterats på det antal dagar du angett och som fortfarande har en leverans som inte är avslutad.

Varje ändring av beställningen startar räkningen om från början. Det gäller både en uppdatering av spårningsinformationen, en redigerad anteckning och en ny tagg.

Triggern startar ditt arbetsflöde en gång per fastnat försändelse, så en beställning med två fastnade paket startar det två gånger. Upp till tre försändelser per beställning kontrolleras.

Fält som skickas till Shopify Flow Innehåller
name Orderens namn
fulfillmentId Sändningens ID
shipmentStatus Leveransens aktuella status
lastTrackingStatus Status för den senaste spårningshändelsen
lastMovedAt När försändelsen senast flyttades
daysWithoutMovement Antal dagar sedan försändelsen senast flyttades
shippedAt När försändelsen skapades
estimatedDeliveryAt Det beräknade leveransdatumet, om transportören anger något sådant
carrier Transportörens namn
trackingNumber Spårningsnumret
trackingUrl Spårningslänken
thresholdDays Det antal dagar du anger

Själva ordern skickas vidare som händelsens post-ID.

Datum då ett metafält nåddes

För lanseringsdatum, garantier, bäst före-datum, förnyelsedatum: allt som anges som ett datum på en produkt eller i en beställning.

Värde i koden Börjar med Betydelse
RESOURCE "products" Var metafältet finns: på produkter eller på order
NAMESPACE "custom" Metafältets namnområde
KEY "release_date" Metafältets nyckel
OFFSET_DAYS 0 Antal dagar före eller efter datumet. Se exemplen nedan

Tre exempel på förskjutningen:

Offset När ditt arbetsflöde startar
0 På själva dagen
-7 Sju dagar före datumet
30 Trettio dagar efter den dagen

Utlösaren startar ditt arbetsflöde en gång för varje produkt eller beställning vars förfallodag infaller den dagen. Dagarna anges i UTC. Utlösaren bearbetar en dag i taget, så de dagar som den har missat hanteras i tur och ordning. När fler än 100 poster förfaller samma dag hanteras resten vid nästa körning.

Fält som skickas till Shopify Flow Innehåller
name Produktens titel eller ordernamnet
date Det datum som lagrats i metafältet
reachedOn Den dag då rapporten skulle lämnas in
offsetDays Den förskjutning du har ställt in

Själva produkten eller beställningen överförs som händelsens post-ID.

Lagret sjönk under en anläggnings egen tröskel

En regel för låga lagernivåer per plats: 20 i lagret, 3 i butiken.

Värde i koden Börjar med Betydelse
THRESHOLDS { "Main warehouse": 20, "Pop-up store": 3 } Tröskeln för varje plats, uppdelat efter platsens namn
DEFAULT 5 Tröskelvärdet för varje plats som inte finns med i listan
ALSO_WHEN_RESTOCKED false Oavsiktligt om ditt arbetsflöde också startar när lagernivån åter når tröskelvärdet eller överstiger det

Om du vill ignorera en plats anger du tröskelvärdet null för den. Om du endast vill övervaka de angivna platserna ställer du in standardtröskelvärdet till null.

Utlösaren startar ditt arbetsflöde en gång, vid övergången: lagernivån låg på eller över tröskelvärdet före förändringen och ligger under det efteråt. Den reagerar inte på varje försäljning när lagernivån redan är låg. Detta är möjligt eftersom appen känner till lagernivån före och efter varje förändring.

Skriv in platsnamnen exakt så som de visas i din Shopify-admin under Inställningar > Platser.

Den här mallen kräver att utlösaren ”Lagernivå ändrad på plats” är aktiverad och att behörigheterna för den har beviljats. Det är detta som gör att appen kan följa lagernivåerna. Se Sidan ”Triggers” (tidigare ”Inställningar”) och Behörigheter och åtkomst till data.

Fält som skickas till Shopify Flow Innehåller
event Vad som hände: aktiekursen sjönk under tröskelvärdet, eller så har aktiekursen återhämtat sig
productTitle Produktens titel
variantTitle Alternativ titel
sku Variantens SKU
location Platsens namn
locationId Platsens ID
oldAvailable Tillgängligt lager före ändringen
newAvailable Tillgängligt lager efter ändringen
threshold Den tröskel som gällde

Fältet för vad som hände kan ha ett av två värden:

Värde Betydelse
below Aktiekursen sjönk under tröskelvärdet
restocked Lagernivån ligger återigen på eller över tröskelvärdet
Varför startade inte mitt arbetsflöde efter att jag hade slagit på utlösaren?

Vid den första körningen av en schemalagd mall lagras endast startpunkten. Utlösaren reagerar på order, leveranser och datum som passerar gränsen efter det, inte på de som redan har passerat den.

Kan jag köra kontrollen oftare än en gång i timmen?

Ja, du väljer själv intervallet, från var 30:e sekund till en gång om dagen. Ett kortare intervall innebär fler körningar, och varje körning räknas in i din plan. För en regel som mäts i dagar räcker det oftast mer än väl med en gång i timmen.

Datumutlösaren visar ett felmeddelande. Vad är det för fel?

Nästan alltid definitionen av metafältet. Det måste vara av typen Datum och alternativet Filtrering måste vara aktiverat under Inställningar > Anpassade data. Kontrollera också att namnområdet och nyckeln i koden stämmer exakt överens med definitionen.

Kan en mall ändra mina beställningar eller produkter?

Nej. En anpassad utlösare är endast avsedd för läsning. Om du vill märka ordern, skicka ett e-postmeddelande eller uppdatera ett metafält måste du lägga till dessa åtgärder i det arbetsflöde som startar med utlösaren.

En leverans fastnade längre än de dagar jag hade angett, och mitt arbetsflöde startade inte. Varför?

Räkningen räknas från den senaste ändringen av beställningen. Om beställningen under tiden har redigerats - av personal, via en annan app eller genom en spårningsuppdatering - börjar räkningen om från det ögonblicket.

Nästa steg