來自範本的基於時間與庫存的觸發條件
四種自訂觸發器範本:訂單未在 N 天內完成、貨件狀態未更新、達到元資料欄位中的日期,以及庫存低於該倉庫的閾值。
Shopify Flow 會在發生特定事件時觸發。其中一些最實用的自動化流程,是在某個事件未發生時,或當特定日期到來時啟動的:例如訂單在三天後仍未出貨、包裹停止移動,或是元資料欄位中儲存的發行日期。另一些流程則需要一套 Shopify Flow 條件無法表達的規則,例如針對每個據點設定不同的低庫存門檻。
共有四個範本可處理這些情況。每個範本都是自訂觸發器:您只需在自訂觸發器編輯器中選擇範本,於程式碼頂端設定幾個值,進行測試後即可啟用。您無需自行撰寫程式碼。
四個範本
| 範本 | 運作方式 | 它對什麼產生反應 |
|---|---|---|
| 訂單已未完成 N 天 | 按時間表,每小時一次 | 一筆尚未完成或僅部分完成的未結訂單,自下單之日起經過您設定的天數 |
| 貨件已停滯 N 天 | 按時間表,每小時一次 | 在您設定的天數內,若訂單內容未作任何變更,但該筆貨件仍未送達 |
| 在元字段中達到的日期 | 按固定時間表,每 6 小時一次 | 產品或訂單中某個已達成的日期元資料欄位,或是距離該日期還有若干天 |
| 庫存量跌破該地點設定的閾值 | 每次庫存變動時 | 某個地點的可用庫存量跌破您為該地點設定的門檻 |
該區間是範本的起始值。您可以在編輯器中進行修改。
使用範本
在「觸發器」頁面的「您的自訂觸發器」區段中,建立一個自訂觸發器。為其指定名稱和識別碼。識別碼是工作流程用來進行篩選的依據,且日後無法變更。
關於這三個預設範本:
- 在**「執行條件**」區段中,請選擇「**依排程執行」**選項。
- 在「排程」卡片中,開啟**「從範本開始」**清單,並選擇該範本。系統會自動替換程式碼並設定間隔。
- 請編輯程式碼頂端的數值。以下將針對各範本分別說明這些數值的用途。
- 請進行測試。測試會執行您的程式碼一次,不會將任何資料傳送至 Shopify Flow,也不會儲存任何資料,因此您可以隨意重複執行。
- 開啟扳機並儲存。
關於預設範本:
- 在**「此流程的運作原理」**區段中,請選擇「**一個 Shopify 事件」**選項。
- 開啟「從範本開始」清單,並選擇「庫存」範本。系統會自動選取「地點庫存量變更」事件,並填入代碼。
- 請編輯程式碼頂端的數值。
- 透過變更商店中某個變體的庫存數量來模擬真實事件,然後針對該變體執行測試。
- 開啟扳機並儲存。
在 Shopify Flow 中使用它
這四項資料都會以「自訂觸發器」的形式傳入 Shopify Flow。將其新增至工作流程,並設定一個條件:該欄位的**「觸發器識別碼」**必須等於您的觸發器識別碼。範本傳送的每個值,都會成為觸發器上的一個欄位。
這三個預設範本也會將訂單或產品作為事件的記錄 ID 傳遞。請新增一個步驟(例如「取得訂單資料」或「取得產品資料」),以載入完整的記錄,並在後續步驟中加以運用。
訂單已未完成 N 天
在客戶提出要求之前,便已發現延遲的貨件。
| 程式碼中的價值 | 起初是 | 意思 |
|---|---|---|
DAYS |
3 |
下單後經過的天數 |
ONLY_PAID |
true |
只有已付款的訂單才算數。未付款的訂單通常是在等待付款,而不是在等你 |
當每個已開啟且尚未完成或僅部分完成的訂單達到您設定的時限時,此觸發器會針對該訂單啟動工作流程一次。若訂單已於時限內完成,則不會觸發此流程。
此檢查每筆訂單僅執行一次,且僅在該時刻進行。若一週後訂單仍未完成,系統不會再次啟動此工作流程。若啟用「僅限已付款」設定,則在該時刻之後才付款的訂單亦不會被納入處理。
| 傳送至 Shopify Flow 的欄位 | 包含 |
|---|---|
name |
訂單名稱,例如 #1042 |
placedAt |
下單時 |
daysSinceOrder |
訂單的天數 |
fulfillmentStatus |
訂單的處理狀態 |
financialStatus |
訂單的付款狀態 |
thresholdDays |
您設定的天數 |
該訂單本身會作為該事件的記錄 ID 傳遞。

