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 Nordique 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 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 Nordique 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 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 Nordique 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 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 Nordique 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 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"}
Nous avons pris en compte votre choix.
Vous souhaitez maîtriser les informations qui peuvent être recueillies lors de votre navigation et avez refusé les cookies de personnalisation des annonces, c'est légitime.
Parce que le service fourni par VisuGPX a un coût, accepteriez-vous quand même que nous utilisions des cookies pour vous présenter des annonces non personnalisées ? Ces cookies ne sont pas des cookies de tracking mais de simples des cookies techniques de diffusion qui garantissent le respect votre vie privée.