Tidsbaserte og beholdningsbaserte utløsere fra maler

Tidsbaserte og beholdningsbaserte utløsere fra maler

Kopier side

Fire maler for tilpassede utløsere i Shopify Flow: ubehandlede ordrer, forsendelser som står stille, datoer i metafelt og lav lagerbeholdning per lagersted.

Shopify Flow reagerer når noe skjer. Noen av de mest nyttige automatiseringene utløses når noe ikke skjer, eller når en bestemt dato inntreffer: en ordre som fremdeles ikke er sendt etter tre dager, en pakke som har stått stille, eller en utgivelsesdato som er lagret i et metafelt. Andre krever en regel som ikke kan uttrykkes gjennom en Shopify Flow-betingelse, for eksempel en egen grense for lavt lagerbeholdning for hvert enkelt sted.

Det finnes fire maler som dekker disse tilfellene. Hver av dem er en tilpasset utløser: Du velger malen i redigeringsverktøyet for tilpassede utløsere, angir noen verdier øverst i koden, tester den og slår den på. Du trenger ikke å skrive koden selv.

De fire malene

Mal Slik fungerer det Hva det reagerer på
Bestillingen har vært ubehandlet i N dager Etter en tidsplan, hver time En åpen ordre som ennå ikke er oppfylt, eller bare delvis oppfylt, i det antall dager du har angitt etter at den ble lagt inn
Forsendelsen har stått stille i N dager Etter en tidsplan, hver time En forsendelse som ikke er levert, selv om det ikke har skjedd noen endringer i bestillingen i løpet av det antall dager du har angitt
Dato i et metafelt oppnådd Etter en tidsplan, hver 6. time Et dato-metafelt for et produkt eller en ordre som er nådd, eller som ligger et visst antall dager frem i tid
Aksjekursen falt under et steds egen terskel Ved hver endring i lagerbeholdningen Tilgjengelig lagerbeholdning på et sted som faller under terskelen du har angitt for det stedet

Intervallet er malens startverdi. Du kan endre det i redigeringsverktøyet.

Bruk en mal

Opprett en egendefinert utløser på siden «Utløsere», i delen Dine egendefinerte utløsere. Gi den et navn og et identifikator. Identifikatoren er det arbeidsflyten din bruker til å filtrere etter, og den kan ikke endres senere.

For de tre forhåndsdefinerte malene:

  1. I avsnittet Hva utløser denne kjøringen velger du alternativet Etter en tidsplan.
  2. I kortet Tidsplan åpner du listen Start fra en mal og velger malen. Den erstatter koden og angir intervallet.
  3. Rediger verdiene øverst i koden. De er beskrevet for hver mal nedenfor.
  4. Prøv det ut. En test kjører koden din én gang, sender ingenting til Shopify Flow og lagrer ingenting, så du kan gjenta den så mange ganger du vil.
  5. Slå på avtrekkeren og lagre.

For standardmalen:

  1. I avsnittet Hva utløser denne prosessen velger du alternativet «Én Shopify-hendelse».
  2. Åpne listen Start fra en mal og velg standardmalen. Da velges hendelsen Lagernivå endret på sted automatisk, og koden fylles inn.
  3. Rediger verdiene øverst i koden.
  4. Registrer en faktisk hendelse ved å endre lagerbeholdningen for en variant i butikken din, og kjør deretter en test på den.
  5. Slå på avtrekkeren og lagre.

Bruk den i Shopify Flow

Alle fire vises i Shopify Flow som utløseren Custom Trigger. Legg den til i en arbeidsflyt og legg til et vilkår: at feltet Trigger handle er lik utløserens handle. Hver verdi som malen sender, er et felt i utløseren.

De tre planlagte malene sender også ordren eller produktet som hendelsens post-ID. Legg til et trinn, for eksempel Hent ordredata eller Hent produktdata, for å laste inn hele posten og arbeide med den i de påfølgende trinnene.

Bestillingen har vært ubehandlet i N dager

Oppdager forsinkede forsendelser før kunden spør.

Verdien i koden Begynner som Betydning
DAYS 3 Antall dager etter at bestillingen ble lagt inn
ONLY_PAID true Bare betalte bestillinger teller. En ubetalt bestilling venter vanligvis på at betalingen skal komme inn, ikke på deg

