僅僅知道某項內容發生了變化,通常是不夠的。工作流程通常需要知道之前的狀態:價格是下降還是上升、變動幅度為何、新增了哪個标签,以及元字段昨天顯示的內容。本次更新讓新舊兩項值可在整個應用程式中取得,並允許自定义触发器在完全沒有任何變化發生時啟動工作流程。
新舊價值,處處可見
- **元字段触发器现在会传递前一个值。**每个元字段触发器(通用、产品、变体、订单、客户)都会在
Metafield.value 旁将 Metafield.previousValue 传递给 Shopify Flow。当元字段刚建立时,此值是空的。请参阅 以及。
- 價格、單價及成本的變動皆以數值呈現。由於Shopify Flow無法進行算術運算,因此「變體價格變更」、「變體單價變更」及「**產品變體成本變更」**現亦會傳回「
delta」(新值減去舊值)、percentChange 以及 direction(增加、減少、維持不變)。 「價格下跌超過 10%」現已整合為單一条件,無需額外程式碼。
- **「产品更新」、「订单更新」和「客户更新」会告知您有哪些变更。**过去这些项目仅会显示该记录已更新,如今则会提供「
changes」:即变更栏位的清单,并针对每个栏位列出旧值与新值。 受追蹤的欄位包括:产品的标题、描述、状态、标签、供应商、类型和处理码;订单的付款状态、发货状态、订单项、标签、备注及附加详细信息;以及客户的标签、备注和账户状态。长值会被缩短。若更新内容不属于上述欄位(例如库存变动),则清单为空。
- **「订单草稿订单项变更」**现已提供与订单触发器相同的逐行差异比较:包括新增、刪除的内容,以及数量、价格或变体的变更。
- 您自定义的触发器程式码也会侦测到旧值和新值。 當「」的自定义触发器 在「产品更新」、「订单更新」或「客户更新」事件中触发时,现在会接收
payload._changes:所有发生变更的追踪栏位,每个栏位皆包含 oldValue 及 newValue。因此,您的程式码可在状态转换时触发,而非仅在特定状态下触发 - - 例如「状态从草稿变为有效」、「订单已付款」 - - 而这正是仅基于当前值的条件所无法表达的。 您在編輯器中擷取的範例事件會顯示該欄位。
所有內容皆可疊加。您已建立的工作流程將維持不變,繼續運作。各触发器的完整欄位清單請參閱「」触发器參考文件。
选择哪些变更会触发「更新」触发器
「产品更新」、「订单更新」和「客户更新」新增了一项设置,位于 的「触发器」页面 上,各自开关旁的齿轮图示后方:该设置会触发此功能。
- **未勾選任何選項:**触发器會在每次更新時觸發,與以往完全相同。
- 已勾選的欄位:僅當其中一項發生變更時才會觸發。其餘所有更新都會被跳過,且不計入您的套餐配額。
這也是防止工作流程自行觸發的簡潔方法。例如,某個工作流程在「產品更新」時啟動,隨後寫入一個用於再次觸發自身的工作流程的產品元字段。只要將觸發器限定在您關心的欄位上,第二次更新就不會再觸發該工作流程。
您的其他触发器不会受到此选择的影响。将「订单更新」的范围限定为付款状态,并不会改变「新增订单标签」触发器的时机。
依排程執行的自定义触发器
Shopify Flow 的自定义触发器 已具備這項能力。編輯器會詢問:「什麼會觸發此程式執行:一個 Shopify 事件,還是依照排程?」 若選擇「依排程執行」,您的程式碼將每 30 秒執行一次,每日最多執行一次。它會記住上次執行時所偵測到的內容,能夠讀取您的商店資料並呼叫公開網際網路上任何資源,並自行判斷何種情況算作變更。
請從範本開始,並編輯頂部的數字:
- 产品、订单或客户已 N 天未更新 - - 过期的目录评论、停滯的订单、客户回流。每个记录在每个「静默期」内触发一次;若在启用此功能时已有逾期项目,系统不会一次性触发所有相关操作。
- Shopify 以外的某個數值發生變更 - - 例如供應商庫存資料、匯率或價目表。系統會根據數值的變更前後值,以及數值的差異與百分比,觸發相應的處理。
- RSS 或 Atom 訂閱源中的新項目 - - 供應商新聞、商品清單訂閱源、狀態頁面。
- N 小時內無订单 - - 這是您商店的「心跳」。当订单停止时触发一次,当订单恢复时再触发一次。
排程触发器的首次执行仅会记住其所侦测到的内容,因此启用此触发器绝不会导致工作流程被淹没。它会在「Shopify Flow」中以「**自定义触发器」**的形式出现,并可通过其处理代号进行筛选,而该记录会以其 ID 形式呈现。无论是否实际触发,每次执行都会计入您的套餐中 - - 编辑器会显示该间隔累计的执行次数。 **「測試」**會執行您的程式碼一次,但不會觸發任何動作。
基於事件的自定义触发器的範本
自定义触发器现在也提供範本了。在**「从範本开始」**下方选择一个,系统便会选取该事件并填入程式码。每个範本都会读取变更前与变更后的值:
- 某項產品、訂單或客戶的欄位值從一個值變更為另一個值 - - 例如,狀態從「草稿」變更為「有效」,或是訂單狀態變更為「已付款」。
- 價格下跌了超過 N 個百分點 - - 這才是真正的降價,並非每次價格調整都是如此。
- 庫存跌破閾值 - - 觸發一次,即在庫存跨越該線的當下觸發,而非在庫存已處低位時每次銷售都觸發。
- 產品元字段數值超過閾值 - - 評分低於 3,利潤率高於 40。
- 「高价值客户已付款订单」 - - 通过
ctx.shopify() 读取客户在您商店中的累计消费金额,并仅在金额超过您设置的门槛时触发。
记录在其管理页面上的触发器
新的管理區塊會在「Shopify」管理介面中,直接於您正在檢視的記錄頁面顯示該記錄的最新觸發器事件,每個事件都以「舊版 → 新版」的簡短標示呈現,例如 price: 100.00 -> 85.00。您可從該處開啟該事件,或檢視該記錄的「事件歷史紀錄」。
適用於產品、變體、訂單、訂單草稿、客戶、產品系列、公司及公司地點。請從頁面的「自訂」選單中將此區塊新增一次。 处理个人资料的触发器会以不包含数值的格式列出。以下以产品、订单及客户页面为例,说明如何新增触发器:记录管理页面的触发事件。
「Generate with AI」新增更多 AI 服務供應商
「使用 AI 生成」()現已支援 Google Gemini 和 OpenRouter,除原有的 Anthropic 和 OpenAI 之外。透過 OpenRouter,您只需一個金鑰即可使用多家公司的模型,包括您輸入的任何模型 ID。 請前往**「開發者」→「連線」**頁面綁定金鑰:取得 Gemini API 金鑰 或 取得 OpenRouter API 金鑰。與先前相同,生成作業將在您自己的服務供應商帳戶上執行,且金鑰會經過加密處理,之後絕不會再次顯示。
基於 Shopify 的 Web Components 所打造的更快介面
該應用程式的每一個頁面均已基於 Shopify 的新版管理後台 Web 元件重新建構,這些元件正是 Shopify 管理後台本身所使用的基礎元件。
- **載入速度更快。**此應用程式不再隨附其專屬的介面函式庫。這些元件來自 Shopify,可與您管理後台的其他部分共用,且通常已存在於瀏覽器的快取中,因此每個頁面在顯示前需要下載的內容大幅減少。
- **感覺就像是管理後台一樣。**按鈕、表格、開關、對話方塊和表單的外觀與行為,都與您在 Shopify 其他地方所使用的完全一致,包括鍵盤導航和螢幕閱讀器功能。
- **隨時保持最新狀態。**當 Shopify 改進其元件時,該應用程式會自動採用這些改進,無需我們進行更新。
一切都沒變:每頁、每個設定和每個連結都和原先一樣。
本版本還包含以下內容
- 在「權限」頁面上,請使用「全部授予」和「全部撤銷」功能。「全部授予」會透過單一的「Shopify」對話方塊,一次請求所有缺失的權限,而非針對每張卡片分別請求。「全部撤銷」會先要求您確認,並說明其意涵:您的触发器仍保持啟用狀態,只是在您再次授予存取權限之前,它們將無法觸發。
- 自定义触发器可通过
ctx.fetch() 连接到公开互联网,而不仅限於通过 ctx.shopify() 连接到您的商店。内部位址将被拒绝。
- **您的自定义触发器与店面触发器现在运作方式相同:**点击该列进行编辑,状态显示於右侧。
- 「触发器」页面会在标题旁显示当前启用的触发器数量,而四种文字型别的元字段触发器现在也各自在清单中拥有专属的开关。
- 必填欄位已在自定义触发器、店面触发器及连线表单上标示出来。
- **已修正:事件歷史紀錄中的日期篩選器無法清除。**先前移除日期標籤或選擇「清除全部」時,已套用的日期仍會保留。現在這兩種方式皆可清除這些日期。
- 「事件歷史」的每一列皆為純文字,而非藍色連結。整行仍可點擊。