Tidsbaserede og lagerbaserede udløsere fra skabeloner

Tidsbaserede og lagerbaserede udløsere fra skabeloner

Kopier side

Fire skabeloner til Shopify Flow: udløs workflows, når en ordre ikke er ekspederet, en forsendelse står stille, en metafeltdato nås eller lageret er lavt.

Shopify Flow reagerer, når der sker noget. Nogle af de mest nyttige automatiseringer udløses, når noget ikke sker, eller når en bestemt dato indtræffer: en ordre, der stadig ikke er afsendt efter tre dage, en pakke, der ikke længere er i bevægelse, eller en udgivelsesdato, der er gemt i et metafelt. Andre kræver en regel, som en Shopify Flow-betingelse ikke kan udtrykke, f.eks. en forskellig grænse for lavt lagerbeholdning for hver lokation.

Der findes fire skabeloner til disse tilfælde. Hver af dem er en brugerdefineret udløser: Du vælger skabelonen i redigeringsværktøjet til brugerdefinerede udløsere, indstiller et par værdier øverst i koden, tester den og aktiverer den. Du behøver ikke selv at skrive koden.

De fire skabeloner

Skabelon Sådan fungerer det Hvad det reagerer på
Ordene er ikke blevet ekspederet i N dage Efter en tidsplan, hver time En åben ordre, der endnu ikke er gennemført eller kun delvist er gennemført, det antal dage, du har angivet, efter at den blev afgivet
Forsendelsen har stået stille i N dage Efter en tidsplan, hver time En forsendelse, der ikke er blevet leveret, selvom der ikke er sket ændringer i ordren i det antal dage, du har angivet
Dato i et metafelt er nået Efter en tidsplan, hver 6. time Et dato-metafelt for et produkt eller en ordre, hvor datoen er nået, eller hvor der er et bestemt antal dage tilbage
Lagerbeholdningen faldt under en lokations egen tærskelværdi Ved hver ændring i lagerbeholdningen Lagerbeholdning på en lokation, der falder under den tærskel, du har fastsat for den pågældende lokation

Intervallet er skabelonens startværdi. Du kan ændre det i redigeringsprogrammet.

Brug en skabelon

Opret en brugerdefineret udløser på siden »Udløsere« under afsnittet Dine brugerdefinerede udløsere. Giv den et navn og et identifikationsnavn. Identifikationsnavnet er det, som din arbejdsgang filtrerer efter, og det kan ikke ændres senere.

For de tre foruddefinerede skabeloner:

  1. I afsnittet Hvad får dette til at køre skal du vælge indstillingen Efter en tidsplan.
  2. I fanen Tidsplan skal du åbne listen Start fra en skabelon og vælge skabelonen. Den erstatter koden og indstiller intervallet.
  3. Rediger værdierne øverst i koden. De er beskrevet for hver skabelon nedenfor.
  4. Prøv det. En test kører din kode én gang, sender intet til Shopify Flow og gemmer intet, så du kan gentage den så mange gange, du vil.
  5. Aktivér udløseren og gem.

For standardskabelonen:

  1. I afsnittet Hvad udløser denne handling skal du vælge indstillingen »Én Shopify-begivenhed«.
  2. Åbn listen Start fra en skabelon, og vælg standardskabelonen. Den vælger begivenheden Lagerbeholdning ændret på lokation og udfylder koden.
  3. Rediger værdierne øverst i koden.
  4. Registrer en faktisk hændelse ved at ændre lagerbeholdningen for en variant i din butik, og udfør derefter en test på baggrund heraf.
  5. Aktivér udløseren, og gem.

Brug det i Shopify Flow

Alle fire vises i Shopify Flow som udløseren Brugerdefineret udløser. Føj den til en arbejdsgang, og tilføj en betingelse: Feltet Trigger handle skal svare til håndteringen for din udløser. Hver værdi, som skabelonen sender, er et felt i udløseren.

De tre planlagte skabeloner videregiver også ordren eller produktet som begivenhedens post-id. Tilføj et trin, f.eks. Hent ordredata eller Hent produktdata, for at indlæse den fulde post og arbejde med den i de efterfølgende trin.

Ordene er ikke blevet ekspederet i N dage

Opdager forsinkede forsendelser, før kunden spørger.