Utløseren setter i gang arbeidsflyten én gang for hver åpen ordre som fremdeles ikke er fullført eller bare delvis fullført når den når den tidsgrensen du har angitt. En ordre som ble fullført i tide, utløser aldri denne prosessen.

Kontrollen utføres én gang per ordre, på det aktuelle tidspunktet. En ordre som fremdeles ikke er behandlet en uke senere, utløser ikke arbeidsflyten på nytt. Med innstillingen «kun betalte ordrer» blir heller ikke en ordre som først blir betalt etter dette tidspunktet, behandlet.

Felt sendt til Shopify Flow Inneholder
name Ordrenummeret, for eksempel #1042
placedAt Da bestillingen ble lagt inn
daysSinceOrder Antall dager siden bestillingen ble lagt inn
fulfillmentStatus Bestillingens leveringsstatus
financialStatus Betalingsstatusen for bestillingen
thresholdDays Antall dager du angir

Selve ordren overføres som hendelsens post-ID.

Koden for malen «Ordre uoppfylt i N dager» i redigeringsverktøyet for tilpassede utløsere, som begynner med verdiene DAYS og ONLY_PAID
Malen i redigeringsverktøyet. De to verdiene øverst i koden er de du skal redigere.

Forsendelsen har stått stille i N dager

Svarer på spørsmålet «Hvor er bestillingen min?» før det blir stilt.

Verdi i koden Begynner som Betydning
DAYS 5 Antall dager uten endringer
ONLY_WITH_TRACKING true Forsendelser uten sporingsnummer blir utelatt. De kan aldri rapportere en levering
DONE DELIVERED, PICKED_UP, CANCELED Forsendelsesstatus som regnes som fullført

Det er ikke mulig å søke i Shopify etter datoen da en forsendelse sist ble flyttet. Malen bruker derfor ordren som utgangspunkt. Den søker etter fullførte eller delvis fullførte ordrer som ikke har blitt oppdatert på det antallet dager du har angitt, og som fortsatt har en forsendelse som ikke er fullført.

Enhver endring i rekkefølgen starter tellingen på nytt. Dette skjer ved en oppdatering av sporingen, og det samme gjelder en redigert merknad eller en ny tag.

Utløseren setter i gang arbeidsflyten én gang per forsendelse som har stoppet opp, så en ordre med to pakker som har stoppet opp, utløser den to ganger. Opptil tre forsendelser per ordre blir sjekket.

Felt sendt til Shopify Flow Inneholder
name Ordrens navn
fulfillmentId Forsendelsens ID
shipmentStatus Forsendelsens nåværende status
lastTrackingStatus Status for den siste sporingshendelsen
lastMovedAt Når forsendelsen sist ble flyttet
daysWithoutMovement Antall dager siden forsendelsen sist ble flyttet
shippedAt Da forsendelsen ble opprettet
estimatedDeliveryAt Anslått leveringsdato, dersom transportøren oppgir en slik
carrier Navnet på transportøren
trackingNumber Sporingsnummeret
trackingUrl Sporingslenken
thresholdDays Antall dager du angir

Selve ordren overføres som hendelsens post-ID.

Dato i et metafelt oppnådd

Når det gjelder utgivelsesdatoer, garantier, holdbarhetsdatoer, fornyelsesdatoer: alt du oppgir som en dato på et produkt eller i en bestilling.

Verdien i koden Begynner som Betydning
RESOURCE "products" Hvor metafeltet befinner seg: på produkter eller på ordrer
NAMESPACE "custom" Navneområdet til metafeltet
KEY "release_date" Nøkkelen til metafeltet
OFFSET_DAYS 0 Antall dager før eller etter datoen. Se eksemplene nedenfor

Tre eksempler på forskyvningen:

Offset Når arbeidsflyten din starter
0 Selve dagen
-7 Syv dager før datoen
30 Tretti dager etter datoen

Utløseren starter arbeidsflyten én gang for hvert produkt eller hver ordre som har forfall på den aktuelle dagen. Dagene angis i UTC. Utløseren behandler én dag om gangen, så dager den har gått glipp av, blir behandlet i rekkefølge. Når det er mer enn 100 poster som forfaller på én dag, blir resten behandlet i de påfølgende kjøringene.

