
Documentation API
Vous trouverez ci-dessous la documentation API.
Sécurisation des requêtes
Chaque requête doit être signée dans l'entête (header) de la demande, au choix :
- Avec un paramètre "cle:" suivi de la clé vous avez récupéré dans votre profil (si vous souhaitez seulement accéder à votre propre compte). Ce paramètre donne un accès en lecture/ecriture.
- Avec une autorisation de type "Authorization: Bearer" suivi du token d'accès associé à l'utilisateur tiers (Documentation Oauth2) (pour un accès au comptes d'utilisateurs tiers). Un scope est associé au token d'accès qui permet un accès en lecture uniquement, ou en lecture/écriture.
Vous trouverez ci-dessous tantôt des exemples utilisant la première solution, tantôt des exemples utilisant la deuxième solution
Limitation du nombre de requêtes
Pour un compte donné, le nombre de requêtes est limité à 60 par minute et 1000 par jour. Vous pouvez consulter vos stats de consommation sur
cette page
POST
/api/upload
Crée une nouvelle trace (scope "write" uniquement)
Paramètres (* = requis) :
- gpx* -> le fichier gpx
- name* -> nom de la trace, récupéré dans le fichier si vide
- activity* -> activité rp:Randonnée Pédestre mn:Marche Sportive cap:Course à pied alp:Alpinisme tra:Trail vr:Cyclotourisme vg:Vélo Gravel vtt:VTT vv:Voyage à vélo vae:Vélo à assistance électrique vte:VTT à assistance électrique ski:Ski de rando sa:Ski alpin srn:Ski de randonnée nordique sf:Ski de fond raq:Raquettes à neige vol:Vol libre vom:Vol motorisé req:Randonnée Equestre att:Randonnée en attelage rol:Roller vm:Auto mo:Moto route mot:Moto trail qu:Quad km:Aviron/Kayak na:Natation pv:Voile au:Autre
- desc -> description de la trace
- f -> lissage des altitudes (1: faible, 2: moyen, 3: fort)
- visibility -> Visibilité de la trace sur VisuGPX (0: privée, 1: cachée (=non indexée), 2: publique)
- folder -> numéro de dossier (facultatif, infobulle au survol des dossiers dans votre profil)
- lock -> 1: Interdit le téléchargement du fichier
- flux -> 1: Ajoute le fichier à votre flux
Exemple cURL (avec authorization: Bearer) :
curl -X POST -H "Authorization: Bearer JFV7ZFhdJqwQZ28MVDN4hJOFo" -F "gpx=@\path\to\file.gpx" -F "name=Nom de la trace" -F "activity=vtt" "https://www.visugpx.com/api/upload"
Réponse :
JSON {"SUCCESS":"id de la trace hébergée"} ou
JSON {"ERROR":"
type"}
POST
/api/modify/{id}
Modifie une trace (scope "write" uniquement)
Paramètres (tous les champs sont facultatifs) :
- gpx -> le fichier gpx
- titre -> titre de la trace
- activity -> activité => rp:Randonnée Pédestre mn:Marche Sportive cap:Course à pied alp:Alpinisme tra:Trail vr:Cyclotourisme vg:Vélo Gravel vtt:VTT vv:Voyage à vélo vae:Vélo à assistance électrique vte:VTT à assistance électrique ski:Ski de rando sa:Ski alpin srn:Ski de randonnée nordique sf:Ski de fond raq:Raquettes à neige vol:Vol libre vom:Vol motorisé req:Randonnée Equestre att:Randonnée en attelage rol:Roller vm:Auto mo:Moto route mot:Moto trail qu:Quad km:Aviron/Kayak na:Natation pv:Voile au:Autre
- desc -> description de la trace
- f -> lissage des altitudes (1: faible, 2: moyen, 3: fort)
- visibility -> Visibilité de la trace sur VisuGPX (0: privée, 1: cachée (=non indexée), 2: publique)
- folder -> numéro de dossier (infobulle au survol des dossiers dans votre profil)
- lock -> Interdit/Autorise le téléchargement du fichier (0: Autorise, 1: interdit)
- flux -> Ajoute/Enlève le fichier à votre flux (0: Enlève, 1: Ajoute)
Exemple cURL (avec clé) :
curl -X POST -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" -F "gpx=@\path\to\file.gpx" -F "titre=Titre de la trace" -F "activity=vtt" "https://www.visugpx.com/api/modify/K32b7Eq0Uu"
Réponse :
JSON {"modified": "id"} avec id = id de la trace modifiée ou
JSON {"ERROR":"
type"}
POST
/api/delete/{id}
Supprime une trace (scope "write" uniquement)
Exemple cURL (avec authorization: Bearer) :
curl -X POST -H "Authorization: Bearer JFV7ZFhdJqwQZ28MVDN4hJOFo" "https://www.visugpx.com/api/delete/K32b7Eq0Uu"
Réponse :
JSON {"deleted": "id"} avec id = id de la trace supprimée ou
JSON {"ERROR":"
type"}
POST
/api/folder
Crée, renomme, supprime ou liste les dossier (scope "write" pour création, renommage et suppression)
Paramètres (* = requis) :
- action* -> create || modify || delete || list
- id* -> id du dossier (requis si demande de suppression ou de renommage)
- name* -> nom du fichier (requis si demande de création ou de renommage)
- parent* -> id du dossier parent (requis si demande de création, 0 si à la racine)
Exemple cURL (avec cle et authorization: Bearer) :
create : curl -X POST -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" -F "action=create" -F "name=NomDuDossier" -F "parent=0" "https://www.visugpx.com/api/folder"
modify : curl -X POST -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" -F "action=modify" -F "id=IdDuDossier" -F "name=NomDuDossier" -F "parent=ID du dossier parent" "https://www.visugpx.com/api/folder"
delete : curl -X POST -H "Authorization: Bearer JFV7ZFhdJqwQZ28MVDN4hJOFo" -F "action=delete" -F "id=IdDuDossier" "https://www.visugpx.com/api/folder"
list : curl -X POST -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" -F "action=list" "https://www.visugpx.com/api/folder"
Réponse :
create : JSON {"created": id} avec id = id du dossier créé
modify : JSON {"modified": id} avec id = id du dossier modifié
delete : JSON {"deleted": id} avec id = id du dossier supprimé
list : JSON [
Voir]
Ou
JSON {"ERROR":"
type"}
GET
/api/search
Récupère une liste de traces
Paramètres (facultatifs) :
- latlng & rayon -> recherche autour d'un point ex: latlng=45.5,5.4&rayon=25 (Rayon facultatif en km, 25km par défaut)
- activity -> activité => rp:Randonnée Pédestre mn:Marche Sportive cap:Course à pied alp:Alpinisme tra:Trail vr:Cyclotourisme vg:Vélo Gravel vtt:VTT vv:Voyage à vélo vae:Vélo à assistance électrique vte:VTT à assistance électrique ski:Ski de rando sa:Ski alpin srn:Ski de randonnée nordique sf:Ski de fond raq:Raquettes à neige vol:Vol libre vom:Vol motorisé req:Randonnée Equestre att:Randonnée en attelage rol:Roller vm:Auto mo:Moto route mot:Moto trail qu:Quad km:Aviron/Kayak na:Natation pv:Voile au:Autre, il est possible de rechercher sur une liste d'activités, par exemple activity=pr,mn
- long_min long_max den_min den_max -> longueurs/denivelés minimum/maximum de l'activité, en m
- page -> numéro de page, retourne 100 résultats par page
Exemple cURL (avec authorization: Bearer):
curl -X GET -H "Authorization: Bearer JFV7ZFhdJqwQZ28MVDN4hJOFo" "https://www.visugpx.com/api/search?activity=vr,mn&latlng=45.5,5.4&rayon=10"
Réponse :
JSON [
Voir] avec les données des traces retournées (id, titre, description, distance, activity, dénivelé, durée, lat/lng départ) ou
JSON {"ERROR":"
type"}
GET
/api/activities
Récupère la liste des traces de l'utilisateur (100 par page par défaut)
Paramètres (facultatifs) :
- folder -> numéro de dossier (facultatif, infobulle au survol des dossiers dans votre profil)
- activity -> activité(s) separées par des virgules => rp:Randonnée Pédestre mn:Marche Sportive cap:Course à pied alp:Alpinisme tra:Trail vr:Cyclotourisme vg:Vélo Gravel vtt:VTT vv:Voyage à vélo vae:Vélo à assistance électrique vte:VTT à assistance électrique ski:Ski de rando sa:Ski alpin srn:Ski de randonnée nordique sf:Ski de fond raq:Raquettes à neige vol:Vol libre vom:Vol motorisé req:Randonnée Equestre att:Randonnée en attelage rol:Roller vm:Auto mo:Moto route mot:Moto trail qu:Quad km:Aviron/Kayak na:Natation pv:Voile au:Autre
- flux -> 1: récupérer uniquement les traces du flux
- nb : nombre de résultat par page
- p : numéro de la page
Exemple cURL (avec authorization: Bearer):
curl -X GET -H "Authorization: Bearer JFV7ZFhdJqwQZ28MVDN4hJOFo" "https://www.visugpx.com/api/activities?activity=vr,vtt&flux=1"
Réponse :
JSON [
Voir] avec les données des traces retournées (id, titre, nom, description, distance, dénivelé, durée, flux, visibility, lat/lng départ, ville départ, date départ) ou
JSON {"ERROR":"
type"}
GET
/api/activity/{id}
Récupère les données d'une trace/activité
Exemple cURL (avec cle):
curl -X GET -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" "https://www.visugpx.com/api/activity/K32b7Eq0Uu"
Réponse :
JSON [
Voir] avec les données de la trace retournée (id, titre, nom, description, distance, dénivelé, durée, flux, visibility, lat/lng départ, ville départ, date départ, dossier) ou
JSON {"ERROR":"
type"}
GET
/api/activityfile/{id}
Récupère le fichier
Exemple cURL (avec cle):
curl -X GET -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" "https://www.visugpx.com/api/activityfile/K32b7Eq0Uu"
Réponse :
Le fichier ou
JSON {"ERROR":"
type"}
POST
/api/recaler
Envoie un fichier GPX et récupère un fichier recalé en sortie (identification obligatoire avec cle)
Paramètres (* = requis) :
Exemple cURL :
curl -X POST -H "cle: yYOlbMcps8rOuUCdVDTwbawLXO26IHLM" -F "gpx=@\path\to\file.gpx" -o "\path\to\response.gpx" "https://www.visugpx.com/api/recaler"
Réponse :
Un fichier sur votre disque dur à l'endroit spécifié ou
JSON {"ERROR":"
type"}