Webhook 讓您的應用程式在 AI 任務完成時,收到狀態為 success 或 error 的非同步通知。通知會送至您控管的 HTTP 端點,並遵循 Standard Webhooks Specification。
我們使用 HMAC-SHA256 簽章機制的 webhook secret,webhook secret 以 base64 編碼,並加上 whsec_ 前綴以便辨識。
webhook secret 範例:
whsec_NDQzMzYxNzkzMzE0NjYyNDM6OTIxOTcwNDIxODQ
我們強烈建議使用 Standard Webhooks Library 的官方實作,您不必擔心簽章驗證的細節。
使用官方實作也能確保簽章驗證安全且正確。
請仔細理解 webhook secret 的結構,參考 Signature scheme 中的對稱(Symmetric)部分。
當您準備為簽章輸入內容簽章時,請移除 whsec_ 前綴,並將剩下的字串做 base64 解碼,取得 secret 的實際位元組,用來進行 HMAC-SHA256 雜湊。
POST https://yourdomain.com/webhook-endpoint
Content-Type: application/json
webhook-id: msg_1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4:1761112848
webhook-timestamp: 1761112900
webhook-signature: v1,vyVNWrjoZcBK1JXrFGkdDKK2slo5+Q5yfzpkHmqO5R0={
"created_at": 1761112848,
"data": {
"task_id": "1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4",
"task_status": "success"
}
}webhook 遞送的唯一識別碼。 此值在重試之間保持一致,應用於冪等性(idempotency)處理。
webhook 送出時的 Unix epoch 時間戳(秒)。
'v1' 後接逗號(,),再接 base64 編碼的 HMAC-SHA256 簽章。
'v1' 表示簽章機制的版本,目前是唯一支援的版本。
base64 編碼的 HMAC-SHA256 簽章,是使用您的 webhook secret 對簽章輸入內容簽章後的結果。
簽章輸入格式:
{webhook-id}.{webhook-timestamp}.{raw-minified-json-body}已簽章內容範例:
msg_1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4:1761112848.1761112900.{"created_at":1761112848,"data":{"task_id":"1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4","task_status":"success"}}Unix epoch 時間戳(秒),表示任務完成的時間。
包含事件內容(event payload)。
| 欄位 | 說明 |
|---|---|
task_id | 建立任務時回傳的任務識別碼。請使用此 ID 查詢最終任務結果。 |
task_status | 任務完成狀態。可能值為:success、error。 |
在您的伺服器上準備一個 webhook 端點。 確認該端點可接受
POST請求,且可透過 HTTPS 存取。在 API Console 中建立 webhook。
執行 AI 任務並記錄
task_id。處理 webhook 通知,使用
task_id取得任務結果。
前往 API Console 的 Webhook 管理頁面:
https://yce.makeupar.com/api-console/en/webhook/


您最多可同時設定 10 個 webhook 端點。
您的 webhook secret 用於驗證 webhook-signature。 請妥善保管,切勿公開揭露。


我們建議使用 Standard Webhooks Library 的官方實作:
這能確保簽章驗證安全且正確。
您也可以使用 Standard Webhooks Simulator 測試或除錯內容:
https://www.standardwebhooks.com/simulate
請參考 webhook 請求範例:
POST https://yourdomain.com/webhook-endpoint
Content-Type: application/json
webhook-id: msg_1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4:1761112848
webhook-timestamp: 1761112900
webhook-signature: v1,vyVNWrjoZcBK1JXrFGkdDKK2slo5+Q5yfzpkHmqO5R0=請求內容:
{
"created_at": 1761112848,
"data": {
"task_id": "1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4",
"task_status": "success"
}
}簽章輸入格式將為:
{webhook-id}.{webhook-timestamp}.{raw-minified-json-body}已簽章內容範例:
msg_1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4:1761112848.1761112900.{"created_at":1761112848,"data":{"task_id":"1eWPv9cWJCnEP99UJncmVJ6KjK_xVXRhZPe_eSGnRNbLlXEPjiG3gb3Usg9le3_4","task_status":"success"}}使用您的 webhook secret 金鑰,將以 HMAC-SHA256 加密的已簽章內容,與收到的 webhook-signature 進行驗證。 範例:
v1,vyVNWrjoZcBK1JXrFGkdDKK2slo5+Q5yfzpkHmqO5R0=