POST
v1.1.0stable

기기 멤버십 갱신

유연한 매칭 및 갱신 모드로 장치 멤버십 만료를 일괄 업데이트합니다.

POST/api/device/membership/renew
인증:API Key
제한:30/

요청 매개변수

모든 매개변수는 쿼리 또는 본문을 통해 전달할 수 있습니다

매개변수유형필수설명
token
string필수
사용자 API 토큰
예제: your_api_token_here
mode
string선택 사항
갱신 모드: 연장, 설정, 또는 영구. expire_time이 제공되면 기본값은 설정, 그렇지 않으면 연장
extendsetpermanent
예제: extend
base
string선택 사항
연장 기준: 자동, 현재, 또는 지금
autocurrentnow
예제: auto
days
number선택 사항
연장 모드에서 추가할 일수
예제: 30
seconds
number선택 사항
연장 모드에서 추가할 초 수. 일수보다 우선
예제: 2592000
duration
string선택 사항
기간 표현: 30d, 12h, 60m, 또는 3600s
예제: 30d
expire_time
number선택 사항
설정 모드의 새로운 만료 타임스탬프, 초 또는 밀리초 단위. 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를 포함할 수 있으며, mode/base/days/seconds/duration/expire_time을 재정의할 수 있습니다
예제: [{"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=요청 처리됨
예제: 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일 일괄 연장

연장 모드와 함께 쉼표로 구분된 KID 사용

KID로 30일 일괄 연장
{
"token":"your_api_token_here",
"kids":"KID001,KID002",
"mode":"extend",
"days":30
}

UDID로 일괄 연장

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"
}

기기별 전략

각 항목은 전역 갱신 옵션을 재정의할 수 있음

기기별 전략
{
"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
토큰이 필요함
토큰 매개변수 누락
20
최소한 하나의 장치를 제공해 주세요
kid, kids, UDID, udids 또는 items가 누락되었습니다
21
잘못된 모드, 유효한 값: extend/set/permanent
잘못된 갱신 모드입니다

X-Lang: en
zh, en, zh-TW, vi, ar

코드 예제

curl -X POST "https://testypro.iwai.cc,https://cer.xyul.cn,https://cer.iwai.cc/api/device/membership/renew" \
  -H "X-Lang: en" \
  -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
  }'

참고 사항

  • 이 API는 장치 멤버십/인증서 다운로드 만료만 업데이트합니다. 재서명이나 잔액 충전은 수행하지 않습니다
  • 0은 영구를 의미합니다. 확장 모드에서는 영구 장치가 기본적으로 영구 상태로 유지됩니다. 유한 만료를 강제로 설정하려면 base=now를 사용하세요
  • UDID가 여러 인증서와 일치할 때, match=all은 기본적으로 모두 업데이트합니다. 동작을 변경하려면 first 또는 error를 사용하세요
  • JSON 및 폼 요청을 모두 지원합니다. 폼 항목은 JSON 배열 문자열일 수 있습니다

콘솔에서 시도하십시오

아래 매개변수를 입력하고 테스트 요청을 보내세요. 요청은 이 사이트의 API에만 전송되며, URL은 잠겨 있어 변경할 수 없고 현재 로그인 쿠키가 포함됩니다.

POSThttps://testypro.iwai.cc/api/device/membership/renew이 사이트에 잠김
string필수

사용자 API 토큰

string

갱신 모드: 연장, 설정, 또는 영구. expire_time이 제공되면 기본값은 설정, 그렇지 않으면 연장

string

연장 기준: 자동, 현재, 또는 지금

number

연장 모드에서 추가할 일수

number

연장 모드에서 추가할 초 수. 일수보다 우선

string

기간 표현: 30d, 12h, 60m, 또는 3600s

number

설정 모드의 새로운 만료 타임스탬프, 초 또는 밀리초 단위. 0은 영구

string

단일 기기 KID

string

단일 기기 UDID

array

디바이스 KID 배열. 쉼표/공백/줄바꿈으로 구분된 문자열도 지원됩니다

array

디바이스 UDID 배열. 하나의 UDID에 여러 인증서가 있는 경우, match=all은 기본적으로 모두 업데이트합니다. 쉼표/공백/줄바꿈으로 구분된 문자열도 지원됩니다

array

고급 배치 항목. 각 항목에는 kid 또는 UDID를 포함할 수 있으며, mode/base/days/seconds/duration/expire_time을 재정의할 수 있습니다

string

다중 매칭 처리: all, first, 또는 error. 기본값은 all

boolean

항목이 실패한 후 계속할지 여부. 기본값은 true