POST
v1.1.0stable

設備會員續期

批量更新設備會員到期時間,支援多種設備匹配方式和續期模式。

POST/api/device/membership/renew
驗證:API Key
速率限制:30/分鐘

請求參數

所有請求參數需透過 Query 或 Body 傳遞

參數名類型必填說明
token
string必填
用戶 API Token
範例: your_api_token_here
mode
string選填
續期模式:extend=延長,set=設定到期時間,permanent=永久有效
extendsetpermanent
範例: extend
base
string選填
extend 基準:auto/current/now
autocurrentnow
範例: auto
days
number選填
extend 模式延長天數
範例: 30
seconds
number選填
extend 模式延長秒數,優先級高於 days
範例: 2592000
duration
string選填
extend 模式時長表達式,支援 30d、12h、60m、3600s
範例: 30d
expire_time
number選填
set 模式的新到期時間戳,支援秒或毫秒;0 表示永久有效
範例: 1772267945
kid
string選填
單個設備 KID
範例: KID001
udid
string選填
單個設備 UDID
範例: 00008030-001234567890002E
kids
array選填
設備 KID 陣列,也支援逗號/空格/換行分隔字串
範例: KID001,KID002
udids
array選填
設備 UDID 陣列;同一 UDID 多證書時預設 match=all 全部更新,也支援逗號/空格/換行分隔字串
範例: 00008030-001234567890002E
items
array選填
高級批量配置,每項可包含 kid 或 udid 並覆蓋續期策略
範例: [{"kid":"KID001","mode":"extend","days":30},{"udid":"00008030-001234567890002E","mode":"permanent"}]
match
string選填
多匹配處理:all/first/error,預設 all
allfirsterror
範例: all
continue_on_error
boolean選填
是否遇到單個設備失敗後繼續處理,預設 true
範例: true

回應參數

參數名類型必填說明
code
number必填
狀態碼
範例: 1
data.total
number必填
請求中的設備項數量
範例: 2
data.success
number必填
續期成功數量
範例: 2
data.failed
number必填
續期失敗數量
範例: 0
data.results[].kid
string必填
設備 KID
範例: KID001
data.results[].old_expire_time
number必填
續期前會員到期時間戳,0 為永久有效
範例: 1769675945
data.results[].new_expire_time
number必填
續期後會員到期時間戳,0 為永久有效
範例: 1772267945
data.results[].new_expire_at
string必填
格式化後的新到期時間
範例: 2026-02-28 15:04:05
回應示例
{
"code":1,
"msg":"設備會員續期處理完成",
"time":1769675945,
"data":
{
"total":2,
"processed_results":2,
"success":2,
"failed":0,
"continue_on_error":true,
"match":"all",
"results":
[
{
"index":0,
"kid":"KID001",
"udid":"00008030-001234567890002E",
"success":true,
"code":1,
"msg":"续期成功",
"old_expire_time":1769675945,
"new_expire_time":1772267945,
"old_expire_at":"2026-01-29 15:04:05",
"new_expire_at":"2026-02-28 15:04:05",
"changed":true,
"matched_count":1
}
,
{
"index":1,
"kid":"KID002",
"udid":"00008030-009876543210002E",
"success":true,
"code":1,
"msg":"续期成功",
"old_expire_time":0,
"new_expire_time":0,
"old_expire_at":"permanent",
"new_expire_at":"permanent",
"changed":false,
"matched_count":1
}
]
}
,
"ip":"192.168.1.100",
"ysucc":"Ysucc"
}

按 KID 批量續期30天

使用逗號分隔 kids 並延長30天

按 KID 批量續期30天
{
"token":"your_api_token_here",
"kids":"KID001,KID002",
"mode":"extend",
"days":30
}

按 UDID 批量續期

適合只有設備 UDID 的場景

按 UDID 批量續期
{
"token":"your_api_token_here",
"udids":"00008030-001234567890002E,00008030-009876543210002E",
"mode":"extend",
"duration":"60d"
}