貨件已停滯 N 天
在客戶提出「我的訂單在哪裡」這個問題之前,就已為其解答。
| 程式碼中的價值 | 起初是 | 意思 |
|---|---|---|
DAYS |
5 |
未發生任何變動的天數 |
ONLY_WITH_TRACKING |
true |
沒有追蹤編號的貨件將被排除在外。這些貨件永遠無法回報已送達 |
DONE |
DELIVERED, PICKED_UP, CANCELED |
視為已完成的出貨狀態 |
Shopify 無法根據貨件最後移動的日期進行搜尋。因此,此範本是根據訂單來運作的。它會搜尋那些已完成或部分完成的訂單,這些訂單在您設定的天數內未曾更新,且仍有未完成的貨件。
**訂單的任何變更都會重新開始計數。**追蹤更新會觸發此機制,編輯備註或新增標籤同樣會觸發此機制。
觸發器會針對每筆停滯的貨件啟動一次工作流程,因此若一筆訂單中有兩件停滯的包裹,則會觸發兩次。每筆訂單最多檢查三件貨件。
| 傳送至 Shopify Flow 的欄位 | 包含 |
|---|---|
name |
訂單名稱 |
fulfillmentId |
該貨件的編號 |
shipmentStatus |
貨件的目前狀態 |
lastTrackingStatus |
最新追蹤事件的狀態 |
lastMovedAt |
貨件上次移動的時間 |
daysWithoutMovement |
自貨件上次移動以來已過多少天 |
shippedAt |
建立該貨運時 |
estimatedDeliveryAt |
預計送達日期(若承運商有提供) |
carrier |
承運人的名稱 |
trackingNumber |
追蹤編號 |
trackingUrl |
追蹤連結 |
thresholdDays |
您設定的天數 |
該訂單本身會作為該事件的記錄 ID 傳遞。
在元字段中達到的日期
關於發行日期、保固期限、最佳食用期限、續約日期:任何您在產品或訂單上標註的日期。
| 程式碼中的價值 | 起初是 | 意思 |
|---|---|---|
RESOURCE |
"products" |
元欄位的位置:在產品上還是訂單上 |
NAMESPACE |
"custom" |
元欄位的命名空間 |
KEY |
"release_date" |
元欄位的鍵值 |
OFFSET_DAYS |
0 |
距該日期前或後的天數。請參閱以下範例 |
關於偏移量的三個範例:
| 偏移量 | 當您的工作流程開始時 |
|---|---|
0 |
在當天 |
-7 |
距離該日期還有七天 |
30 |
自該日起三十天後 |
此觸發器會針對每個在該日到期的產品或訂單,觸發一次工作流程。日期以 UTC 為準。此觸發器會逐日處理,因此若某日未處理,系統會依序補上。當某一天有超過 100 筆記錄到期時,其餘記錄將在後續執行時處理。
| 傳送至 Shopify Flow 的欄位 | 包含 |
|---|---|
name |
產品名稱或訂單名稱 |
date |
儲存於元資料欄位中的日期 |
reachedOn |
該紀錄的截止日期 |
offsetDays |
您設定的偏移量 |
產品或訂單本身會作為該事件的記錄 ID 傳遞。
庫存量跌破該地點設定的閾值
每個地點有一項低庫存規則:倉庫內保留 20 件,店內保留 3 件。
| 程式碼中的價值 | 起初是 | 意思 |
|---|---|---|
THRESHOLDS |
{ "Main warehouse": 20, "Pop-up store": 3 } |
各地點的門檻,依地點名稱排列 |
DEFAULT |
5 |
未列出的每個地點的門檻 |
ALSO_WHEN_RESTOCKED |
false |
無論您的工作流程是否也在庫存回到閾值或高於閾值時啟動 |
若要忽略某個位置,請將其閾值設為 null。若要僅監控清單中的位置,請將預設閾值設為 null。
此觸發器**會在「交叉點」觸發工作流程一次:**即庫存量在變動前達到或高於閾值,變動後則低於該閾值。當庫存量已處於低位時,它不會對每筆銷售交易做出反應。這是因為應用程式知道每次變動前後的庫存量。
請將地點名稱完全照搬自您的 Shopify 管理後台「設定」>「**地點」**中的顯示方式。
此範本需啟用「位置庫存量變更」觸發器,並授予其權限。這正是讓應用程式能追蹤庫存量的關鍵。請參閱 「觸發器」頁面(原名為「設定」) 及 權限與資料存取。
| 傳送至 Shopify Flow 的欄位 | 包含 |
|---|---|
event |
發生了什麼事:股價跌破門檻,或股價已回升 |
productTitle |
產品名稱 |
variantTitle |
該變體標題 |
sku |
該變體的 SKU |
location |
地點名稱 |
locationId |
該地點的 ID |
oldAvailable |
變更前的現有庫存 |
newAvailable |
變更後的可用庫存 |
threshold |
當時適用的門檻 |
「發生了什麼事」這個欄位會儲存以下兩種值之一:
| 價值 | 意思 |
|---|---|
below |
股價跌破門檻 |
restocked |
庫存已回升至閾值或高於閾值 |
我已開啟觸發器,為何工作流程仍未啟動?
預定範本的首度執行僅會記住其起始點。觸發器會對在此之後跨越該時間點的訂單、出貨及日期做出反應,而非對已經超過該時間點的項目做出反應。
我能否比每小時一次更頻繁地執行檢查?
是的,間隔時間由您自行決定,範圍從每 30 秒到每天一次皆可。間隔時間越短,執行次數就越多,而每次執行都會計入您的計畫中。對於以天為單位的規則,通常每小時執行一次就綽綽有餘了。
日期觸發器回報錯誤。問題出在哪裡?
幾乎總是因為元欄位定義的問題。該元欄位必須為「日期」類型,並且在「設定 > 自訂資料」下已啟用**「篩選」**選項。此外,請確認程式碼中的命名空間和鍵值與定義完全一致。
範本會影響我的訂單或產品嗎?
不。自訂觸發器僅具讀取功能。若要為訂單加上標籤、發送電子郵件或更新元資料欄位,請將這些動作新增至由該觸發器啟動的工作流程中。
一筆貨件滯留的時間超過了我設定的天數,但我的工作流程卻未啟動。為什麼?
計數是從訂單的最後一次變更開始計算的。若在此期間訂單曾被編輯(無論是由工作人員、其他應用程式或追蹤更新所致),計數將從該時刻重新開始。
後續步驟
- 自訂觸發器 - 編輯器、測試,以及自訂觸發器在 Shopify Flow 中的運作方式。
- 使用 AI 產生觸發程式碼 - 描述另一條規則,並讓 AI 撰寫程式碼。
- 方案與使用方式 - 執行次數和事件如何計入您的方案。
- 庫存觸發條件,逐步說明 - 內建庫存觸發器的逐步教學。
