Documentation J+SERVICES Guides Référence API

Contrat API — tickets RADIUS désignés par leur username (2026-10-01)

Réponse à la note MV7 « Suspension de vouchers RADIUS depuis la liste des utilisateurs actifs ». L’écran « Utilisateurs actifs » ne connaît que le username : toutes les actions de cycle de vie passent désormais par le backend, jamais directement par le MikroTik.

Toutes les routes : Authorization: Bearer <jeton client>, licence RADIUS active. Un username inconnu ou appartenant à un autre gérant renvoie 404 VOUCHER_NOT_FOUND.

1. Bloquer / débloquer — route existante étendue

PUT /api/v1/radius/vouchers/block/bulk

{ "usernames": ["TM-1234", "KVA-5678"], "action": "SUSPEND" }

Réponse :

{
  "updated": 1,
  "status": "DISABLED",
  "introuvables": ["KVA-5678"],
  "deconnexions": [{ "username": "TM-1234", "nas": "10.255.0.15", "ok": true }]
}

2. Routes unitaires par username

Méthode Route Effet
POST /api/v1/radius/vouchers/username/:username/suspend Comme block/bulk SUSPEND, pour un ticket
POST /api/v1/radius/vouchers/username/:username/unsuspend Réactive un ticket DISABLED (republié avec ses limites)
DELETE /api/v1/radius/vouchers/username/:username Suppression définitive + PoD des sessions ouvertes
POST /api/v1/radius/vouchers/username/:username/reset-mac Délie l’appareil (quota : 5/min)
GET /api/v1/radius/vouchers/username/:username État du ticket (ci-dessous)

suspend / unsuspend renvoient la même forme que block/bulk. unsuspend ne réactive qu’un ticket suspendu : un ticket épuisé reste épuisé (updated: 0).

GET …/username/:username

{
  "id": "28ce32d6-…",
  "username": "Pw445",
  "status": "USED",
  "premiere_connexion": "2026-09-23T11:07:30Z",
  "expiration": "2026-09-26T11:07:30.000Z",
  "expire": true,
  "duree_achetee_secondes": 345600,
  "temps_restant_secondes": null,
  "octets_consommes": 10700000000,
  "octets_restants": null,
  "derniere_activite": "2026-09-24T15:37:30Z",
  "mac_liee": "DE:4F:A0:D7:DE:1A",
  "sessions_actives": [
    { "nas": "10.255.0.121", "mac": "DE:4F:…", "ip": "10.100.90.240", "debut": "…" }
  ]
}