Documentation API

API REST Captivux

API JSON pour piloter portails captifs, RADIUS et CRM. Base :https://api.captivux.com/api/radius

Authentification

Les endpoints d’administration exigent un token (obtenu via /login/), transmis dans l’en-tête :

curl -X POST https://api.captivux.com/api/radius/login/ \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"••••••"}'
# → { "success": true, "token": "<40-char-token>", "tenants": [...] }

curl https://api.captivux.com/api/radius/stats/?tenant=demo \
  -H "Authorization: Token <40-char-token>"

Endpoints publics (portail captif)

POST
/login/

Authentifie un administrateur et renvoie un token.

GET
/tenant-profile/?tenant=<slug>

Branding du portail captif (couleurs, logo, méthodes).

POST
/auth/

Enregistre un invité depuis le portail captif.

POST
/sms/send/

Envoie un code OTP par SMS.

POST
/sms/verify/

Vérifie le code OTP et authentifie l’invité.

POST
/contact/

Soumet une demande de contact / démo.

Endpoints d’administration (token requis)

GET
/stats/?tenant=<slug>

KPIs réels : invités, sessions, footfall, accès, cohortes.

GET
/crm/?tenant=<slug>

Liste des contacts collectés (export CSV côté CRM).

GET
/sessions/?tenant=<slug>

Sessions RADIUS de l’établissement (actives + fermées).

POST
/sessions/kick/

Déconnexion forcée d’un utilisateur (CoA).

GET
/logs/?tenant=<slug>

Timeline des évènements RADIUS (Accept/Reject/CoA).

GET
/nas/?tenant=<slug>

Liste des bornes Wi-Fi (NAS).

POST
/nas/

Enregistre une borne (MAC, IP, localisation).

DELETE
/nas/<id>/

Supprime une borne.

GET
/tenants/

Liste enrichie des clients (KPIs + méthodes auth).

POST
/tenants/

Crée un nouveau client (établissement).

POST
/tenant-profile/

Met à jour le branding / les méthodes d’authentification.

Intégrations marketing

Chaque établissement peut renseigner son Pixel Facebook et son Google Tag (GTM/GA4) dans la console CRM. Ces identifiants sont injectés automatiquement dans le portail captif : chaque connexion Wi-Fi devient une audience retargetable, et le trafic est redirigé vers le site du client après authentification (redirect_url).