有效載荷映射與 Shopify Flow 變數
Shopify Flow 觸發欄位是平面的字串。您的有效載荷很可能並非如此。映射就是用來挑選傳入請求中,您的工作流程所需的那些部分。
四大領域
每個 Webhook 都會向 Shopify Flow 公開四個欄位:fieldOne、fieldTwo、fieldThree、fieldFour。請在「進階設定」中,將每個欄位對應至您有效載荷中的鍵。
假設有以下請求正文:


{
"orderId": "1001",
"customer": { "email": "someone@example.com", "name": "Alex" },
"note": "gift wrap"
}| 領域 | 將其映射至 | 數值達到 Shopify Flow |
|---|---|---|
fieldOne |
orderId |
1001 |
fieldTwo |
customer.email |
someone@example.com |
fieldThree |
customer.name |
Alex |
fieldFour |
note |
gift wrap |
嵌套值使用點路徑(customer.email)。陣列元素則使用索引(items.0.sku)。
在 Shopify Flow 中,您將它們稱為 {{fieldOne}}、{{fieldTwo}} 等。
物件與陣列
如果映射的值本身是一個物件或陣列,我們會自動將其轉換為 JSON 字串,因為 Shopify Flow 變數無法儲存結構體。將上例中的 fieldOne 映射至 customer 後,結果為 Shopify Flow:
{"email":"someone@example.com","name":"Alex"}當您需要取回這些片段時,請在「Shopify Flow」的「**執行程式碼」**動作中進行解析。
當四個欄位不夠用時
四個命名欄位可涵蓋大多數的整合需求。若無法涵蓋,您還有三個可選擇啟用的開關,這些開關均位於「進階設定」下,且預設皆為關閉狀態:
| 場景設定 | Shopify Flow 收到的內容 | Shopify Flow 中的欄位 |
|---|---|---|
| 允許自訂請求正文 | 接受任何體型,無需嚴格驗證 | - |
| 運用全身 | 整個請求正文作為一個 JSON 字串 | rawBody |
| 包含請求標頭 | 請求的標頭以鍵值對清單的形式呈現 | requestHeaders |
| 包含查詢參數 | URL 查詢字串作為鍵值對清單 | queryParams |
requestHeaders 而 queryParams 會以清單形式傳入 - - 請在「執行程式碼」動作中迭代 requestHeaders.items,其中每個項目皆為 { key, value }。
請將檔案大小控制在 50KB 以下
Shopify Flow 將每次觸發執行限制在 50KB 內。我們會先測量實際要傳送的有效載荷大小,並透過 payload_too_large 預先拒絕任何超過此限制的內容,如此一來,您就能獲得明確的錯誤訊息,而非在後續工作流程中才發生失敗。
若遇到此問題,請傳送較小的正文,或關閉「使用完整正文」、「包含請求標頭」及「包含查詢參數」這幾項設定 - - 這些通常就是導致問題的元兇。
標頭和查詢內容會被始終記錄下來
這些「選擇加入」開關僅控制會**轉發至 Shopify Flow **的內容。呼叫記錄會始終記錄標頭和查詢字串(其中敏感值已進行遮罩處理),因此您無需將所有資料傳送至工作流程,即可對請求進行除錯。