Værdi i koden Begynder som Betydning
DAYS 3 Antal dage efter, at ordren blev afgivet
ONLY_PAID true Kun betalte ordrer tæller med. En ubetalt ordre venter som regel på betalingen, ikke på dig

Triggeren udløser din arbejdsgang én gang for hver åben ordre, der stadig er uafviklet eller kun delvist klargjort, når den når den alder, du har angivet. En ordre, der blev klargjort i tide, udløser aldrig triggeren.

Kontrollen foretages én gang pr. ordre, på det pågældende tidspunkt. En ordre, der stadig ikke er ekspederet en uge senere, udløser ikke arbejdsgangen en anden gang. Med indstillingen »kun betalte ordrer« bliver en ordre, der først betales efter det pågældende tidspunkt, heller ikke ekspederet.

Felt sendt til Shopify Flow Indeholder
name Ordrenummeret, f.eks. #1042
placedAt Da ordren blev afgivet
daysSinceOrder Ordrens alder i dage
fulfillmentStatus Ordrens leveringsstatus
financialStatus Ordrens betalingsstatus
thresholdDays Det antal dage, du indstiller

Selve ordren overføres som begivenhedens rekord-id.

Koden til skabelonen »Ordre uafviklet i N dage« i redigeringsværktøjet til brugerdefinerede udløsere, der starter med værdierne DAYS og ONLY_PAID
Skabelonen i editoren. De to værdier øverst i koden er dem, du skal redigere.

Forsendelsen har stået stille i N dage

Besvarer spørgsmålet »Hvor er min ordre?«, før det bliver stillet.

Værdi i koden Begynder som Betydning
DAYS 5 Antal dage uden ændringer
ONLY_WITH_TRACKING true Forsendelser uden sporingsnummer udelades. Der kan aldrig rapporteres om en levering
DONE DELIVERED, PICKED_UP, CANCELED Forsendelsesstatus, der betragtes som afsluttet

I Shopify er det ikke muligt at søge efter den dato, hvor en forsendelse sidst blev flyttet. Skabelonen tager derfor udgangspunkt i ordren. Den søger efter afsluttede eller delvist afsluttede ordrer, der ikke er blevet opdateret i det antal dage, du har angivet, og som stadig har en forsendelse, der ikke er afsluttet.

Enhver ændring af ordren nulstiller tællingen. Det gælder både en opdatering af sporingen, en redigeret note og et nyt tag.

Udløseren starter din arbejdsgang én gang pr. forsendelse, der er gået i stå, så en ordre med to pakker, der er gået i stå, starter den to gange. Der kontrolleres op til tre forsendelser pr. ordre.

Felt sendt til Shopify Flow Indeholder
name Ordrens navn
fulfillmentId Forsendelsens ID
shipmentStatus Forsendelsens aktuelle status
lastTrackingStatus Status for den seneste sporingshændelse
lastMovedAt Hvornår blev forsendelsen sidst flyttet?
daysWithoutMovement Antal dage siden forsendelsen sidst blev flyttet
shippedAt Da forsendelsen blev oprettet
estimatedDeliveryAt Den forventede leveringsdato, hvis transportøren oplyser en sådan
carrier Transportørens navn
trackingNumber Forsendelsesnummeret
trackingUrl Sporingslinket
thresholdDays Det antal dage, du indstiller

Selve ordren overføres som begivenhedens rekord-id.

Dato i et metafelt er nået

Udgivelsesdatoer, garantier, holdbarhedsdatoer, fornyelsesdatoer: alt, hvad der angives som en dato på et produkt eller en ordre.

Værdi i koden Begynder som Betydning
RESOURCE "products" Hvor metafeltet findes: på produkter eller på ordrer
NAMESPACE "custom" Metafeltets navneområde
KEY "release_date" Metafeltets nøgle
OFFSET_DAYS 0 Antal dage før eller efter datoen. Se eksemplerne nedenfor

Tre eksempler på forskydningen:

Forskydning Når din arbejdsgang starter
0 Selve dagen
-7 Syv dage før datoen
30 Tredive dage efter datoen

Udløseren starter din arbejdsgang én gang for hvert produkt eller hver ordre, der forfalder den pågældende dag. Dagene angives i UTC. Udløseren behandler én dag ad gangen, så de dage, den har sprunget over, indhentes i rækkefølge. Når der er mere end 100 poster, der forfalder på én dag, behandles de resterende ved de næste kørsler.