Felt sendt til Shopify Flow Inneholder
name Produkttittelen eller ordrenavnet
date Datoen som er lagret i metafeltet
reachedOn Dagen da innleveringsfristen gikk ut
offsetDays Forskyvningen du har angitt

Selve produktet eller bestillingen overføres som hendelsens post-ID.

Aksjekursen falt under stedets egen terskel

Én regel for lavt lagerbeholdning per sted: 20 på lageret, 3 i butikken.

Verdi i koden Begynner som Betydning
THRESHOLDS { "Main warehouse": 20, "Pop-up store": 3 } Inngangen til hvert sted, sortert etter stedets navn
DEFAULT 5 Grensen for alle steder som ikke er oppført
ALSO_WHEN_RESTOCKED false Uansett om arbeidsflyten din også starter når lagerbeholdningen er tilbake på eller over terskelverdien

For å ignorere et sted, angir du terskelverdien null for det. For å overvåke kun de oppførte stedene, angir du standardterskelverdien til null.

Utløseren setter i gang arbeidsflyten én gang, ved grenseovergangen: Lagerbeholdningen var på eller over terskelverdien før endringen og ligger under den etterpå. Den reagerer ikke på hvert eneste salg så lenge lagerbeholdningen allerede er lav. Dette er mulig fordi appen kjenner lagerbeholdningen før og etter hver endring.

Skriv inn stedsnavnene nøyaktig slik de vises i Shopify-administrasjonspanelet under Innstillinger > Steder.

Denne malen krever at utløseren Endring i lagernivå på lokasjon er aktivert, og at den har de nødvendige tillatelsene. Det er dette som gjør at appen følger med på lagernivåene. Se Siden «Utløsere» (tidligere «Innstillinger») og Tillatelser og datatilgang.

Felt sendt til Shopify Flow Inneholder
event Hva skjedde: Aksjen falt under terskelen, eller aksjen er tilbake
productTitle Produktnavnet
variantTitle Alternativt tittel
sku SKU-nummeret til varianten
location Navnet på stedet
locationId Stedets ID
oldAvailable Tilgjengelig lagerbeholdning før endringen
newAvailable Tilgjengelig lagerbeholdning etter endringen
threshold Den terskelen som gjaldt

Feltet for «hva som skjedde» kan ha én av to verdier:

Verdi Betydning
below Aksjekursen falt under terskelen
restocked Lagerbeholdningen er tilbake på eller over terskelen
Hvorfor startet ikke arbeidsflyten min etter at jeg slo på utløseren?

Den første kjøringen av en planlagt mal husker bare startpunktet. Utløseren reagerer på ordrer, forsendelser og datoer som kommer etter dette tidspunktet, ikke på de som allerede har passert det.

Kan jeg kjøre sjekken oftere enn hver time?

Ja, du kan selv velge intervall, fra hvert 30. sekund til én gang om dagen. Et kortere intervall betyr flere kjøringer, og hver kjøring teller med i planen din. For en regel som måles i dager, er én time vanligvis mer enn nok.

Dato-utløseren melder en feil. Hva er galt?

Nesten alltid definisjonen av metafeltet. Det må være av typen «Date», og alternativet Filtrering må være aktivert under Innstillinger > Tilpassede data. Sjekk også at navnerommet og nøkkelen i koden stemmer nøyaktig overens med definisjonen.

Kan en mal endre bestillingene eller produktene mine?

Nei. En tilpasset utløser utfører kun lesing. For å merke bestillingen, sende en e-post eller oppdatere et metafelt, må du legge til disse handlingene i arbeidsflyten som starter med utløseren.

En forsendelse ble forsinket lenger enn antall dager jeg hadde angitt, og arbeidsflyten min ble ikke satt i gang. Hvorfor?

Tellingen regnes fra den siste endringen i bestillingen. Dersom bestillingen i mellomtiden er blitt redigert - enten av personale, via en annen app eller gjennom en sporingsoppdatering - starter tellingen på nytt fra det tidspunktet.

Neste trinn