傳送 HTTP 要求
此頁面列印時間為 Sep 19, 2024。如須最新版本,請至 https://help.shopify.com/zh-TW/manual/shopify-flow/reference/actions/send-http-request。
傳送 HTTP 要求 動作會將您的工作流程連結至網頁伺服器或網址,並傳送 HTTP 要求。
Flow 傳送 HTTP 要求後,最多會等待 30 秒以接收 HTTP 回應碼。如果 30 秒後仍未收到回應,Flow 就會關閉與應用程式的連結,並在稍後重試要求。
欄位
傳送 HTTP 要求 動作包含下欄欄位。
欄位 | 說明 |
---|---|
HTTP 方法 | 傳送 HTTP 要求的方式。傳送 HTTP 要求 動作支援下列方法:
|
網址 | 傳送 HTTP 要求的伺服器 URL。 |
標頭 | HTTP 要求的關鍵與值配對。您可以輸入多個鍵值對。 |
正文 | 要發送到伺服器的內容。 |
觸發條件
傳送 HTTP 要求 動作可用於任何工作流程。
範例
呼叫 Shopify GraphQL Admin API
在此範例中,您將呼叫 productUpdate API 來使用 Flow 編輯商品名稱。
開始之前,請先執行下列操作:
-
設定並安裝具有
write_products
範圍的自訂應用程式。您將在此範例中使用 Admin API 存取憑證呼叫 API。
接著在 Flow 中按照以下步驟操作:
- 選擇商品狀態已更新觸發條件,此觸發條件可讓您透過變更商品狀態來測試此工作流程。
- 將「傳送 HTTP 請求」新增至工作流程,並連接到觸發條件。
- 點擊「傳送 HTTP 請求」步驟,開啟設定面板。
- 在「HTTP 方法」欄位中,輸入「
POST
」。 - 在「網址」欄位中,輸入「
https://admin.shopify.com/store/shopname/api/2023-01/graphql.json
」以取代您的商店網域和所需的 API 版本。 - 在「頁首」區段中,輸入「
X-Shopify-Access-Token
」的鍵值和「YOUR_API_SECRET_KEY
」的值 (從第一步中取得)。 - 在「頁首」區段中,輸入第二個頁首,鍵值輸入「
Content-Type
」,值輸入「application/json
」。 - 在「內文」區段中,輸入下列資訊:
json
{"query": "mutation { productUpdate(input: {id: \"{{ product.id }}\", title: \"{{product.title}}-edited\"}) { product { id } } }"}
- 此程式碼會在名稱後方加上「
-edited
」 - 空格和換行在 Liquid 編輯器中具有意義,因此請避免新增或移除空格。此外,除了輸出 Liquid 外,請避免收合
{{
和}}
等括號,因為它們是為 Liquid 變數保留的。
- 設定工作流程的其餘部分並啟用工作流程。
- 將商品狀態從「草稿」變更為「啟用」(或反過來),以進行測試。
呼叫外部 API
在此範例工作流程中,訂單付款時,POST HTTP 要求會傳送至伺服器。
回應碼
下表描述了 Flow 在收到回應後,處理 HTTP 回應碼的方式。
HTTP 回應代碼 | Flow 如何處理回應代碼 |
---|---|
2XX 或 3XX 成功 | Flow 會將 HTTP 要求標記為成功,並隨後在工作流程中執行動作。 |
429 或 5XX 錯誤 | Flow 會自動重試最多 24 小時的動作,直到收到不同的回應代碼或時間過長。 | 其他回應代碼 | 如果您的應用程式會返回此表格未說明的代碼,或重試動作時出現時間,Flow 會將 HTTP 要求標記為失敗。不會執行後續工作流程動作。 |
限制
「發送 HTTP 要求」(Send HTTP request) 動作具有以下限制:
- 此動作不會因變異而將資料回傳至 Flow 環境中。