Felt sendt til Shopify Flow Indeholder
name Produktnavnet eller ordrenavnet
date Den dato, der er gemt i metafeltet
reachedOn Den dag, hvor rapporten skulle afleveres
offsetDays Den forskydning, du har indstillet

Selve produktet eller ordren overføres som begivenhedens rekord-id.

Lagerbeholdningen faldt under en lokations egen tærskelværdi

Én regel for lave lagerniveauer pr. lokation: 20 på lageret, 3 i butikken.

Værdi i koden Begynder som Betydning
THRESHOLDS { "Main warehouse": 20, "Pop-up store": 3 } Indgangen til hver lokation, opført efter lokationens navn
DEFAULT 5 Tærsklen for alle lokationer, der ikke er anført
ALSO_WHEN_RESTOCKED false Uanset om din arbejdsgang også starter, når lagerbeholdningen igen ligger på eller over tærskelværdien

Hvis du vil udelade en lokation, skal du angive tærskelværdien null for den. Hvis du kun vil overvåge de angivne lokationer, skal du indstille standardtærskelværdien til null.

Udløseren starter din arbejdsgang én gang, ved skiftet: Lagerbeholdningen lå på eller over tærskelværdien før ændringen og ligger under den bagefter. Den reagerer ikke på hvert eneste salg, mens lagerbeholdningen allerede er lav. Det er muligt, fordi appen kender lagerbeholdningen før og efter hver ændring.

Skriv lokationenavnene nøjagtigt, som de fremgår i din Shopify-administrationsside under Indstillinger > Lokationer.

Denne skabelon kræver, at udløseren Lagerbeholdning ændret på lokation er aktiveret, og at de nødvendige tilladelser er tildelt. Det er det, der gør, at appen følger med i lagerbeholdningen. Se Siden »Udløsere« (tidligere »Indstillinger«) og Tilladelser og dataadgang.

Felt sendt til Shopify Flow Indeholder
event Hvad der skete: Aktien faldt under tærsklen, eller aktien er tilbage
productTitle Produktnavnet
variantTitle Varianttitlen
sku Variantens SKU
location Navnet på lokationen
locationId Lokationens id
oldAvailable Lagerbeholdning før ændringen
newAvailable Tilgængeligt lager efter ændringen
threshold Den gældende tærskel

Feltet for, hvad der skete, kan indeholde en af to værdier:

Værdi Betydning
below Aktien faldt under tærsklen
restocked Lagerbeholdningen er igen på eller over tærskelværdien
Hvorfor startede min arbejdsgang ikke, efter at jeg havde tændt for udløseren?

Den første kørsel af en planlagt skabelon husker kun sit startpunkt. Udløseren reagerer på ordrer, forsendelser og datoer, der passerer dette punkt efterfølgende, ikke på dem, der allerede har passeret det.

Kan jeg køre kontrollen oftere end en gang i timen?

Ja, du kan selv vælge intervallet - fra hvert 30. sekund til én gang om dagen. Et kortere interval betyder flere kørsler, og hver kørsel tæller med i din plan. For en regel, der måles i dage, er hver time som regel mere end nok.

Dato-udløseren melder en fejl. Hvad er der galt?

Næsten altid metafeltdefinitionen. Den skal være af typen »Dato«, og indstillingen Filtrering skal være aktiveret under Indstillinger > Brugerdefinerede data. Kontroller også, at navneområdet og nøglen i koden stemmer nøjagtigt overens med definitionen.

Kan en skabelon ændre mine ordrer eller produkter?

Nej. En brugerdefineret udløser udfører kun læsehandlinger. Hvis du vil mærke ordren, sende en e-mail eller opdatere et metafelt, skal du tilføje disse handlinger til den arbejdsgang, der starter med udløseren.

En forsendelse var forsinket i længere tid end de dage, jeg havde angivet, og min arbejdsgang blev ikke sat i gang. Hvorfor?

Tællingen regnes fra den seneste ændring af ordren. Hvis ordren i mellemtiden er blevet redigeret - enten af personalet, via en anden app eller som følge af en opdatering af sporingsoplysningerne - starter tællingen forfra fra det pågældende tidspunkt.

Næste skridt