在 Make、n8n 或 Zapier 裡用一個 HTTP 步驟生成 QR Code
要在 Make、n8n 或 Zapier 的工作流裡生成 QR Code,只需加一個 HTTP 請求步驟,向 QR Maker REST API 傳送 POST,帶上目的地連結和觸發這個工作流的那條記錄的 ID。返回結果裡有要印刷的短連結,需要的話還有 SVG 圖片。因為有 ID,請求可以安全重試,同一條記錄讓工作流跑了兩次,也不會生成兩個碼。
這些工具裡沒有專門的 QR Maker 應用。你也不需要:三個工具都有通用的 HTTP 步驟,而且在哪個工具裡請求都一樣。
請求內容
- 方法:
POST - 網址:
https://qrmaker.ai/api/v1/qrcodes?include=svg - 請求頭:
Authorization: Bearer qrs_your_token和Content-Type: application/json - 請求體:
{
"target_url": "https://shop.example.com/orders/10492",
"external_id": "order-10492",
"name": "Order 10492",
"folder": "orders"
}
target_url 和 external_id 從觸發器裡對映過來。ID 可以是訂單號、CRM 記錄 ID 或活動報名 ID,只要對這條記錄來說穩定且唯一就行。
返回結果裡,data.short_link 是印刷出來的碼所編碼的連結,data.svg 是 SVG 文本格式的圖片。如果想儲存這個碼,data.id 就是它的標識。
API 屬於 Business 版功能;每個呼叫的詳細說明見 REST API 教程。在「設定」的「API 令牌」裡建立令牌,並把它存進自動化工具的憑據或金鑰管理裡,不要直接寫在某個步驟的請求體裡。
在 Make 裡
新增 HTTP 模組「Make a request」。方法設為 POST,貼上網址,加上那兩個請求頭,請求體型別選「Raw」、內容型別選 JSON,再用前一個模組的欄位拼出請求體。開啟「Parse response」,這樣後面的模組就能用 data.short_link。為了不讓令牌出現在場景裡,用模組的 API key 認證,而不是手寫請求頭:新建一個鑰匙串條目,請求頭名稱填 Authorization,值填 Bearer qrs_...。根據 HTTP 應用的版本不同,它可能是同一個模組裡的認證選項,也可能是一個單獨的模組,叫「Make an API Key Auth request」。
在 n8n 裡
新增一個 HTTP Request 節點。選 POST 並填網址,Authentication 設為「Generic Credential Type」並選「Header Auth」(名稱 Authorization,值 Bearer qrs_...),開啟「Send Body」並選 JSON,欄位用 {{ $json.order_id }} 這樣的表示式。解析後的結果在下一個節點裡可以用 {{ $json.data.short_link }} 取到。
在 Zapier 裡
使用「Webhooks by Zapier」的「Custom Request」動作,這個動作需要 Zapier 的付費方案。選 POST,貼上網址,在 Data 欄位裡填 JSON 並對映觸發器的欄位,再加上那兩個請求頭。後續步驟可以使用返回結果裡的 data short_link。
拿到結果後怎麼用
- 放進郵件或訊息裡發出去。 正文裡放短連結,附上或嵌入 SVG。大多數郵件客戶端不顯示內嵌的 SVG,所以發郵件時,更穩妥的做法是連結到這個碼,或者在後續步驟裡把 SVG 轉成 PNG。
- 存進檔案儲存。 把
data.svg以order-10492.svg的檔名寫進 Google Drive、Dropbox 或 S3。SVG 印成什麼尺寸都清晰。 - 寫回原記錄。 把
data.short_link存回觸發工作流的那張訂單、那個聯絡人或那一行,方便以後再找到這個碼。
為什麼 ID 很重要
自動化會重試。一個觸發器可能觸發兩次,失敗的執行也可能被手動重放。如果你用同樣的 external_id 和同樣的連結再發一次,API 會返回它已經生成的那個碼,狀態碼是 200 而不是 201。如果同一個 ID 帶著不同的連結過來,API 回覆 409,什麼都不改。已經印刷出去的碼,永遠不會被意外改掉去向。
要改一個碼的去向,單獨加一個步驟,傳送 PATCH https://qrmaker.ai/api/v1/qrcodes/by-external-id/order-10492,請求體是 { "target_url": "..." }。
對掃描做出反應
API 沒有 webhook。要在有人掃描時啟動工作流,可以用一個定時觸發器,每分鐘呼叫一次 GET https://qrmaker.ai/api/v1/scans?since_id=...,儲存返回結果裡的 next_since_id,下次作為 since_id 傳進去。每個事件包含碼、你的 external_id、時間、國家和裝置。沒有新掃描的響應不計入每月額度。
限制
Business 版每月包含 50,000 次成功請求,每分鐘最多 120 次。每個訂單生成一個碼的工作流,每個訂單用一次請求。每分鐘輪詢一次掃描,即使掃描源源不斷,每月最多也只用約 43,000 次請求,平時會少得多。
常見問題
有 QR Maker 的 Zapier、Make 或 n8n 應用嗎?
沒有。每個工具裡的通用 HTTP 步驟就能做專用應用能做的一切,而且請求只是一個 POST。
能拿到 PNG 而不是 SVG 嗎?
API 只返回 SVG。如果目的地需要 PNG,就在後續步驟裡轉換,比如用圖片轉換模組或一小段程式碼步驟。
如果連結被拒絕了會怎樣?
API 會返回一個帶有穩定 code 的錯誤:連結不是有效的 http 或 https 地址時,返回 400 和 INVALID_TARGET_URL;目的地被安全檢查拒絕時(比如連結到另一個短網址服務),返回 403 和以 URL_BLOCKED_ 開頭的錯誤碼。在錯誤處理分支裡按這個錯誤碼分流,而不是按提示文字。