核銷訂單
當職員確認可以使用後,再呼叫 redeem 進行正式核銷。系統仍會再次檢查商戶權限及訂單狀態。
POST
/api/integrations/merchant/bookings/redeem為已驗證商戶核銷指定訂單。
Request 欄位
欄位
類型
必填
說明
bookingIdstring
是
取得的憑證 Id。
Response 欄位
欄位
類型
說明
codenumber
返回代碼。
successboolean
核銷成功時會出現。
messagestring
可讀訊息。
bookingobject
核銷完成後的訂單摘要。
reasonstring
code 4 時的受控錯誤原因。
回傳代碼
為了讓商戶文件及收銀員介面更簡單,Yuter 將此整合回應統一成四個頂層代碼。
代碼
意思
備註
1
成功
訂單驗證成功或已成功核銷。
2
已核銷
此訂單在本次請求前已完成核銷。
3
無效訂單
booking id 無效,或找不到相關訂單。
4
其他錯誤
認證失敗、不可核銷、商戶無權限,或其他受控錯誤。
核銷訂單範例
核銷訂單 endpoint 的 request 與 response 範例。
cURL 範例
API_KEY='<raw merchant api key>'
BOOKING_ID='<booking id>'
TIMESTAMP=$(($(date +%s) * 1000))
NONCE=$(uuidgen)
BODY='{"bookingId":"'"$BOOKING_ID"'"}'
PATH='/api/integrations/merchant/bookings/redeem'
PAYLOAD="POST
$PATH
$TIMESTAMP
$NONCE
$BODY"
SIGNATURE=$(printf "%s" "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_KEY" -hex | sed 's/^.* //')
curl -X POST "https://www.yuterwellness.com$PATH" \
-H "Content-Type: application/json" \
-H "x-api-key: $API_KEY" \
-H "x-timestamp: $TIMESTAMP" \
-H "x-nonce: $NONCE" \
-H "x-signature: $SIGNATURE" \
-d "$BODY"回應範例
{
"code": 1,
"success": true,
"message": "Booking redeemed successfully",
"booking": {
"_id": "69ce982e96a5b33a356abab0",
"programTitle": "Private Merchant Test Event",
"userName": "Test User",
"userEmail": "test@example.com",
"quantity": 1,
"date": "2026-04-10",
"status": "redeemed",
"redeemedAt": "2026-04-10T10:22:16.120Z",
"redeemedBy": "Merchant API: Merchant Test Key"
}
}