POST
v1.1.0stable

Renouveler l’Adhésion de l’Appareil

Mise à jour par lot de la date d'expiration de l'adhésion des appareils avec des modes de correspondance et de renouvellement flexibles.

POST/api/device/membership/renew
Authentification:API Key
Limite:30/minute

Paramètres de la requête

Tous les paramètres peuvent être transmis via Query ou Body

ParamètreTypeRequisDescription
token
stringRequis
Jeton API utilisateur
Exemple: your_api_token_here
mode
stringOptionnel
Mode de renouvellement : étendre, définir ou permanent. Par défaut, défini lorsque expire_time est fourni, sinon étendre
extendsetpermanent
Exemple: extend
base
stringOptionnel
Étendre la base : auto, actuel ou maintenant
autocurrentnow
Exemple: auto
days
numberOptionnel
Jours à ajouter en mode étendre
Exemple: 30
seconds
numberOptionnel
Secondes à ajouter en mode étendre. Priorité plus élevée que les jours
Exemple: 2592000
duration
stringOptionnel
Expression de durée : 30j, 12h, 60m ou 3600s
Exemple: 30d
expire_time
numberOptionnel
Nouvel horodatage d'expiration pour le mode définir, en secondes ou en millisecondes. 0 signifie permanent
Exemple: 1772267945
kid
stringOptionnel
KID d'un seul appareil
Exemple: KID001
udid
stringOptionnel
UDID d'un seul appareil
Exemple: 00008030-001234567890002E
kids
arrayOptionnel
Tableau des KID de l'appareil. Les chaînes séparées par des virgules, des espaces ou des sauts de ligne sont également prises en charge
Exemple: KID001,KID002
udids
arrayOptionnel
Tableau des UDID de l'appareil. Si un UDID possède plusieurs certificats, match=all met à jour tous par défaut. Les chaînes séparées par des virgules, des espaces ou des sauts de ligne sont également prises en charge
Exemple: 00008030-001234567890002E
items
arrayOptionnel
Éléments de lot avancés. Chaque élément peut inclure kid ou UDID et remplacer mode/base/jours/secondes/durée/heure_d'expiration
Exemple: [{"kid":"KID001","mode":"extend","days":30},{"udid":"00008030-001234567890002E","mode":"permanent"}]
match
stringOptionnel
Gestion multiple des correspondances : all, first, ou error. Par défaut all
allfirsterror
Exemple: all
continue_on_error
booleanOptionnel
Indique si le processus doit continuer après l'échec d'un élément. Par défaut vrai
Exemple: true

Réponse

ParamètreTypeRequisDescription
code
numberRequis
Code d'état : 1 = demande traitée
Exemple: 1
data.total
numberRequis
Nombre d'articles de périphérique demandés
Exemple: 2
data.success
numberRequis
Nombre de renouvellements réussis
Exemple: 2
data.failed
numberRequis
Nombre de renouvellements échoués
Exemple: 0
data.results[].kid
stringRequis
KID de l'appareil
Exemple: KID001
data.results[].old_expire_time
numberRequis
Horodatage d'expiration de l'abonnement précédent. 0 signifie permanent
Exemple: 1769675945
data.results[].new_expire_time
numberRequis
Nouvel horodatage d'expiration de l'abonnement. 0 signifie permanent
Exemple: 1772267945
data.results[].new_expire_at
stringRequis
Heure d'expiration formatée
Exemple: 2026-02-28 15:04:05
Exemple de réponse
{
"code":1,
"msg":"Renouvellement de l'abonnement de l'appareil traité",
"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"
}

Extension de lot de 30 jours par KID

Utilisez des KID séparés par des virgules avec le mode d'extension

Extension de lot de 30 jours par KID
{
"token":"your_api_token_here",
"kids":"KID001,KID002",
"mode":"extend",
"days":30
}

Extension de lot par UDID

Pour les scénarios où seuls les UDID sont disponibles. Plusieurs certificats sous un seul UDID sont mis à jour par défaut

