驗證訂單

如商戶想先確認訂單是否可核銷,再讓職員執行最終核銷,可先呼叫 validate。

POST/api/integrations/merchant/bookings/validate

檢查該訂單是否屬於該商戶,並確認是否可核銷。

Request 欄位

欄位
類型
必填
說明
bookingId
string
取得的憑證 Id。

Response 欄位

欄位
類型
說明
code
number
返回代碼。
success
boolean
驗證成功時會出現。
message
string
可讀訊息。
booking
object
驗證成功或已核銷時回傳的訂單摘要。
reason
string
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/validate'
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 is valid for redemption",
  "booking": {
    "_id": "69ce982e96a5b33a356abab0",
    "programTitle": "Private Merchant Test Event",
    "userName": "Test User",
    "userEmail": "test@example.com",
    "quantity": 1,
    "date": "2026-04-10",
    "status": "paid"
  }
}