Clic & Surf - API de connexion WiFi V1 - Documentation
Présentation
L’API de connexion WiFi V1 permet de mettre à disposition des partenaires les fonctionnalités nécessaires à la gestion des connexions utilisateurs directement dans leurs propres applicatifs. Les échanges s’effectuent au format JSON. L’API offre un système complet, flexible et simple d’utilisation pour la gestion des connexions utilisateurs.
Activation de l’API
L’API ne nécessite aucune activation.
Version spécifique : S.E.T.E.
La version décrite dans ce document est uniquement valable pour l’infrastructure déployée pour le compte du client S.E.T.E. sur le site de la Tour Eiffel.
Limitation de l’API dans sa version
Dans sa version v1.0, les limitations suivantes sont connues :
-
Les appels ne peuvent être réalisés que par le client web ou mobile avec son IP local sur le hotspot.
-
Les appels en provenance d’un autre réseau ne sont pas autorisés.
Sécurité de l’API
L’API est disponible uniquement à travers un réseau WiFi Clic & Surf. L’utilisateur doit disposer d’une IP délivrée par le réseau WiFi Clic & Surf.
Format des requêtes
Toutes les données sont transmises en UTF8
Composition des requêtes
L’ensemble des requêtes doivent comporter le paramètre header = User Agent correspondant au périphérique. A défaut le header User Agent = APICS
est obligatoire mais aucunes statistiques sur le périphérique ne seront disponibles.
- Exemple de requêtes :
Réponses HTTP
Rêquète correctement exécutée
Code | Response | Description |
---|---|---|
200 | OK |
La requête a correctement été exécutée. |
201 | OK |
La requête a correctement été exécutée et la modification prise en compte. |
204 | OK |
La requête a correctement été exécutée mais ne retourne aucune donnée. |
Requête en erreur
Code | Response | Description |
---|---|---|
400 | Bad request |
La requête n’est pas correctement formée. |
401 | Unauthorized |
La requête n’est pas autorisée, votre clé n’est pas valide. |
403 | Forbidden |
L’accès à l’API n’est pas autorisé avec votre adresse IP. |
404 | Not found |
La méthode n’est pas disponible. |
405 | Method not allowed |
La méthode n’est pas autorisée, les paramètres ne sont pas corrects. |
Retour de l’application
Code | Response | Description |
---|---|---|
500 | Internal server error |
Erreur interne, la requête est valide, mais l’API n’est pas en mesure de la traiter. |
503 | Service unavailable |
Le service API est temporairement indisponible. |
Modifications récentes
-
11/2016 : Création de l’API
-
11/2016 : Ajout des routes Clic & Surf :
- status
- logout
-
07/2019 : Mise à jour des retours API suite modification de la version 4.5.3
-
27/09/2019 : Création de la route Clic & Surf :
- optin
Connexion Clic & Surf ¶
Utiliser ces méthodes pour dialoguer avec le portail WiFi :
status ¶
statusGET/status
Récupère le status client et ses informations de connexion. Seul l’utilisateur avec son IP a l’autorisation d’obtenir ses informations.
Example URI
200
Headers
Content-Type: application/json
Body
+ Headers
X-Response-Time: 120ms
+ Body
{
"code":200,
"message":"Client connecte",
"methode":"status",
"session_id":"9b5f69b1476f9abd4dc327808a83670590a15e18",
"hotspot":"XXX00-000",
"connection_ap_mac":"44-1E-XX-XX-XX-20",
"ip_client":"10.XX.XX.XX",
"session":1,
"optins_hotspot":[
{
"id":"7",
"code":"2",
"created_at":"2019-12-22 20:53:29",
"ordre":"1",
"deleted_at":null,
"activated_at":"2019-12-22 20:59:00",
"hited":"t",
"translations":{
"fr":"J'accepte l'utilisation de ma localisation\n",
"en":"J'accepte l'utilisation de ma localisation pendant ma visite\n"
},
"type":"localisation"
}
],
"informations_client":{
"token_id":"e5d895ca21799422a4406222a77cd54c",
"timestamp_modif":"1562223550",
"duree_connection":"01:32:12.925552",
"last_updated":"2019-07-04 10:19:54.876464",
"timestamp_out":null,
"user_mac":"XX:XX:XX:4D:XX:FF",
"email":"xxxer.49@xxx.com",
"user_login":"768449xxxxxx60816",
"hotspot":"XXX00-000",
"type_auth":"ConnectorFB",
"optin":"1",
"incoming":"3582662",
"outgoing":"1498005",
"langue_portail":"fr",
"bdd_principale":"BDD1",
"connection_ap_mac": "XX:XX:XX:4D:XX:FF",
"browscap_device":{
"browser":"Chrome",
"platform":"Win10",
"device_type":"Desktop",
"ismobiledevice":"",
"istablet":""
},
"facebook_id":null,
"google_id":null,
"twitter_id":null,
"linkedin_id":null,
"optin_valide_by_client":{
"optin_7":{
"id":"7",
"code":"2",
"created_at":null,
"ordre":null,
"deleted_at":null,
"activated_at":null,
"hited":null,
"translations":{
"fr":"J'accepte l'utilisation de ma localisation\n"
},
"type":"localisation"
}
},
"current_localisation":{
"timestamp":"2019-07-04 10:28:21.000000",
"client_mac":"XX-XX-XX-4D-XX-FF",
"ap_mac":"44-1E-XX-XX-XX-20",
"ssid":"_WiFi_XXXX",
"sens":"start"
},
"current_zone": {
"id": "Z0-01",
"zone": "PARVIS",
"sous-zone": "DEVELOPPEMENT"
}
}
optin ¶
optinPUT/optin
Modifie la valeur d’un optin d’une session utiliateur. Seul l’utilisateur avec son IP a l’autorisation de modifier une valeur de sa session courante.
Example URI
- optin
int
(required) Example: 000000L’id de l’optin à modifier.
Headers
Content-Type: application/json
Body
{
"id": "7",
"valeur": "0|1"
}
200
Headers
Content-Type: application/json
X-Response-Time: 120ms
Body
{
"code": 200,
"message": "Optin xxxxx modifié",
"methode": "optin",
"valeur": "1",
"hotspot": "ANG49-001",
"ip_client": "10.1.2.54",
"session": 0
}
logout ¶
logoutDELETE/logout
Déclenche la déconnexion du client. Seul l’utilisateur avec son IP a l’autorisation de déclencher la déconnexion.
Example URI
200
Headers
Content-Type: application/json
X-Response-Time: 120ms
Body
{
"code": 200,
"message": "Client deconnecte",
"methode": "logout",
"hotspot": "ANG49-001",
"ip_client": "10.1.2.54",
"session": 0
}