Extension de lot par UDID
{
"token":"your_api_token_here",
"udids":"00008030-001234567890002E,00008030-009876543210002E",
"mode":"extend",
"duration":"60d"
}

Définir une date d'expiration explicite

Utiliser mode=set pour définir un horodatage d'expiration d'adhésion explicite

Définir une date d'expiration explicite
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"set",
"expire_time":1772267945
}

Définir permanent

Utiliser mode=permanent pour rendre l'adhésion permanente

Définir permanent
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"permanent"
}

Stratégie par appareil

Chaque élément peut remplacer les options de renouvellement globales

Stratégie par appareil
{
"token":"your_api_token_here",
"items":
[
{
"kid":"KID001",
"mode":"extend",
"days":30
}
,
{
"kid":"KID002",
"mode":"set",
"expire_time":1772267945
}
,
{
"udid":"00008030-001234567890002E",
"mode":"permanent"
}
]
}

Mettre à jour uniquement la correspondance la plus récente pour un UDID

Avec match=first, seul le dernier certificat correspondant sous le même UDID est mis à jour

Mettre à jour uniquement la correspondance la plus récente pour un UDID
{
"token":"your_api_token_here",
"udid":"00008030-001234567890002E",
"mode":"extend",
"days":30,
"match":"first"
}

Codes d'erreur

Codes d'erreur4 défini
12
Le jeton est requis
Paramètre de jeton manquant
20
Veuillez fournir au moins un appareil
kid, kids, UDID, udids ou items manquant(s)
21
Mode invalide, valeurs valides : extend/set/permanent
Mode de renouvellement invalide

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

Exemples de code

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

Remarques

  • Cette API met uniquement à jour l'adhésion de l'appareil/la date d'expiration du téléchargement du certificat. Elle ne signe pas à nouveau ni ne débite le solde
  • 0 signifie permanent. En mode extension, les appareils permanents restent permanents par défaut ; utilisez base=now pour forcer une expiration limitée
  • Lorsque un UDID correspond à plusieurs certificats, match=all met à jour tous par défaut. Utilisez first ou error pour changer le comportement
  • Les requêtes JSON et de formulaire sont toutes deux prises en charge. Les éléments de formulaire peuvent être une chaîne de tableau JSON

Essayez-le dans la Console

Remplissez les paramètres ci-dessous et envoyez une requête pour tester. Les requêtes ne vont qu'à l'API de ce site ; l'URL est verrouillée et ne peut pas être modifiée, et votre cookie de connexion actuel est inclus.

POSThttps://testypro.iwai.cc/api/device/membership/renewVerrouillé sur ce site
stringRequis

Jeton API utilisateur

string

Mode de renouvellement : étendre, définir ou permanent. Par défaut, défini lorsque expire_time est fourni, sinon étendre

string

Étendre la base : auto, actuel ou maintenant

number

Jours à ajouter en mode étendre

number

Secondes à ajouter en mode étendre. Priorité plus élevée que les jours

string

Expression de durée : 30j, 12h, 60m ou 3600s

number

Nouvel horodatage d'expiration pour le mode définir, en secondes ou en millisecondes. 0 signifie permanent

string

KID d'un seul appareil

string

UDID d'un seul appareil

array

Tableau des KID de l'appareil. Les chaînes séparées par des virgules, des espaces ou des sauts de ligne sont également prises en charge

array

Tableau des UDID de l'appareil. Si un UDID possède plusieurs certificats, match=all met à jour tous par défaut. Les chaînes séparées par des virgules, des espaces ou des sauts de ligne sont également prises en charge

array

Éléments de lot avancés. Chaque élément peut inclure kid ou UDID et remplacer mode/base/jours/secondes/durée/heure_d'expiration

string

Gestion multiple des correspondances : all, first, ou error. Par défaut all

boolean

Indique si le processus doit continuer après l'échec d'un élément. Par défaut vrai