請輸入您的 API Token
🗝 序號管理
排序 類型名稱 ID 可用 即將到期 已出貨 過期 總計 操作
0 筆
出貨設定
⚠️ 必填且每筆訂單唯一。相同識別碼重複呼叫永遠回傳同一批序號(30天內有效)
💳

填寫左側表單後按取貨

🔍 訂單查詢
輸入訂單識別碼查詢已出貨序號(冪等,30天內有效)
套組名稱 ID 可出貨數 組成 操作
ID帳號名稱角色狀態建立時間操作
動作
訂單識別碼
開始日期
結束日期
時間帳號動作類型數量訂單識別碼
🔌 API 整合
POST/api/v1/keys/fetch — 取貨(冪等,30天內相同 api_order_ref 回傳同一批序號)role: fetch / admin
Request Body:
{"key_type_id": 1, "quantity": 2, "api_order_ref": "order-abc123"}
Response 200:
{"data": {"keys": ["XXXX-YYYY-ZZZZ", "AAAA-BBBB-CCCC"], "extra_info": "請在30天內使用", "api_order_ref": "order-abc123"}}
錯誤:422 庫存不足 / 409 訂單已被其他帳號使用 / 410 訂單超過30天已過期
POST/api/v1/keys/import — 補貨入庫role: restock / admin
Request Body:
{"key_type_id": 1, "keys": ["KEY-001", "KEY-002"], "priority": 0, "key_name": "2025-06 批次"}
Response 201:
{"data": {"imported": 2, "duplicates_skipped": 0}}
POST/api/v1/keys/:id/return — 退回序號至庫存role: admin
Request Body:(無,僅需路徑中的序號 ID)
Response 200:
{"data": {"ok": true}}
退回後該序號設為最高優先(priority=9999),下次取貨將優先出售此序號。
PATCH/api/v1/keys/:id/priority — 調整優先級role: admin
Request Body:
{"priority": 9999}
Response 200:
{"data": {"ok": true}}
priority 值越大越優先出售(9999 = 最高優先,0 = 正常順序,負數 = 後出)。
POST/api/v1/bundles/:id/fetch — 套組取貨(冪等)role: fetch / admin
Request Body:
{"quantity": 1, "api_order_ref": "order-bundle-xyz"}
Response 200:
{"data": {"api_order_ref": "order-bundle-xyz", "extra_info": null, "components": [{"key_type_name": "Steam 點數卡", "keys": ["XXXX-YYYY"], "extra_info": "30天內使用"}]}}
GET/api/v1/keys/stock — 查詢庫存role: read / admin
Request:(無 body,可選 header Authorization)
Response 200:
{"data": [{"id": 1, "name": "Steam 點數卡", "available": 50, "delivered": 20, "expired": 3, "low_stock_threshold": 10}]}
所有端點均需在 Authorization 標頭帶上 Bearer Token(Authorization: Bearer km_xxx)。取貨端點使用 fetch 角色 Token;補貨端點使用 restock 角色 Token。
顯示具有 fetch(取貨)及 restock(補貨)角色的帳號,供 WooCommerce 等外部系統使用。
ID帳號名稱角色狀態建立時間操作
📡 Webhook 通知
名稱URL事件狀態操作
當指定類型庫存低於設定閾值時,系統會自動以 POST 傳送 JSON 通知到設定的 URL。
⚠️ 以下開關由後端強制執行。關閉後即使前端仍有按鈕,後端也會回傳 403 — 所有角色(包括 admin)均受限。
功能名稱 方法 端點路徑 狀態 關閉原因 最後更新 操作
載入中…