設定指定到期時間

mode=set 直接設定新的會員到期時間戳

設定指定到期時間
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"set",
"expire_time":1772267945
}

設定永久有效

mode=permanent 將設備會員設為永久有效

設定永久有效
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"permanent"
}

每台設備不同策略

items 中每台設備可以覆蓋全域續期參數

每台設備不同策略
{
"token":"your_api_token_here",
"items":
[
{
"kid":"KID001",
"mode":"extend",
"days":30
}
,
{
"kid":"KID002",
"mode":"set",
"expire_time":1772267945
}
,
{
"udid":"00008030-001234567890002E",
"mode":"permanent"
}
]
}

UDID 多證書只處理最新一條

match=first 時同一 UDID 命中多個證書只更新最新一條

UDID 多證書只處理最新一條
{
"token":"your_api_token_here",
"udid":"00008030-001234567890002E",
"mode":"extend",
"days":30,
"match":"first"
}

錯誤碼

錯誤碼4 個定義
12
Token 不能為空
未提供 token 參數
20
請提供至少一個設備
未提供設備列表
21
mode 參數無效
續期模式不合法

回應語言

透過 X-Lang 請求標頭自訂介面回應語言。下方程式碼示例會自動使用您目前瀏覽系統的語言。

建議請求標頭
X-Lang: zh-TW
支援的語言
zh, en, zh-TW, vi, ar

也可以使用 Accept-Language;X-Lang 優先級更高。不支援的語言將回退為英文。

程式碼示例

curl -X POST "https://testypro.iwai.cc,https://cer.xyul.cn,https://cer.iwai.cc/api/device/membership/renew" \
  -H "X-Lang: zh-TW" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_api_token_here",
    "mode": "extend",
    "base": "auto",
    "days": 30,
    "seconds": 2592000,
    "duration": "30d",
    "expire_time": 1772267945,
    "kid": "KID001",
    "udid": "00008030-001234567890002E",
    "kids": "KID001,KID002",
    "udids": "00008030-001234567890002E",
    "items": "[{\"kid\":\"KID001\",\"mode\":\"extend\",\"days\":30},{\"udid\":\"00008030-001234567890002E\",\"mode\":\"permanent\"}]",
    "match": "all",
    "continue_on_error": true
  }'

注意事項

  • 該接口僅更新設備會員/證書下載權益到期時間,不會重新簽名或扣款
  • 0 表示永久有效;extend 遇到永久有效設備時預設保持永久,可用 base=now 強制改為從當前時間延長
  • UDID 命中多條證書時預設 match=all 全部更新,可傳 first 或 error 改變行為
  • 支援 JSON 請求,也支援表單參數;表單 items 可傳 JSON 陣列字串

在控制台試一試

在下方填寫參數後直接發送請求測試。請求只發往本站 API,地址已鎖定不可修改;會攜帶你當前登入的 Cookie。

POSThttps://testypro.iwai.cc/api/device/membership/renew已鎖定本站
string必填

用戶 API Token

string

續期模式:extend=延長,set=設定到期時間,permanent=永久有效

string

extend 基準:auto/current/now

number

extend 模式延長天數

number

extend 模式延長秒數,優先級高於 days

string

extend 模式時長表達式,支援 30d、12h、60m、3600s

number

set 模式的新到期時間戳,支援秒或毫秒;0 表示永久有效

string

單個設備 KID

string

單個設備 UDID

array

設備 KID 陣列,也支援逗號/空格/換行分隔字串

array

設備 UDID 陣列;同一 UDID 多證書時預設 match=all 全部更新,也支援逗號/空格/換行分隔字串

array

高級批量配置,每項可包含 kid 或 udid 並覆蓋續期策略

string

多匹配處理:all/first/error,預設 all

boolean

是否遇到單個設備失敗後繼續處理,預設 true