Api Manager

© Visitmoov 2024

version 1.0.25

loader spinning earth

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour vous proposer des services et des offres adaptés à vos centres d’intérêts. x

Introduction

Bienvenue dans l'API Visitmoov !

Un budget, votre liste d'envies, le temps que vous avez devant vous...
Visitmoov organise pour vous une expérience de découverte unique, adaptée à votre rythme. Plus qu'une liste d'attractions, Visitmoov vous conseille des lieux, des activités et vous guide, pas à pas, pour une découverte sur mesure de votre destination.

Pour commencer

Vous devez créer un compte sur notre portail développeur.

Nos API utilisent des clés pour y permettre l'accès. Vous pouvez enregistrer une nouvelle clé API sur notre portail développeur. Pour obtenir une clé, il faut créer une application (qui peut représenter une de vos application ou autre) en lui donnant un nom et en appuyant sur le bouton "Créer une application".

Il est possible d'accéder aux réglages de l'application en cliquant sur le bouton dédié . Il est possible de changer la limite d'appel, les droits sur une API et limiter les domaines qui y ont accès.

Visitmoov

Recherche de lieu

Exemple de requête:

https://api.visitmoov.com/api/v1/search_place/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&latlng=48.84458%2C2.438912&max_dist=5000

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": "1a8bf1962880101092705f46ba39a2c33b8d3d20", "name": "7 parcours du patrimoine à Vincennes", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "Office de tourisme de Vincennes, 28 avenue de Paris", "postal_code": "94300", "visit_time": 30, "name_fr": "7 parcours du patrimoine à Vincennes", "image": "https://api.visitmoov.com/getSrcImage/?n0=fb41b368a1106ca16af2d41a5f0fd7ef1fffcd56&n1=40384aeca445d25a6971e3a04567ffc47a062963&id=cf98f72ea7466c8d77f1962888e567393d8e8edb", "geometry": { "type": "Point", "coordinates": [ 2.434853, 48.845089 ] }, "township_name": "Vincennes", "subtype_name": "Loisir", "distance": 302.37191248 }, { "id": "aa01b15c062e69d6178a5409c65f0b6f1010968b", "name": "AccorHotels Arena", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": "8 Boulevard de Bercy, 75012, Paris", "postal_code": null, "visit_time": 120, "name_fr": "AccorHotels Arena", "image": "https://api.visitmoov.com/getSrcImage/?n0=3b21af8e4389eb34a869a1f1c4f805c3c8afa829&n1=adff51628e5c95a0f85119a4a2a3361acb47a5fa&id=342cc5c41eff1010966a70772d8f94e18632a368", "geometry": { "type": "Point", "coordinates": [ 2.3787905, 48.8386882 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 4448.33237088 }, { "id": "8ad3cc90d26f690421ff3f5725f0506980da78f121308", "name": "Adolphe Itasse", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 15, "name_fr": "Adolphe Itasse", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.3954149, 48.8585031 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 3539.16716326 }, { "id": "77256b3f196791995bcf7d2482512873a6a46719", "name": "Agence Comside Multimédia", "subtype_id": "8dee1ee779c1309b47c16997ec9d571b5a1b2b96", "price_min": null, "price_max": null, "address": "8 rue des deux communes", "postal_code": "94300", "visit_time": 30, "name_fr": "Agence Comside Multimédia", "image": "https://api.visitmoov.com/getSrcImage/?n0=b07e46bfa15723e44fc876b3b5bc23ab61c93560&n1=b53d8c7122922a08f14dddf2e9340ba4247e75b6&id=f5d008f19679185c64e4dc26e412aba6b7a3c9cc", "geometry": { "type": "Point", "coordinates": [ 2.429532, 48.849693 ] }, "township_name": "Montreuil", "subtype_name": "Services", "distance": 891.26154312 }, { "id": "a66c6f8a2dd529c1f732eca59f1657611191c204", "name": "Agence nationale des fréquences", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 60, "name_fr": "Agence nationale des fréquences", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4265301, 48.8045404 ] }, "township_name": "Maisons-Alfort", "subtype_name": "Autre", "distance": 4543.54298479 }, { "id": "375a885d7109ecd3532adb2f2d2b9336b2632395", "name": "A la mère de famille", "subtype_id": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "price_min": null, "price_max": null, "address": "30 rue du midi", "postal_code": "94300", "visit_time": 30, "name_fr": "A la mère de famille", "image": "https://api.visitmoov.com/getSrcImage/?n0=7f8560bd2aaa1564a5e59a784d1272580a078b17&n1=e9d09d04b2bee607cfdb8a0693ce64422299de6e&id=297aa3af755127cbed27baca207d3532fa218255", "geometry": { "type": "Point", "coordinates": [ 2.436102, 48.84731 ] }, "township_name": "Vincennes", "subtype_name": "Commerce", "distance": 366.64914021 }, { "id": "a725b24d9f7644ecba789a56a7e16283d29cc45b", "name": "Alfortville/Charles de Gaulle/16", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Charles de Gaulle/16", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4135848, 48.8146076 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 3813.73318961 }, { "id": "ae8fd9e12af32d3e1628496c92223a6722f5e27f", "name": "Alfortville/Joseph Franceschi/1", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Joseph Franceschi/1", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4209957, 48.8053567 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 4554.38371309 }, { "id": "92cdabc40512cf19fe16285cae4cfc4655677814", "name": "Alfortville/Malleret-Joinville/16", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Malleret-Joinville/16", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4255222, 48.8025584 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 4774.30964663 }, { "id": "5df4488f181460c6a1bfff4f4adbf7851618bba4", "name": "Ambroise Croizat", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": "46 Villa Godin, Paris 75020, France", "postal_code": null, "visit_time": 15, "name_fr": "Ambroise Croizat", "image": "https://api.visitmoov.com/getSrcImage/?n0=428e2cb3cf108f5b0fa54a2d8597b98c157a17e9&n1=c71ca05f0c0e96c6feaffb9b2ef590e5ceb31642&id=a7eded470b5457ac8e709f7ecaf181460ad215e9", "geometry": { "type": "Point", "coordinates": [ 2.3999147, 48.8599935 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 3328.48335545 }, { "id": "32ce23b2ff176013a4b110eb6ef2e7d7b6e2de85", "name": "Ane x Thon", "subtype_id": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "price_min": null, "price_max": null, "address": "91 Rue de Fontenay", "postal_code": "94300", "visit_time": 30, "name_fr": "Ane x Thon", "image": "https://api.visitmoov.com/getSrcImage/?n0=08977b115c7a13f78c66ac1224087788bbeaa6d7&n1=918ab69f62e3d9bea05d235f6230ca309772adcb&id=82d61bde06be2dc2e55ca6f641d5f176013aa63d", "geometry": { "type": "Point", "coordinates": [ 2.436311, 48.84821 ] }, "township_name": "Vincennes", "subtype_name": "Commerce", "distance": 446.26092706 }, { "id": "383694f1fcc9791f104147888bfd803411735ded", "name": "Aquarium du Palais de la Porte Dorée", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "293 Avenue Daumesnil, 75012 Paris, France", "postal_code": null, "visit_time": 60, "name_fr": "Aquarium du Palais de la Porte Dorée", "image": "https://api.visitmoov.com/getSrcImage/?n0=11a15a8490b89ea67ecc02cb1af569a1152bf4d0&n1=864b5bc70a9764c49f3999f453740f12a0d57215&id=739f1041478bf57d60daeed35ce6d96c45ab70b9", "geometry": { "type": "Point", "coordinates": [ 2.4090231, 48.8352321 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2421.81844778 }, { "id": "44de54925db5c1fb1c298c7b521fd2d433d4cd4776", "name": "Aquarium tropical du Palais de la Porte Dorée", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 7, "price_max": 7, "address": "293, avenue Daumesnil", "postal_code": "75012", "visit_time": 90, "name_fr": "Aquarium tropical du Palais de la Porte Dorée", "image": "https://api.visitmoov.com/getSrcImage/?n0=7584aa141de4309477e5f7634f395df8c1d042bc&n1=a0cf33a4079f7942058a0fe3c5d52500d841bcc9&id=1c9da7d4776a9f88846bd726c20b7615f5a2d4ce", "geometry": { "type": "Point", "coordinates": [ 2.409642, 48.835056 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2389.60454108 }, { "id": "6592c158cfa70269f125086b3265a89139d1b20d", "name": "Arboretum de Paris", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "37 Route de la Ferme, Paris 75012, France", "postal_code": null, "visit_time": 30, "name_fr": "Arboretum de Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=cab90e069a11b9816decba1722e6844619e66040&n1=ca377c773a05cffe86551c3ac9d4f9518850382a&id=3934a0e91b3c3d39f1250864fa410a3a585a3faa", "geometry": { "type": "Point", "coordinates": [ 2.4566194, 48.8213975 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2885.2728719 }, { "id": "14a04d62a0626a7fab4bcb837495e1009f142612", "name": "Arkose", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 13, "price_max": null, "address": "33 rue du Progrès", "postal_code": "93100", "visit_time": 30, "name_fr": "Arkose", "image": "https://api.visitmoov.com/getSrcImage/?n0=37aa536d258d54a1b5c0781f0b878151bca604d1&n1=0f16a018cfc9534ae72716d063469989049bf066&id=a8be8837bf2c24a368c25fc77fcf1426126252f0", "geometry": { "type": "Point", "coordinates": [ 2.419235, 48.851629 ] }, "township_name": "Montreuil", "subtype_name": "Loisir", "distance": 1639.34352657 }, { "id": "519ce58b6e1ca86f8632443f182018afeb2cd93b", "name": "Association des parents gays et lesbiens", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 60, "name_fr": "Association des parents gays et lesbiens", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4115212, 48.876763 ] }, "township_name": "Les Lilas", "subtype_name": "Autre", "distance": 4101.38490753 }, { "id": "4e602adf1633182c24e3acc510b4626030924787", "name": "ATD Quart Monde", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": "63 Rue Beaumarchais, Montreuil 93100, France", "postal_code": null, "visit_time": 60, "name_fr": "ATD Quart Monde", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4308474, 48.8551007 ] }, "township_name": "Montreuil", "subtype_name": "Autre", "distance": 1310.24948331 }, { "id": "abb9ee9cdb47ac83d4c49e2f3d955e0af1452546", "name": "Atelier de graffiti mural - Street Art Paris", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": 35, "price_max": null, "address": "Métro Bercy", "postal_code": "75012", "visit_time": 30, "name_fr": "Atelier de graffiti mural - Street Art Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=e65cd97d9ab43ed259a1fa78348dfc111282a595&n1=1a82a0fe77bfb2698803323530cc5a393efb9e44&id=84980a90e1a2c9d2447ffbfb73691cf1452541d0", "geometry": { "type": "Point", "coordinates": [ 2.379913, 48.840158 ] }, "township_name": "Paris", "subtype_name": "Culturel", "distance": 4345.52219312 }, { "id": "e8d66f02031cb588028ce12665ea019653fc2a6b", "name": "Atelier de Paris", "subtype_id": "061398a58a28fe7638b268702ae80f4d45ed7e96", "price_min": null, "price_max": null, "address": "30 Rue du Faubourg Saint-Antoine, Paris 75012, France", "postal_code": null, "visit_time": 30, "name_fr": "Atelier de Paris", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.3716438, 48.8524032 ] }, "township_name": "Paris", "subtype_name": "Musée - Art", "distance": 4998.43994782 }, { "id": "2b01c2f740150a4d7ff1b8aa593a9eff1756838f", "name": "Atelier de Paris - Carolyn Carlson", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "Route du Champ-de-Manoeuvre", "postal_code": "75012", "visit_time": 30, "name_fr": "Atelier de Paris - Carolyn Carlson", "image": "https://api.visitmoov.com/getSrcImage/?n0=9a71c868cd8bbc849f11215f8eca1e6547f2e837&n1=717827393b65c5a12f03cab494356ad6fded29a0&id=8e78e411139f1756832cbb00525b33e5fc1a7e0d", "geometry": { "type": "Point", "coordinates": [ 2.449931, 48.835157 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 1322.18942888 } ], "nb_element": 826, "nb_page": 42 }

Recherche paginé de lieux.

Requète HTTP

GET https://api.visitmoov.com/api/v1/search_place/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
name STRING OPTIONNEL Texte contenu dans le nom de la donnée.
subtype_ids STRING OPTIONNEL Liste des identifiants de sous-types séparés par une virgule.
exclude_ids STRING OPTIONNEL Liste des identifiants de données exclues séparés par des virgules.
price_min FLOAT OPTIONNEL Prix minimum des données (UNITÉ: euros)
price_max FLOAT OPTIONNEL Prix maximum des données (UNITÉ: euros)
date_begin STRING DATE OPTIONNEL Date d'ouverture minimale des données (FORMAT: "aaaa-mm-jj", MIN: aujourd'hui, PAR DÉFAUT: aujourd'hui)
date_end STRING DATE OPTIONNEL Date d'ouverture maximale des données (FORMAT: "aaaa-mm-jj")
time_begin INTEGER OPTIONNEL Temps d'ouverture minimum des données (UNITÉ: minutes)
time_end INTEGER OPTIONNEL Temps d'ouverture maximal des données (UNITÉ: minutes)
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
with_pets INTEGER OPTIONNEL Les données acceptent les animaux (VALEURS: 0 ou 1)
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
indoor INTEGER OPTIONNEL Données intérieures (VALEURS: 0 ou 1)
bbox STRING OPTIONNEL Données dans un cadre délimité (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONNEL Données à moins de "max_dist" mètres de latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONNEL Distance maximale des données depuis "latlng" (REMARQUE: utilisé uniquement avec "latlng")
order STRING OPTIONNEL Tri des données (REMARQUE: tout champ, "distance" utilisé uniquement avec "latlng")
dir STRING OPTIONNEL Direction de tri (VALEURS: "asc" ou "desc") Défaut: asc
limit INTEGER OPTIONNEL Limiter les résultats par page (MAX: 20) Défaut: 20
page INTEGER OPTIONNEL Décalage de la page (MAX: 4) Défaut: 0
vtime_min INTEGER OPTIONNEL Temps de visite minimum de la donnée (UNITÉ: minutes)
vtime_max INTEGER OPTIONNEL Temps de visite maximum de la donnée (UNITÉ: minutes)

Modèle de réponse

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "distance": "Float" } ], "nb_element": "Integer", "nb_page": "Integer" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.

Recherche d'hôtel

Exemple de requête:

https://api.visitmoov.com/api/v1/search_hotel/?api_key=API_KEY?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&dummy=0&name=Hôtel

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": "3ffa635d91496f20af3cfc143654d46db971855e", "name": "25hours Hotel Terminus Nord", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "12 Boulevard de Denain, 75010 Paris", "postal_code": null, "stars": null, "name_fr": "25hours Hotel Terminus Nord", "image": "https://api.visitmoov.com/getSrcImage/?n0=4fd21162a1e1c51c1ff6966ed8f6a6569fc285b5&n1=bf1f0c79abafd3b07a235f270dba49bca4ffd387&id=d6f595b3086e33003f8523034316ad914905eb7f", "geometry": { "type": "Point", "coordinates": [ 2.35513, 48.87957 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "fad255e527a94d184487efa8f8f04bc07aa400b2", "name": "9 Hôtel Montparnasse", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "55 rue de Plaisance, 75014 Paris", "postal_code": "75014", "stars": 3, "name_fr": "55 Hôtel Montparnasse", "image": "https://api.visitmoov.com/getSrcImage/?n0=2835aa70085f3cd70450cce905a1665f9ec8665d&n1=7f37e522acda2f9378765074e926f0a70bb6b52b&id=09dec98a2c24d1844596ef24d78c51828da04ff7", "geometry": { "type": "Point", "coordinates": [ 2.3175871, 48.8337574 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "eca716c7c4c05acdc96a54e031d7116680344f5e", "name": "9Hotel Montparnasse", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "76 Rue Raymond Losserand, 75014 Paris", "postal_code": "75014", "stars": 3, "name_fr": "9Hotel Montparnasse", "image": "https://api.visitmoov.com/getSrcImage/?n0=a90d603d02d7ae40350624c707afa19d069d4ad0&n1=62e1025b24a79a2ea3463b8fc3f648c69432ff6e&id=f80bec938d7116aa552367b0ce4e37b06e8df6e3", "geometry": { "type": "Point", "coordinates": [ 2.3177, 48.83375 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "7639f2d94240a70dd72b07c3890dbf598898b93c", "name": "9Hotel Opera", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "14, Rue Papillon, 75009 Paris", "postal_code": "75009", "stars": 3, "name_fr": "9Hotel Opera", "image": "https://api.visitmoov.com/getSrcImage/?n0=d1f2b4f09e21a76ae2233b34a1d5b3bfdbf9c543&n1=50c5258df176355bb3cf5fa25b678798a192be93&id=4a0a3ddfd9424e985ac86780f480bf0df444fb35", "geometry": { "type": "Point", "coordinates": [ 2.34713, 48.87632 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "160be8040b3fdfa5a33052ef3b80ac15f28e12186", "name": "9 Hotel République", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "7-9 rue Pierre-Chausson", "postal_code": "75010", "stars": 4, "name_fr": "9 Hotel République", "image": "https://api.visitmoov.com/getSrcImage/?n0=b525d6f3daabda12ced8abfdefb6f6b6783ae42c&n1=29078d261314a62673c0c0b3d5ea208b45a900ec&id=6f0966f9c0e12186c071edd85b18b68fd298ee57", "geometry": { "type": "Point", "coordinates": [ 2.3606889, 48.8708308 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "437d60a7b86c10099f880f95ec626bb0c85de11420", "name": "Abbaye des Vaux de Cernay Hôtel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 20, "price_max": 20, "address": "Domaine des Vaux de Cernay", "postal_code": "78720", "stars": null, "name_fr": "Abbaye des Vaux de Cernay Hôtel", "image": "https://api.visitmoov.com/getSrcImage/?n0=576e5da4e1450faae68ee1f8a0a19a19d4a5cfb6&n1=57d1daa6d5097e0ef53a5f3ae17bda2b00fd0734&id=c67e1142072c9d8650eb9d1ef9fc9c7f32756698", "geometry": { "type": "Point", "coordinates": [ 1.936166, 48.68413 ] }, "township_name": "Cernay-La-Ville", "subtype_name": "Hôtel" }, { "id": "30d4e8cd7549b5d9b250f352b1677381ed7f191f", "name": "Académie Hôtel Saint Germain", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "32 rue des Saints Pères, 75007 Paris", "postal_code": null, "stars": null, "name_fr": "Académie Hôtel Saint Germain", "image": "https://api.visitmoov.com/getSrcImage/?n0=35cf6da2f3d3a10596a344f7dc3786e4718865e7&n1=9ee981c5cc12a27bae7282f1382de924b00bb2f5&id=71ae24a4e78019c0b652ca5eefe8b4c816cc6bd7549", "geometry": { "type": "Point", "coordinates": [ 2.3306959, 48.855222 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "601a744c6b1c680bf633b5b4ce7cd631258a106d", "name": "Accor Hôtel Ibis Styles", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 99, "price_max": null, "address": "ZA St Nicolas 6 rue du Perré", "postal_code": "77950", "stars": null, "name_fr": "Accor Hôtel Ibis Styles", "image": "https://api.visitmoov.com/getSrcImage/?n0=8cca128bc2204a6231ccf327730c261a31bc5832&n1=f7a3009ca2bc7daa3e97143bb72471316202a463&id=bd2a878d4e3414fc680211ee88499f899a56a223", "geometry": { "type": "Point", "coordinates": [ 2.671466, 48.552346 ] }, "township_name": "Rubelles", "subtype_name": "Hôtel" }, { "id": "1ddd12868d908cff0efbdfd4473ff0a6a6961f90", "name": "Ace Hôtel Paris Marne la Vallée", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "3 Boulevard des artisans", "postal_code": "77700", "stars": null, "name_fr": "Ace Hôtel Paris Marne la Vallée", "image": "https://api.visitmoov.com/getSrcImage/?n0=eaec3b97a5cf042981ad1ef6a1ec1dee3d9a3139&n1=2f4297a224cdd14eb6e7e76e87fd06a89b57a968&id=0b6e4a9898dacc84d1286d71a7e04f031729fffe", "geometry": { "type": "Point", "coordinates": [ 2.830706, 48.848497 ] }, "township_name": "Bailly-Romainvilliers", "subtype_name": "Hôtel" }, { "id": "d6f5d188a20166817f44fc162122cd61022e4680", "name": "AC Hotel Paris Le Bourget Airport by Marriott", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "2 Rue de la Haye, 93440 Le Bourget", "postal_code": null, "stars": null, "name_fr": "AC Hotel Paris Le Bourget Airport by Marriott", "image": "https://api.visitmoov.com/getSrcImage/?n0=a218ce9438dac521644dca1d06714e69419c8908&n1=0f4da202163d2adff560cd197578ccfa188805bf&id=8dd53ae40fd610288b00b19b0f38de95530655f2", "geometry": { "type": "Point", "coordinates": [ 2.44357, 48.95629 ] }, "township_name": "Bonneuil-En-France", "subtype_name": "Hôtel" }, { "id": "efe55f53ffb36c6728e6e10132e9ae19fcf1e3a0", "name": "Acropolis Hôtel Paris Boulogne", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "63 rue Thiers, 92100 Boulogne-Billancourt France", "postal_code": "92100", "stars": 3, "name_fr": "Acropolis Hotel Paris Boulogne", "image": "https://api.visitmoov.com/getSrcImage/?n0=013ea164d8a55842ed7a5f3dbc0be2dcbc996f03&n1=70341170c985c5763eb58b7f284735e683773a2c&id=94f22ba2251372ca767e101320252ad7ed17414d", "geometry": { "type": "Point", "coordinates": [ 2.249321, 48.83602 ] }, "township_name": "Boulogne-Billancourt", "subtype_name": "Hôtel" }, { "id": "f7f55291c793256838c226c386bc46fb6de1d3e7", "name": "Adagio City Aparthotel Val d'Europe", "subtype_id": "91b2cb76ffc1bdd1b31db12e0c279b420ae8288c", "price_min": null, "price_max": null, "address": "42 cours du Danube", "postal_code": "77700", "stars": null, "name_fr": "Adagio City Aparthotel Val d'Europe", "image": "https://api.visitmoov.com/getSrcImage/?n0=8fdbb14b588ea1fbe9f5fb0d65f6e0fdf452de7c&n1=4b8ab41eea2b5c48acf6b2500369baabaaefd180&id=6c2c3f25e478889645295675ec7935e20c7f51ce", "geometry": { "type": "Point", "coordinates": [ 2.786358, 48.855793 ] }, "township_name": "Serris", "subtype_name": "Résidence" }, { "id": "9222906a334b4bdd4d72049a3a7f9f1b29966365", "name": "Adonis Sacré Coeur Hotel Roma", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "101, Rue Caulaincourt, 75018 Paris", "postal_code": null, "stars": null, "name_fr": "Adonis Sacré Coeur Hotel Roma", "image": "https://api.visitmoov.com/getSrcImage/?n0=8120932364d763a1958a1cd926da14f4c0dfcfea&n1=c14763c0e2bb6bbeafd81dab7d28d4ea7f4a236d&id=388f5d557a07516d72049867c112651438c3abc3", "geometry": { "type": "Point", "coordinates": [ 2.3388, 48.88974 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "8ef4e54ab40c84162caf7effa0968a202255f680", "name": "Aigle Noir Hôtel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 165, "price_max": 230, "address": "Aigle Noir Hôtel, 27 place Napoléon Bonaparte", "postal_code": "77300", "stars": null, "name_fr": "Aigle Noir Hôtel", "image": "https://api.visitmoov.com/getSrcImage/?n0=d6e871f03d46c1aee5ce277efbf59a147b8a1b83&n1=577024b4db089c58d2827a1792a24a266bba034a&id=f9022b64ecc841810972bfb47112611c785dd287", "geometry": { "type": "Point", "coordinates": [ 2.699146, 48.403793 ] }, "township_name": "Fontainebleau", "subtype_name": "Hôtel" }, { "id": "2d07e10581bc13fec5d351c96bc266c2053270ff", "name": "Albert's Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "22 rue du Grand Prieuré, 75011 Paris France", "postal_code": "75011", "stars": null, "name_fr": "Albert's Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=4a127936a13e0dcd7b97d274878151f345678c09&n1=432d962aea430a0eefcda07a64b298c20c9ba2f6&id=a6bc37f80b42b15a5c988133ce105819972af14a", "geometry": { "type": "Point", "coordinates": [ 2.368424, 48.866146 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "eb6ecf2dd125310bd3a6c4334d6977f0c2e699bc", "name": "Albert's Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "22, rue du Grand Prieuré, 75011 Paris", "postal_code": null, "stars": null, "name_fr": "Albert's Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=f26a174491152b087e860bad1138e17f0ad6c48f&n1=28bfadda11ae3cd00ab2feb324a251c9c5374146&id=e9e1594b39c6b188db364d697793e6100d820cd6", "geometry": { "type": "Point", "coordinates": [ 2.3685293, 48.8661043 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "bf0fd6c792084d56fd57531255fec954cbb5570b", "name": "alfa hotel paris nation", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "12 Rue Guénot, 75011 Paris", "postal_code": null, "stars": null, "name_fr": "alfa hotel paris nation", "image": "https://api.visitmoov.com/getSrcImage/?n0=e24781f8516312a10e7b3d76d8c2f1cb41a38ac7&n1=f2fa28a96c4231ab4a168878819203b0aec5aa22&id=9986dd7d63ebdbd6ffff7ef0d57536374591d9ce", "geometry": { "type": "Point", "coordinates": [ 2.39241, 48.85131 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "2d79d1169698e50f00c29b74b2be30a6b304008d", "name": "A L'Hôtel des Roys", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 12.5, "price_max": 12.5, "address": "14 avenue de Paris", "postal_code": "78000", "stars": 3, "name_fr": "A L'Hôtel des Roys", "image": "https://api.visitmoov.com/getSrcImage/?n0=eba231741f5d82f0594bf28d5a14c6e377857320&n1=6b5aaf553ad2a2c3058fa41fa2af065d27a957db&id=d51be01882a96fc4f1386ab962e1d11695cf3318", "geometry": { "type": "Point", "coordinates": [ 2.13262, 48.800899 ] }, "township_name": "Versailles", "subtype_name": "Hôtel" }, { "id": "8be10944b7c3d85a174051c924d8e7b83b694afc", "name": "Alpha hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "4 rue de l Erable, 78410 Bouafle France", "postal_code": "78410", "stars": null, "name_fr": "Alpha Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=cf0b5c583a1f9b9af9a182719fbb411590c29c7a&n1=612396ed5ba8a220907a85ca366784fd2f0ba5c6&id=2688497d8f0fcf4b663dac83e1094446c2c04d65", "geometry": { "type": "Point", "coordinates": [ 1.90261, 48.96913 ] }, "township_name": "Bouafle", "subtype_name": "Hôtel" }, { "id": "db29a69e1a979bc0b0e4f884b2caef1da939e10480", "name": "AMADEUS Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 71.8846585915263, "price_max": 71.8846585915263, "address": "39 rue Claude Tillier 12th Arr., 75012 Paris France", "postal_code": "75012", "stars": null, "name_fr": "Amadeus Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=ccea916b143a1d1df1ec0d242d692e903884e43f&n1=5de1561a2dc922e40b5f3e6bbdb8d35260e42d85&id=99c06f3f7ac9abb2977ac3c2e1048030510ff68b", "geometry": { "type": "Point", "coordinates": [ 2.389269, 48.849148 ] }, "township_name": "Paris", "subtype_name": "Hôtel" } ], "nb_element": 805, "nb_page": 41 }

Recherche paginé d'hôtel.

Requète HTTP

GET https://api.visitmoov.com/api/v1/search_hotel/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
name STRING OPTIONNEL Texte contenu dans le nom de la donnée.
subtype_ids STRING OPTIONNEL Liste des identifiants de sous-types séparés par une virgule.
exclude_ids STRING OPTIONNEL Liste des identifiants de données exclues séparés par des virgules.
price_min FLOAT OPTIONNEL Prix minimum des données (UNITÉ: euros)
price_max FLOAT OPTIONNEL Prix maximum des données (UNITÉ: euros)
date_begin STRING DATE OPTIONNEL Date d'ouverture minimale des données (FORMAT: "aaaa-mm-jj", MIN: aujourd'hui, PAR DÉFAUT: aujourd'hui)
date_end STRING DATE OPTIONNEL Date d'ouverture maximale des données (FORMAT: "aaaa-mm-jj")
time_begin INTEGER OPTIONNEL Temps d'ouverture minimum des données (UNITÉ: minutes)
time_end INTEGER OPTIONNEL Temps d'ouverture maximal des données (UNITÉ: minutes)
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
with_pets INTEGER OPTIONNEL Les données acceptent les animaux (VALEURS: 0 ou 1)
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
indoor INTEGER OPTIONNEL Données intérieures (VALEURS: 0 ou 1)
bbox STRING OPTIONNEL Données dans un cadre délimité (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONNEL Données à moins de "max_dist" mètres de latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONNEL Distance maximale des données depuis "latlng" (REMARQUE: utilisé uniquement avec "latlng")
order STRING OPTIONNEL Tri des données (REMARQUE: tout champ, "distance" utilisé uniquement avec "latlng")
dir STRING OPTIONNEL Direction de tri (VALEURS: "asc" ou "desc") Défaut: asc
limit INTEGER OPTIONNEL Limiter les résultats par page (MAX: 20) Défaut: 20
page INTEGER OPTIONNEL Décalage de la page (MAX: 4) Défaut: 0
stars_min INTEGER OPTIONNEL Nombre d'étoiles minimum de la donnée
stars_max INTEGER OPTIONNEL Nombre d'étoiles maximum de la donnée

Modèle de réponse

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "stars": "Integer (can be null)" } ], "nb_element": "Integer", "nb_page": "Integer" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.

Recherche de restaurant

Exemple de requête:

https://api.visitmoov.com/api/v1/search_restaurant/?api_key=API_KEY&?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&bbox=48.838961105496054%2C2.2851562500000004%2C48.84845083589778%2C2.357597351074219&dummy=0

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": "21dc3e6a2df0d63e41ee398812c4dcce1145ff6c", "name": "Anicia Bistrot Nature", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 26, "price_max": 69, "address": "97 rue du Cherche-Midi", "postal_code": "75006", "stars": 0, "name_fr": "Anicia Bistrot Nature", "image": "https://api.visitmoov.com/getSrcImage/?n0=f468da185cd688600bab3c3f447ceaf4b979288f&n1=1dba1abde04e89fb1be737b9b4aafc95177e40d5&id=197c5f63925811832ce1fb953b3032b396ff8fe39881", "geometry": { "type": "Point", "coordinates": [ 2.321361, 48.846737 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "1aa8e34348b603318b89ceb99dfc546908d1d9be", "name": "Bistroy… les Papilles", "subtype_id": "62067ccdaedcaa6a9dcb1e6183f1deb1924e587f", "price_min": null, "price_max": null, "address": "30 Rue Gay-Lussac, 75005 Paris, France", "postal_code": null, "stars": null, "name_fr": "Bistroy… les Papilles", "image": "https://api.visitmoov.com/getSrcImage/?n0=2939182df0bb94b7c1cd5f156a3a10978e71e6db&n1=a7bb1856b92f6f95f65442d0f3a1cc38bce156b1&id=1193b1c4fcfc7ce66d856d2d383c75e343489d7e", "geometry": { "type": "Point", "coordinates": [ 2.3417111, 48.8446323 ] }, "township_name": "Paris", "subtype_name": "Brasserie" }, { "id": "1998884e3a619459f75bffbce1125e9ff4b18cd1974", "name": "Brasserie Lola", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "99 rue du Theatre, 75015 Paris France", "postal_code": "75015", "stars": null, "name_fr": "Brasserie Lola", "image": "https://api.visitmoov.com/getSrcImage/?n0=299b26652a96dbccd5eb3f17ce3a1eea88334398&n1=bbe2b450316fb333887cba1ba00e45f602e05887&id=e99d7d226d1d51149ab34d197470e381f3c55e65", "geometry": { "type": "Point", "coordinates": [ 2.293727, 48.846836 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "ad4bfb47fe418de42636fdacb7f0dc7a24a5440c", "name": "Chinaski", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 35, "price_max": 35, "address": "46 rue Daubenton", "postal_code": "75005", "stars": 0, "name_fr": "Chinaski", "image": "https://api.visitmoov.com/getSrcImage/?n0=341aacce3bfa1a1e4ec2780340d3e446078dc77b&n1=e02eee8b9704a11f4d2cc9ea1d4d0269b3c2c18e&id=8fa1f7d3b3ace4263679f65a83caddf9c84627f3", "geometry": { "type": "Point", "coordinates": [ 2.35034, 48.8401925 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "f84852040e3953780d010a8616a80effd4b0d169", "name": "Ciasa Mia", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 31, "price_max": 94, "address": "19 rue Laplace", "postal_code": "75005", "stars": 0, "name_fr": "Ciasa Mia", "image": "https://api.visitmoov.com/getSrcImage/?n0=4082babe53cab980e045be9a34de94778a182da3&n1=f1a1694f9d18f857ea9e25c4305506e387bb71c3&id=162ecd06760b26ddf7df952d4b90ce8583be39537", "geometry": { "type": "Point", "coordinates": [ 2.3469983, 48.8474307 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "178e1fde98425882b275dbe69afc39c7464fe39631", "name": "Cucina", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 42, "price_max": 60, "address": "20 Rue Saint-Victor", "postal_code": "75005", "stars": 0, "name_fr": "Cucina", "image": "https://api.visitmoov.com/getSrcImage/?n0=e9ed0751f2dd3b3075bc4a15ed248e45396430bd&n1=5876cdea5407121f6ef29e953d92f2a14eb27d5c&id=3d4d8e396317f8556aaae26b74d75f0b051e94f2", "geometry": { "type": "Point", "coordinates": [ 2.35088, 48.84832 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "f8e84b2a5e426338c4929dc8826f11cfcdf09cec", "name": "Esttia", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 22, "price_max": 36, "address": "11 rue de la Grande-Chaumière", "postal_code": "75006", "stars": 0, "name_fr": "Esttia", "image": "https://api.visitmoov.com/getSrcImage/?n0=d8fbe11aa59082a5c766c48265c03e2a1488f2cc&n1=20742d216e4bfd33b5a165e4a69f2d2065891dfe&id=ca651bf19e4263392648384be92df25282123138", "geometry": { "type": "Point", "coordinates": [ 2.3310161, 48.8422899 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "0e0e39947cf820aa27459d1fc6fcc2234f56e651", "name": "Ida by Denny Imbroisi", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 30, "price_max": 70, "address": "117 rue de Vaugirard", "postal_code": "75015", "stars": 0, "name_fr": "Ida by Denny Imbroisi", "image": "https://api.visitmoov.com/getSrcImage/?n0=6303cab9bf7b29a1af50f25a93649069872bfc34&n1=3374acefd8a1542e14ca0d5695889fb2529072fa&id=d9766b988f4113be3872f3a0fbfba4b1e3994717", "geometry": { "type": "Point", "coordinates": [ 2.3190431, 48.8447389 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "459a7b4fee16b45034b8c9e1eb0d7812d6608ae39931", "name": "Kokoro", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 25, "price_max": 34, "address": "36 rue des Boulangers", "postal_code": "75005", "stars": 0, "name_fr": "Kokoro", "image": "https://api.visitmoov.com/getSrcImage/?n0=31f24c90a1407fab4381ba248cb38312b7e06751&n1=41593c7390889e5ed4bb123445347063aaa1d082&id=5138f13bbd5e40562304c2ae39931bac2ebe3241", "geometry": { "type": "Point", "coordinates": [ 2.3518202, 48.8464457 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "e9a2001915e9b02b64cf7d4464ce1deb13a69943", "name": "Kook", "subtype_id": "100bb8b60215485e464a48d0567bda3c686f0c76", "price_min": null, "price_max": null, "address": "133 Rue de Sèvres, 75006 Paris France", "postal_code": "75006", "stars": null, "name_fr": "KOOK", "image": "https://api.visitmoov.com/getSrcImage/?n0=c1b53843a02899629e34894ee8fbfba65eda1bab&n1=b6ef7571f85c5fa1bc54d94b8c123c01e24c8fc9&id=d7682a8382260bf642a88ce8b60b17d446414711", "geometry": { "type": "Point", "coordinates": [ 2.31801, 48.84724 ] }, "township_name": "Paris", "subtype_name": "Fast Food - Restauration Rapide" }, { "id": "b561f5e804f7be1037222e222f6bca3837477069", "name": "La Closerie des Lilas", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "171 bd. du Montparnasse, 6e, Paris, 75006, France", "postal_code": null, "stars": null, "name_fr": "La Closerie des Lilas", "image": "https://api.visitmoov.com/getSrcImage/?n0=7938046efa1485fa72d2d234d1d8744c1c42ae47&n1=392e34c48477410aa142c48be70ee212b35d6360&id=28e1c00e72d28034780bf73195e1037267d860f6", "geometry": { "type": "Point", "coordinates": [ 2.3360729, 48.8400813 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "7dcececedd7850d9ab02ef50ccb8f4f0a4d245b4", "name": "La Coupole", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "1, 0, 2", "postal_code": "75014", "stars": null, "name_fr": "La Coupole", "image": "https://api.visitmoov.com/getSrcImage/?n0=6ec19a9baa1c16b5f0b7cbfc084731c7920f45ca&n1=3ad24a9e720e3707a61a153b857555865f4db558&id=123357d9457aaf68433ee8202c9ae5fd78508e8e", "geometry": { "type": "Point", "coordinates": [ 2.3280738, 48.8422661 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "e5af931f309903ba0e39579a7f489bbc6099aaf9", "name": "L'Antre Amis", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 38, "price_max": 65, "address": "9 rue Bouchut", "postal_code": "75015", "stars": 0, "name_fr": "L'Antre Amis", "image": "https://api.visitmoov.com/getSrcImage/?n0=d60929aca58e1232f921b901e7b6ea1e9933b674&n1=69a3ea9c315ba22aad3ca17fed6d7ba1e7894333&id=f665984e395793f112ce2a2b9c8ea2eebd968bf1", "geometry": { "type": "Point", "coordinates": [ 2.3101451, 48.8467763 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "11cb454267a837b246c1cd27e4605de11426b817", "name": "La Rotonde", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "1, 0, 5", "postal_code": "75006", "stars": null, "name_fr": "La Rotonde", "image": "https://api.visitmoov.com/getSrcImage/?n0=5c27866a1c48715cb06dad7c7bfe91142039a1b5&n1=09ddb6f042c1a11c9d6f4e83054a3d8ff5874b91&id=dc0ed47a0aa62673e6ebe4137eb67196832ebe11426", "geometry": { "type": "Point", "coordinates": [ 2.329226, 48.8423444 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "dde2146827aa46851e394092921e031ad5717119", "name": "La Truffière", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 39, "price_max": 155, "address": "4 rue Blainville", "postal_code": "75005", "stars": 0, "name_fr": "La Truffière", "image": "https://api.visitmoov.com/getSrcImage/?n0=b9f0e247df092f9e7a10de3954dcf315af467310&n1=ab227bb2bebee491301cc1358180ab1ea15dd13c&id=7b4ad71d9ee0fe394095cd3d7f407735dab706d2", "geometry": { "type": "Point", "coordinates": [ 2.3488724, 48.8445464 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "d845fac65b80d0e70e2137085ff4576e39599b3a", "name": "Le Cette", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 35, "price_max": 60, "address": "7 rue Campagne-Première", "postal_code": "75014", "stars": 0, "name_fr": "Le Cette", "image": "https://api.visitmoov.com/getSrcImage/?n0=ac35c1c19c717624e83bf4285a4c95adea184074&n1=83dc65379b68a91b705692b3317eaa1a7bee9310&id=6595fd552c254115e395992af77decbee9de4517", "geometry": { "type": "Point", "coordinates": [ 2.3333639, 48.8402935 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "4d26e7e426467f9160fc26b1ac18a55cd8246251", "name": "Le Cherine", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 18, "price_max": 50, "address": "74 rue de la Croix-Nivert", "postal_code": "75015", "stars": 0, "name_fr": "Le Cherine", "image": "https://api.visitmoov.com/getSrcImage/?n0=126489888d4750e5a40e8b3c689b647a10113c7c&n1=bb36875d537661d6475e2a12c5539c1df52a69e0&id=1fd46e42646b25683a9b6a979904fe7209e73602", "geometry": { "type": "Point", "coordinates": [ 2.2966397, 48.84463 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "befed9fd90b6c49de25297e1a5b3c5473cd56981", "name": "LE CIEL DE PARIS", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "33 AVENUE DU MAINE", "postal_code": null, "stars": null, "name_fr": "Le ciel de Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=f1a144bfa170715d309955dff1e8eb857f806b23&n1=403784aeedc937a1de0e28eaa2f48ac34a13ebda&id=e035d97dde89e252973eaf6fdf74ac76322d40b3", "geometry": { "type": "Point", "coordinates": [ 2.32111, 48.8422900009208 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "036a68e39481301a14fa8b76c4690adb652a6df1", "name": "Le Clos Y", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 38, "price_max": 68, "address": "27 avenue du Maine", "postal_code": "75015", "stars": 0, "name_fr": "Le Clos Y", "image": "https://api.visitmoov.com/getSrcImage/?n0=7cd0ac60f165dba1b48010dcb3a252d861e98f7c&n1=451da0fc8cfbe6be5709d39c0de33a53fb57e6a1&id=fc02bfc2d1e974de39481682ff16b9920b60e598", "geometry": { "type": "Point", "coordinates": [ 2.3207894, 48.8429138 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "a21e2236682c5a0680b01e42632ccaacbe99a286", "name": "Le Radis Beurre", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 37, "price_max": 45, "address": "51 boulevard Garibaldi", "postal_code": "75015", "stars": 0, "name_fr": "Le Radis Beurre", "image": "https://api.visitmoov.com/getSrcImage/?n0=72a12fabd5a55938cb8ca6746014478f56278e0d&n1=7fb3c34f00da10a71995560e1b95f64f1788d29d&id=f6be1ece42632ef8303ffbba73ab96c2b232e70d", "geometry": { "type": "Point", "coordinates": [ 2.3080778, 48.8461702 ] }, "township_name": "Paris", "subtype_name": "Restaurant" } ], "nb_element": 59, "nb_page": 3 }

Recherche paginé de restaurant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/search_restaurant/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
name STRING OPTIONNEL Texte contenu dans le nom de la donnée.
subtype_ids STRING OPTIONNEL Liste des identifiants de sous-types séparés par une virgule.
exclude_ids STRING OPTIONNEL Liste des identifiants de données exclues séparés par des virgules.
price_min FLOAT OPTIONNEL Prix minimum des données (UNITÉ: euros)
price_max FLOAT OPTIONNEL Prix maximum des données (UNITÉ: euros)
date_begin STRING DATE OPTIONNEL Date d'ouverture minimale des données (FORMAT: "aaaa-mm-jj", MIN: aujourd'hui, PAR DÉFAUT: aujourd'hui)
date_end STRING DATE OPTIONNEL Date d'ouverture maximale des données (FORMAT: "aaaa-mm-jj")
time_begin INTEGER OPTIONNEL Temps d'ouverture minimum des données (UNITÉ: minutes)
time_end INTEGER OPTIONNEL Temps d'ouverture maximal des données (UNITÉ: minutes)
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
with_pets INTEGER OPTIONNEL Les données acceptent les animaux (VALEURS: 0 ou 1)
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
indoor INTEGER OPTIONNEL Données intérieures (VALEURS: 0 ou 1)
bbox STRING OPTIONNEL Données dans un cadre délimité (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONNEL Données à moins de "max_dist" mètres de latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONNEL Distance maximale des données depuis "latlng" (REMARQUE: utilisé uniquement avec "latlng")
order STRING OPTIONNEL Tri des données (REMARQUE: tout champ, "distance" utilisé uniquement avec "latlng")
dir STRING OPTIONNEL Direction de tri (VALEURS: "asc" ou "desc") Défaut: asc
limit INTEGER OPTIONNEL Limiter les résultats par page (MAX: 20) Défaut: 20
page INTEGER OPTIONNEL Décalage de la page (MAX: 4) Défaut: 0
stars_min INTEGER OPTIONNEL Nombre d'étoiles minimum de la donnée
stars_max INTEGER OPTIONNEL Nombre d'étoiles maximum de la donnée

Modèle de réponse

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "stars": "Integer (can be null)" } ], "nb_element": "Integer", "nb_page": "Integer" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.

Recherche d'événement

Exemple de requête:

https://api.visitmoov.com/api/v1/search_event/?api_key=API_KEY&?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&limit=10&vtime_max=60&dummy=0&page=1

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": "f5bf6cd78366ca8b903671c3d6e2a52187c5c983", "name": "12/04 Nicolas Gabet", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "12/04 Nicolas Gabet", "image": "https://api.visitmoov.com/getSrcImage/?n0=9fe2b48c8e43ca15ed586a043d90546dee0bc73a&n1=9dbf7eb1a53a3a147694af1cbba6531f01bc7d4a&id=65499eb39da62670d7836434e94ef7c521948ecd", "subtype_name": "Institutions du tourisme", "place": [ { "id": "aa777bbdd0ae445feb59fdc43431236d9203987c", "name": "Gare d'Austerlitz", "name_fr": "Gare d'Austerlitz", "geometry": { "type": "Point", "coordinates": [ 2.3660383, 48.8429754 ] }, "subtype_name": "Parking", "subtype_name_fr": "Parking" } ], "hotel": [], "restaurant": [] }, { "id": "b46a838cc5e1e307557dd8330d53418c5bbf8424", "name": "1 - 2- 3 - Images", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "1 - 2- 3 - Images", "image": "https://api.visitmoov.com/getSrcImage/?n0=4d9302a13fbd32851a088e4b4e0f53cb87457fe3&n1=94e2892c57185a87ff7a330194777502def71bf0&id=ffe16b163ee9f7bc6ce55e30755fe54c05229946", "subtype_name": "Loisir", "place": [ { "id": "248333ae5db0fde60eef25f140886ac311333251", "name": "Bibliothèque Goutte d’Or", "name_fr": "Bibliothèque Goutte d’Or", "geometry": { "type": "Point", "coordinates": [ 2.3542487, 48.8844037 ] }, "subtype_name": "Monument", "subtype_name_fr": "Monument" } ], "hotel": [], "restaurant": [] }, { "id": "afdf3bbf65d5edd1d471013d7ffe512fba933104", "name": "1, 2, 3 SOLEIL", "subtype_id": "0fbaa8724323c1b54e2451016ea0e4d983e4d838", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "1, 2, 3 SOLEIL", "image": "https://api.visitmoov.com/getSrcImage/?n0=43164acc06ad12ec1ea9dfe5d306ccfac59fa125&n1=065dceabda3d7b9db58741118319f19b31621b91&id=5ca5808e2e9366116360c69325d20e405af7d4710", "subtype_name": "Musique", "place": [ { "id": "b0e4ad2bd5548d2436c3d560f0e406a1a106dd32", "name": "Station E", "name_fr": "Station E", "geometry": { "type": "Point", "coordinates": [ 2.419846, 48.8552 ] }, "subtype_name": "Autre", "subtype_name_fr": "Autre" } ], "hotel": [], "restaurant": [] }, { "id": "3874781d7441644e333064c9d786553f928c43a0", "name": "12 SEPTEMBRE 1683 : VIENNE EST DELIVRÉE DES TURCS", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "12 SEPTEMBRE 1683 : VIENNE EST DELIVRÉE DES TURCS", "image": "https://api.visitmoov.com/getSrcImage/?n0=67164fd61541752643a126b37872bed420c7ce36&n1=a8cf8aaed71e3ba7240385b5420a3b193c9c9ad2&id=d866b144a782dda0471095a11dbb949e3330617f", "subtype_name": "Institutions du tourisme", "place": [ { "id": "609d069036fd609910a0f3a5c1cd58a684cde9bd", "name": "Collège des Bernardins", "name_fr": "Collège des Bernardins", "geometry": { "type": "Point", "coordinates": [ 2.352287, 48.84875 ] }, "subtype_name": "Monument", "subtype_name_fr": "Monument" } ], "hotel": [], "restaurant": [] }, { "id": "4df705e31530010c4f39fb1e4e27e455f54b32b1", "name": "12 septembre - Croisière Découverte", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "12 septembre - Croisière Découverte", "image": "https://api.visitmoov.com/getSrcImage/?n0=19d971a954b27cfa29be677d5e050dc9637266a1&n1=46a374728e5c3939e6feb820fb432a8e3d3fc386&id=eecac088567c6c3443ce31530d7d9e520f96f5ce", "subtype_name": "Loisir", "place": [ { "id": "2e3c6c57003b517db9543e14b830d08b16d33ec8", "name": "Halte fluviale", "name_fr": "Halte fluviale", "geometry": { "type": "Point", "coordinates": [ 2.880988, 48.956916 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "afffd750ecb92a8bd648649e4cffafebba7e9cc3", "name": "13 Block / Cheu-B", "subtype_id": "0fbaa8724323c1b54e2451016ea0e4d983e4d838", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "13 Block / Cheu-B", "image": "https://api.visitmoov.com/getSrcImage/?n0=82ed76ed0a031ba33128bf1fe206a1da932c9cf3&n1=135c7dcce3e110d9ff85b050068e2614a32c72eb&id=4a6207dcd6486e7c15fc74f758e28fbb4e313331", "subtype_name": "Musique", "place": [ { "id": "90b6f20960d49c0c247f084d7d93c5146aa85f5f", "name": "La CLEF", "name_fr": "La CLEF", "geometry": { "type": "Point", "coordinates": [ 2.088539, 48.893702 ] }, "subtype_name": "Sport d'hiver", "subtype_name_fr": "Sport d'hiver" } ], "hotel": [], "restaurant": [] }, { "id": "847643124990a0a35fefb946d9289de3140885cd", "name": "13ème biennale d'art contemporain - jeune création", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "13ème biennale d'art contemporain - jeune création", "image": "https://api.visitmoov.com/getSrcImage/?n0=3238a0dc6a196eab449f231441f599c3727ae083&n1=7a34711b17fca3a6688af1c7c30e837a358b8ba1&id=d5b66c3013e00ab575ed41837767e31408ca0468", "subtype_name": "Culturel", "place": [ { "id": "66abccca2f6f465acf1976512cc6b37096c33312", "name": "13ème biennale d'art contemporain - jeune création", "name_fr": "13ème biennale d'art contemporain - jeune création", "geometry": { "type": "Point", "coordinates": [ 2.189489, 48.925297 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "0ece31504b79f5f35dc9f43b5beca66109151cf1", "name": "13 septembre - Visite du village de Marly", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "13 septembre - Visite du village de Marly", "image": "https://api.visitmoov.com/getSrcImage/?n0=b5c4913a04a69a1d6af1ad30ec756c7ce689548b&n1=4c3728eebea3b3ae4b6fd65001e74015225684b7&id=f7d11f2ae31504064b43ab03c505e512d625cc66", "subtype_name": "Culturel", "place": [ { "id": "a1134b3923ac7fcc32e6f1442263a1feda84c513", "name": "Office de Tourisme Intercommunal Saint Germain Boucles de Seine", "name_fr": "Office de Tourisme Intercommunal Saint Germain Boucles de Seine", "geometry": { "type": "Point", "coordinates": [ 2.096583, 48.896698 ] }, "subtype_name": "Institutions du tourisme", "subtype_name_fr": "Institutions du tourisme" } ], "hotel": [], "restaurant": [] }, { "id": "9fa445625cd26d1305b6aa778ed39984214aae0f", "name": "14-18 : De la guerre à la paix", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "14-18 : De la guerre à la paix", "image": "https://api.visitmoov.com/getSrcImage/?n0=d4fd8a45e3e029738e040d361a2a1e1a048de247&n1=d2ad720b8d7dfd7aff62550e2a39765fe41b8404&id=17103fa4e8915e60290a60875e6ee3f7aeaed1305", "subtype_name": "Culturel", "place": [ { "id": "c430de2b61c7f7b2f709a45ac33a4d1ec73cebd4519", "name": "14-18 : De la guerre à la paix", "name_fr": "14-18 : De la guerre à la paix", "geometry": { "type": "Point", "coordinates": [ 2.381645, 48.912574 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "a09d22ce31eab8bbadcd6288591571535d92bc8b", "name": "14-18, Mémoire et Renaissance, Noisy-le-Sec et la Grande Guerre", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "14-18, Mémoire et Renaissance, Noisy-le-Sec et la Grande Guerre", "image": "https://api.visitmoov.com/getSrcImage/?n0=ac9467246884270d6c08c2392902992cba1a19c7&n1=1316837ce88de05fbd8351a5cd7cfd6aa3ab2aba&id=6b9e467f09af80195604a031d6288cfdc6983524", "subtype_name": "Institutions du tourisme", "place": [ { "id": "1cecf4e23684c3c4edf16cf5a90f76a1be2f4cea", "name": "Médiathèque Roger Gouhier", "name_fr": "Médiathèque Roger Gouhier", "geometry": { "type": "Point", "coordinates": [ 2.4535332, 48.8910792 ] }, "subtype_name": "Arts et loisirs", "subtype_name_fr": "Arts et loisirs" } ], "hotel": [], "restaurant": [] } ], "nb_element": 13711, "nb_page": 1372 }

Recherche paginé d'événement.

Requète HTTP

GET https://api.visitmoov.com/api/v1/search_event/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
name STRING OPTIONNEL Texte contenu dans le nom de la donnée.
subtype_ids STRING OPTIONNEL Liste des identifiants de sous-types séparés par une virgule.
exclude_ids STRING OPTIONNEL Liste des identifiants de données exclues séparés par des virgules.
price_min FLOAT OPTIONNEL Prix minimum des données (UNITÉ: euros)
price_max FLOAT OPTIONNEL Prix maximum des données (UNITÉ: euros)
date_begin STRING DATE OPTIONNEL Date d'ouverture minimale des données (FORMAT: "aaaa-mm-jj", MIN: aujourd'hui, PAR DÉFAUT: aujourd'hui)
date_end STRING DATE OPTIONNEL Date d'ouverture maximale des données (FORMAT: "aaaa-mm-jj")
time_begin INTEGER OPTIONNEL Temps d'ouverture minimum des données (UNITÉ: minutes)
time_end INTEGER OPTIONNEL Temps d'ouverture maximal des données (UNITÉ: minutes)
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
with_pets INTEGER OPTIONNEL Les données acceptent les animaux (VALEURS: 0 ou 1)
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
indoor INTEGER OPTIONNEL Données intérieures (VALEURS: 0 ou 1)
bbox STRING OPTIONNEL Données dans un cadre délimité (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONNEL Données à moins de "max_dist" mètres de latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONNEL Distance maximale des données depuis "latlng" (REMARQUE: utilisé uniquement avec "latlng")
order STRING OPTIONNEL Tri des données (REMARQUE: tout champ, "distance" utilisé uniquement avec "latlng")
dir STRING OPTIONNEL Direction de tri (VALEURS: "asc" ou "desc") Défaut: asc
limit INTEGER OPTIONNEL Limiter les résultats par page (MAX: 20) Défaut: 20
page INTEGER OPTIONNEL Décalage de la page (MAX: 4) Défaut: 0
vtime_min INTEGER OPTIONNEL Temps de visite minimum de la donnée (UNITÉ: minutes)
vtime_max INTEGER OPTIONNEL Temps de visite maximum de la donnée (UNITÉ: minutes)

Modèle de réponse

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "subtype_name": "String", "place": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "hotel": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "restaurant": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } ], "nb_element": "Integer", "nb_page": "Integer" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.

Détail de lieu

Exemple de requête:

https://api.visitmoov.com/api/v1/detail_place/?api_key=API_KEY&area_id=f0970b50e71920d393a20c6399c6d3cce65723a1&id=706b5d93ac048566c846065d3b2deee7a0410f125086

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": "706b5d93ac048566c846065d3b2deee7a0410f125086", "name": "Arboretum de Paris", "name_fr": "Arboretum de Paris", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "desc": "L’arboretum de l’école Du Breuil, ou arboretum de Paris, est situé à Paris, dans le bois de Vincennes. Il fait partie des quatre pôles du Jardin botanique de la Ville de Paris avec le Parc floral de Paris, lui aussi dans le Bois de Vincennes, ainsi que le Parc de Bagatelle et le Jardin des serres d'Auteuil, tous deux dans le Bois de Boulogne.", "desc_fr": "L’arboretum de l’école Du Breuil, ou arboretum de Paris, est situé à Paris, dans le bois de Vincennes. Il fait partie des quatre pôles du Jardin botanique de la Ville de Paris avec le Parc floral de Paris, lui aussi dans le Bois de Vincennes, ainsi que le Parc de Bagatelle et le Jardin des serres d'Auteuil, tous deux dans le Bois de Boulogne.", "price_min": null, "price_max": null, "email": null, "phone": null, "resa_url": null, "website": null, "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "SYGIC", "address": "37 Route de la Ferme, Paris 75012, France", "postal_code": null, "visit_time": 30, "image": "https://api.visitmoov.com/getSrcImage/?n0=d0356946e6099a005159686a145dc6f3ae859cfe&n1=812823dc149bd04161c24757559a0bf12117edb3&id=77bac8ef12508620be2de2b3637564e69aa045bf", "geometry": { "type": "Point", "coordinates": [ 2.4566194, 48.8213975 ] }, "township_name": "Paris", "subtype_name": "Loisir", "extra_image": [], "influence": [], "opening": [ { "id": "56aa427f75c8e16fa78eaa485221a2bda0f1eeef", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Obtenir les informations détaillé d'un lieux.

Requète HTTP

GET https://api.visitmoov.com/api/v1/detail_place/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
id STRING REQUIS Identifiant de la donnée.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr

Modèle de réponse

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "begin": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
missing_id Champ id manquant.

Détail d'hôtel

Exemple de requête:

https://api.visitmoov.com/api/v1/detail_hotel/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=4ee7c2ed8025471c4b68e48cf4db569791dedee1

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": "4ee7c2ed8025471c4b68e48cf4db569791dedee1", "name": "A Parisian Boutique Hotels", "name_fr": "A Parisian Boutique Hotels", "subtype_id": "94e7293c88e277ebb09b127357d19b83463fa021", "desc": "<p><b>Situation de l'établissement</b> <br />En choisissant A Parisian Boutique Hotels, vous profiterez d'un séjour en plein centre de Paris, à moins de 10 minutes en voiture de Arc de Triomphe et Parc Monceau. Cette auberge de jeunesse se trouve à 3,5 km de Galeries Lafayette et à 4 km de Tour Eiffel.</p><p><b>Chambres</b> <br />Les 12 chambres de l'établissement vous invitent à la détente et comprennent un réfrigérateur et un micro-ondes. Un accès gratuit au réseau Wi-Fi et câblé est offert. Les salles de bain comprennent une douche et des articles de toilette gratuits. Les équipements et services offerts par l'établissement comprennent un bureau et une cafetière ou une bouilloire. Le service d'entretien est assuré tous les jours.</p><p><b>Affaires, autres prestations</b> <br />Les équipements et services proposés incluent un micro-onde dans l'espace commun et un réfrigérateur dans l'espace commun.</p>", "desc_fr": "<p><b>Situation de l'établissement</b> <br />En choisissant A Parisian Boutique Hotels, vous profiterez d'un séjour en plein centre de Paris, à moins de 10 minutes en voiture de Arc de Triomphe et Parc Monceau. Cette auberge de jeunesse se trouve à 3,5 km de Galeries Lafayette et à 4 km de Tour Eiffel.</p><p><b>Chambres</b> <br />Les 12 chambres de l'établissement vous invitent à la détente et comprennent un réfrigérateur et un micro-ondes. Un accès gratuit au réseau Wi-Fi et câblé est offert. Les salles de bain comprennent une douche et des articles de toilette gratuits. Les équipements et services offerts par l'établissement comprennent un bureau et une cafetière ou une bouilloire. Le service d'entretien est assuré tous les jours.</p><p><b>Affaires, autres prestations</b> <br />Les équipements et services proposés incluent un micro-onde dans l'espace commun et un réfrigérateur dans l'espace commun.</p>", "price_min": 0, "price_max": 0, "email": null, "phone": null, "resa_url": null, "website": null, "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "Expedia", "address": "3 Villa Niel", "postal_code": "75017", "stars": 0, "image": "https://api.visitmoov.com/getSrcImage/?n0=f8703e395a191ced134a53b3c4df2fcd6444eb6b&n1=c4b8cc75b4888c84cc968ff9597a93bfab0fcda2&id=5ba0c3f53aea031c92cc07732b61c0a3d40d8025", "geometry": { "type": "Point", "coordinates": [ 2.2961, 48.88152 ] }, "township_name": "Paris", "subtype_name": "Auberge de jeunesse", "extra_image": [], "influence": [], "opening": [ { "id": "57fd376b5d0c0cf8e5c3122e98e48a253c946d2d", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Obtenir les informations détaillé d'un hôtel.

Requète HTTP

GET https://api.visitmoov.com/api/v1/detail_hotel/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
id STRING REQUIS Identifiant de la donnée.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr

Modèle de réponse

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "stars": "Integer (can be null)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "begin": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
missing_id Champ id manquant.

Détail de restaurant

Exemple de requête:

https://api.visitmoov.com/api/v1/detail_restaurant/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=67d42b36701e2669cbe399012ff8bc48c228076f

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": "67d42b36701e2669cbe399012ff8bc48c228076f", "name": "Clamato", "name_fr": "Clamato", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "desc": "L'annexe de Septime a tout du \"hit\" bistronomique, avec ce décor tendance et cette carte courte qui met en avant la mer et les légumes. Les produits sont choisis avec grand soin : on se régale dans une atmosphère franchement conviviale. Attention, la réservation est impossible : premier arrivé, premier servi !", "desc_fr": "L'annexe de Septime a tout du \"hit\" bistronomique, avec ce décor tendance et cette carte courte qui met en avant la mer et les légumes. Les produits sont choisis avec grand soin : on se régale dans une atmosphère franchement conviviale. Attention, la réservation est impossible : premier arrivé, premier servi !", "price_min": 30, "price_max": 40, "email": "clamato@septime-charonne.fr", "phone": "+33143727453", "resa_url": null, "website": "www.clamato-charonne.fr", "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "ViaMichelin", "address": "80 rue de Charonne", "postal_code": "75011", "stars": 0, "image": "https://api.visitmoov.com/getSrcImage/?n0=87b840b8886c9b937b9be88d8a3b70359a1d1703&n1=0224da18f5709bf7e5d1d010ce2901d6de167cf5&id=7b54bd1314c5be399012ae4385736ae5c3de19aa", "geometry": { "type": "Point", "coordinates": [ 2.3806195, 48.8536111 ] }, "township_name": "Paris", "subtype_name": "Restaurant", "extra_image": [], "influence": [], "opening": [ { "id": "a2eef1c3f6d084f0e5733d355368056f63d2977b", "end": "2100-01-01 19:00:00", "begin": "1990-01-01 07:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Obtenir les informations détaillé d'un restaurant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/detail_restaurant/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
id STRING REQUIS Identifiant de la donnée.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr

Modèle de réponse

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "begin": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
missing_id Champ id manquant.

Détail d'événement

Exemple de requête:

https://api.visitmoov.com/api/v1/detail_event/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=5a5b7d66e2093010b3f7c82d85e49155cce17044

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": "5a5b7d66e2093010b3f7c82d85e49155cce17044", "name": "100 ans d'uniformes de l'armée française. De 1914 à la guerre du Golfe", "name_fr": "100 ans d'uniformes de l'armée française. De 1914 à la guerre du Golfe", "subtype_id": "23fe6e8dbcc0dbaeba12bb21e0c5552d2f468918", "desc": "Nombreuses animations par les groupes d'histoire vivante à l'occasion du week-end des Journées européennes du patrimoine\nAnimations tout au long du week-end avec une animation particulière de danse napoléonienne le samedi.", "desc_fr": "Nombreuses animations par les groupes d'histoire vivante à l'occasion du week-end des Journées européennes du patrimoine\nAnimations tout au long du week-end avec une animation particulière de danse napoléonienne le samedi.", "price_min": null, "price_max": null, "email": null, "phone": null, "resa_url": null, "website": "http://openagenda.com/event/100-ans-duniformes-de-larmee-francaise-de-1914-a-la-guerre-du-golfe", "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "Open Agenda", "visit_time": 60, "image": null, "subtype_name": "Lieu de culte", "extra_image": [], "influence": [], "opening": [ { "id": "3e1a83a2fab45057cfc483a856a521ecac23534e", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "element_id": "c917c5f1705535321366b8af3a103dbe8d24019d", "extra_data": {}, "element_type": "place" } ], "place": [ { "id": "c917c5f1705535321366b8af3a103dbe8d24019d", "name": "Service historique de la Défense", "name_fr": "Service historique de la Défense", "geometry": { "type": "Point", "coordinates": [ 2.438912, 48.84458 ] }, "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "subtype_name": "Autre", "subtype_name_fr": "Autre" } ], "hotel": [], "restaurant": [] } }

Obtenir les informations détaillé d'un événement.

Requète HTTP

GET https://api.visitmoov.com/api/v1/detail_event/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
id STRING REQUIS Identifiant de la donnée.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr

Modèle de réponse

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "stars": "Integer (can be null)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "begin": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "element_id": "String", "element_type": "String, (place, hotel, restaurant)", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "place": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "hotel": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "restaurant": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
missing_id Champ id manquant.

Creative Tour

Exemple de requête:

https://api.visitmoov.com/api/v1/creative_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&date=2022-12-07&tr_mode=4&time=540&maxtime=300&dep_lat=48.8701364&dep_lng=2.3465613&dep_name=Paris&arr_lat=48.8601364&arr_lng=2.3475613&arr_name=Paris&visits=[{"id":"5a95f410bd9e2de75376937e1c31508c9cf112154","kind":0,"poi_id":"5a95f410bd9e2de75376937e1c31508c9cf112154","poi_kind":0,"visittime":20},{"id":"55c523321c6d4ec1211dec53edef1168092c8896","kind":0,"poi_id":"55c523321c6d4ec1211dec53edef1168092c8896","poi_kind":0,"visittime":20}]&pauses=[{"id":"745de42560c6a80adae444a46076f86aa1bd2df4","kind":1,"begin":720,"end":780}]

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-07", "end_date": "2022-12-07", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": false }, "tours": [ { "id": "1", "t_length": 2615, "time": 75, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": false, "stops": [ { "id": "3fce08fh10000051e2d009c1335d4e3cf2c6b585", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.8701364 ] }, "length_to_next_point": 490, "time_to_next_point": 8, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-07", "place_id": "94752f7dd9ebe0c0ac4h100000514e584d4f9e1a", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "e104524ace54ef1121542905892a13f4def73bd5", "geometry": { "type": "Point", "coordinates": [ 2.3473209, 48.8666458 ] }, "length_to_next_point": 2017, "time_to_next_point": 25, "visit_time": 20, "visit_kind": 1, "min": 548, "max": 573, "arrival": 548, "departure": 568, "date": "2022-12-07", "place_id": "9ac80ca558f007b366eb9f502eef1121548e1435", "place_name": "Au planteur", "desc": "Au planteur est un ancien marchand de café de Paris, en France.", "place_type": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "b2fab47ed3f1121542d751bfa00dde7348ab1b33", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.8593828 ] }, "length_to_next_point": 108, "time_to_next_point": 2, "visit_time": 20, "visit_kind": 1, "min": 593, "max": 618, "arrival": 593, "departure": 613, "date": "2022-12-07", "place_id": "7f381bd59bdf1168092feb3d324af219708c8ef7", "place_name": "Maison Aurouze", "desc": "Cet endroit est l'une des attractions touristiques les plus étranges. Il s'agit en fait d'un magasin de lutte antiparasitaire exposant des rats morts et autres nuisibles dans sa vitrine. Encore inconnu du grand public il n'y a pas si longtemps, le magasin n'a jamais cherché à attirer l'attention des touristes. La raison pour laquelle la boutique est devenue une telle attraction est parce qu'on l'aperçoit dans le film Pixar « Ratatouille ». Chaque jour, des fans de cette production se pressent devant la Maison Aurouze pour voir de leurs propres yeux une scène de l'un des films les plus populaires de 2007.\n\nLa station de métro la plus proche est Châtelet (accessible depuis les lignes 1, 4, 7, 11 et 14).", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383137343836313334.jpg", "resa_url": "", "event_id": "821b8b1cfd3786f1c7354d782db7f116809b130c", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "6e31ddaf2h1000005298c9e5e031e8ce90b9ef63", "geometry": { "type": "Point", "coordinates": [ 2.3475613, 48.8601364 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 615, "max": 615, "arrival": 615, "departure": 0, "date": "2022-12-07", "place_id": "3c235adf142ea4eeef1eah100000521260049e48", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "3fce08fh10000051e2d009c1335d4e3cf2c6b585", "to_id": "e104524ace54ef1121542905892a13f4def73bd5", "mode": 2, "geometry": "s}giH{giMhBr@lAn@LFDQ\\mCDa@^iD@Mz@FJ@JDl@Vh@TLFH@h@D`@BN@L@J@F@J@`BL", "emission": { "co2": 0 }, "duration": 365, "distance": 505, "steps": [ { "distance": 116.2, "driving_side": "right", "duration": 83.7, "geometry": "s}giH{giMhBr@lAn@LF", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.346381, 48.870175 ] } }, "mode": 2, "name": "Rue du Sentier", "emission": { "co2": 0 } }, { "distance": 145, "driving_side": "right", "duration": 104.4, "geometry": "mwgiHodiMDQ\\mCDa@^iD@M", "instructions": "Tourner à gauche sur la rue des Jeûneurs", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.345841, 48.869193 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 39.8, "driving_side": "right", "duration": 28.7, "geometry": "augiHipiMz@FJ@", "instructions": "Tourner à droite sur la rue Poissonnière", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.347731, 48.868806 ] } }, "mode": 2, "name": "Rue Poissonnière", "emission": { "co2": 0 } }, { "distance": 124, "driving_side": "right", "duration": 91.2, "geometry": "yrgiH_piMJDl@Vh@TLFH@h@D`@BN@", "instructions": "Aller tout droit sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347678, 48.86845 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 80, "driving_side": "right", "duration": 57.7, "geometry": "algiHumiML@J@F@J@`BL", "instructions": "Continuer tout droit pour rester sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347308, 48.86737 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qggiH_miM??", "instructions": "Vous êtes arrivé à Rue des Petits Carreaux, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.3472, 48.866654 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } } ] }, { "from_id": "e104524ace54ef1121542905892a13f4def73bd5", "to_id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "mode": 4, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?AhFpQ|P}BESPO?MAMHGVUDE?GDI", "emission": { "co2": 26 }, "duration": 600, "distance": 1711, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.347321, 48.866646 ] }, "name": "", "time": 569 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "ÉTIENNE MARCEL", "time": 576 }, "details": [ { "distance": 34.63, "relativeDirection": "DEPART", "streetName": "Rue des Petits Carreaux", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3471995421925604, 48.86665389343214 ] } }, { "distance": 215.92, "relativeDirection": "CONTINUE", "streetName": "Rue Montorgueil", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.347153, 48.866344000000005 ] } }, { "distance": 183.59, "relativeDirection": "LEFT", "streetName": "Rue Étienne Marcel", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3466747000000003, 48.864429 ] } }, { "distance": 12.76, "relativeDirection": "RIGHT", "streetName": "Rue de Turbigo", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3490334, 48.8638647 ] } }, { "distance": 27.32, "relativeDirection": "HARD_RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3490534000000003, 48.8637865 ] } }, { "distance": 1.12, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3489856000000002, 48.8637054 ] } } ], "emission": { "co2": 0 }, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?A", "duration": 8, "distance": 475.33, "mode": 2, "time": 569 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "Étienne Marcel", "time": 577, "id": "IDFM:463171" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "Châtelet", "time": 579, "id": "IDFM:22092" }, "emission": { "co2": 26 }, "route": { "color": "CF009E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "Bagneux - Lucie Aubrac", "direction": 1, "long_name": "Mairie de Montrouge - Porte de Clignancourt", "short_name": "4", "id": "IDFM:C01374", "type": 400 }, "geometry": "cufiHcxiMhFpQ|P}B", "duration": 2, "stops": [ { "code": "", "name": "Les Halles", "id": 4933819, "geometry": { "type": "Point", "coordinates": [ 2.346006, 48.862527 ] } } ], "mode": 4, "time": 576 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "CHÂTELET", "time": 579 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.859383 ] }, "name": "", "time": 579 }, "details": [ { "distance": 12.18, "relativeDirection": "DEPART", "streetName": "Rue des Halles", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3467421884488404, 48.85969806075405 ] } }, { "distance": 10.48, "relativeDirection": "LEFT", "streetName": "Place Sainte-Opportune", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3468231, 48.859602300000006 ] } }, { "distance": 29.29, "relativeDirection": "RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3469645000000003, 48.8596171 ] } } ], "emission": { "co2": 0 }, "geometry": "{{eiHoiiMESPO?MAMHGVUDE?GDI", "duration": 1, "distance": 51.95, "mode": 2, "time": 579 } ] }, { "from_id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "to_id": "6e31ddaf2h1000005298c9e5e031e8ce90b9ef63", "mode": 2, "geometry": "ozeiHmliMQIIAGACDEAC?EAc@ImAUDs@", "emission": { "co2": 0 }, "duration": 84, "distance": 117, "steps": [ { "distance": 21, "driving_side": "right", "duration": 15.2, "geometry": "ozeiHmliMQIIAGA", "instructions": "Se diriger vers le nord-est sur la place Sainte-Opportune", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.347108, 48.859437 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 3.4, "driving_side": "right", "duration": 2.4, "geometry": "s{eiH{liMCD", "instructions": "Tourner à gauche pour rester sur la place Sainte-Opportune", "maneuver": { "modifier": "left", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347179, 48.859618 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 73.7, "driving_side": "right", "duration": 53, "geometry": "w{eiHuliMEAC?EAc@ImAU", "instructions": "Tourner à droite sur la rue Sainte-Opportune", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347146, 48.859639 ] } }, "mode": 2, "name": "Rue Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 19.6, "driving_side": "right", "duration": 14.1, "geometry": "y_fiHymiMDs@", "instructions": "Tourner à droite sur la rue de la Ferronnerie", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347329, 48.86029 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "s_fiHmoiM??", "instructions": "Vous êtes arrivé à Rue de la Ferronnerie, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.347593, 48.86026 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } } ] } ], "emission": { "co2": 26 } } ] }, "calc_tour_key": "25c7016c68528b1e6e071d0a15722cfa2ffab5b2", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [ { "id": "fb4dd532263b44e4256013f89cae9d2b9a25a69c", "name": "Accents Table Bourse", "place_id": "43896d531d08e1bf8bd1b3fb7f90b1b97ee5e42560", "place": "Accents Table Bourse", "kind": 1, "city": "Paris" } ], "tours": [] }, "success": true, "credit": 0 }

Le Creative Tour permet d'organiser une tournée touristique en fonction d'un point de départ, d'un point d'arrivée et d'une liste lieux à visiter choisi à l'avance. Détermine le trajet optimisé pour l'effectuer.

Requète HTTP

GET https://api.visitmoov.com/api/v1/creative_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
dep_lat FLOAT REQUIS1 Latitude de départ (WGS84)
dep_lng FLOAT REQUIS1 Longitude de départ (WGS84)
dep_name STRING REQUIS1 Nom de départ
dep_id STRING REQUIS1 Identifiant de départ
dep_kind INTEGER REQUIS1 Type de départ
dep_price_min FLOAT OPTIONNEL1 Prix minimum de départ
dep_price_max FLOAT OPTIONNEL1 Prix maximum de départ
arr_lat FLOAT REQUIS1 Latitude d'arrivée (WGS84)
arr_lng FLOAT REQUIS1 Longitude d'arrivée (WGS84)
arr_name STRING REQUIS1 Nom de départ
arr_id STRING REQUIS1 Identifiant d'arrivée
arr_kind INTEGER REQUIS1 Type d'arrivée
arr_price_min FLOAT OPTIONNEL1 Prix minimum d'arrivée
arr_price_max FLOAT OPTIONNEL1 Prix maximum d'arrivée
date STRING DATE OPTIONNEL Date du tour (FORMAT : "aaaa-mm-jj", MIN : aujourd'hui, PAR DÉFAUT : aujourd'hui)
time INTEGER OPTIONNEL Heure du tour (UNITÉ : minutes PAR DÉFAUT: maintenant)
maxtime INTEGER OPTIONNEL Durée maximale de la visite (UNITÉ: minutes)
maxdist INTEGER OPTIONNEL Distance maximale du tour (UNITÉ: mètres) Défaut: 5000
arrive_at INTEGER OPTIONNEL Arriver à ces date/heure (VALEURS : 0 ou 1)
tr_mode INTEGER OPTIONNEL Mode de transport, les valeurs possibles sont 1, 2, 3 et 4.
1: Voiture,
2: Marche à pied,
3: Vélo,
4: Transport en commun Défaut: 4
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
budget INTEGER OPTIONNEL Budget
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
nb_person INTEGER OPTIONNEL Nombre de personne
pauses JSON ARRAY OPTIONNEL Liste de pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

ou
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
visits JSON ARRAY OPTIONNEL Liste de visites
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

ou
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
matrix_url STRING OPTIONNEL2 URL de votre calculateur de matrice
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (euro)", "price_max": "float (euro)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
bad_departure Mauvaise valeur tour departure.
bad_arrival Mauvaise valeur tour arrival.
bad_time Mauvaise valeur tour time.
bad_tour_maxtime Mauvaise valeur maxtime (Doit être compris entre 0 et 1440 inclus).
bad_tour_maxdist Mauvaise valeur maxdist (Doit être un entier >= 0).
bad_tour_arrive_at Mauvaise valeur arrive_at (Doit être 0 ou 1).
bad_tour_accessibility Mauvaise valeur accessibility (Doit être 0 ou 1).
bad_tour_budget Mauvaise valeur budget (Doit être un entier >= 0).
bad_tour_with_child Mauvaise valeur with_child (Doit être 0 ou 1).
bad_tour_with_hotel Mauvaise valeur with_hotel (Doit être 0 ou 1).
bad_tour_nb_person Mauvaise valeur nb_person (Doit être un entier >= 1).
bad_tour_transit Mauvaise valeur transit (Doit être 0 ou 1).
bad_departure_isinstance Mauvaise valeur tour departure.
bad_arrival_isinstance Mauvaise valeur tour arrival.
bad_tour_add_pause Pause non valide, n'a pas pu être ajoutée.
bad_tour_add_visit Visite non valide, n'a pas pu être ajoutée.
bad_json_visits [Non bloquant] Le paramètre visits a un mauvais format JSON.
bad_visit_visittime_missing [Non bloquant] Le champ visittime de la visite est manquant.
bad_visit_visittime [Non bloquant] Mauvaise valeur visittime de la visite (doit être un entier positif).
bad_visit_lat [Non bloquant] Latitude de la visite incorrect.
bad_visit_lng [Non bloquant] Longitude de la visite incorrect.
bad_visit_name [Non bloquant] Nom de la visite incorrect.
geom_not_in_area [Non bloquant] Visite/Pause géométrie pas dans la zone.
visit_not_open [Non bloquant] Visite non ouverte.
bad_visit_id [Non bloquant] Identifiant de la visite incorrect.
bad_visit_kind [Non bloquant] Type de pause incorrect.
bad_format_visit [Non bloquant] Format de visite incorrect.
bad_visit_poi_id [Non bloquant] Identifiant de POI de visite incorrect.
bad_visit_poi_kind [Non bloquant] Type de POI de visite incorrect.
bad_json_pauses [Non bloquant] Le paramètre pauses a un mauvais format JSON.
bad_pause_begin_missing [Non bloquant] Le champ begin de la pause est manquant.
bad_pause_end_missing [Non bloquant] Le champ end de la pause est manquant.
bad_pause_begin [Non bloquant] Mauvaise valeur begin.
bad_pause_end [Non bloquant] Mauvaise valeur end.
bad_pause_begin_end [Non bloquant] Mauvais début/fin de pause (begin doit être inférieur à end)
bad_pause_lat [Non bloquant] Latitude de la pause incorrect.
bad_pause_lng [Non bloquant] Longitude de la pause incorrect.
bad_pause_name [Non bloquant] Nom de pause incorrect.
pause_not_open [Non bloquant] Pause non ouverte.
bad_pause_id [Non bloquant] Identifiant de la pause incorrect.
bad_pause_kind [Non bloquant] Type de pause incorrect.
bad_format_pause [Non bloquant] Format de pause incorrect.
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

Magic Tour

Exemple de requête:

https://api.visitmoov.com/api/v1/magic_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&date=2022-12-07&time=1080&maxtime=180&dep_lat=48.865208754588785&dep_lng=2.293681057532141&dep_name=Paris%2C+Mus%C3%A9e+des+arts+asiatiques&arr_lat=48.87418528849915&arr_lng=2.295058814921109&arr_name=Paris%2C+Arc+de+triomphe&tr_mode=4&arrive_at=1

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-07", "end_date": "2022-12-07", "start_time": 900, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 180, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": false }, "tours": [ { "id": "1", "t_length": 4274, "time": 113, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "10-0", "min_budget": 10, "max_budget": 0, "is_shopping": false, "stops": [ { "id": "18690746e54e925b6f257ac5c47d03d4bcc65h10000049", "geometry": { "type": "Point", "coordinates": [ 2.293681057532141, 48.865208754588785 ] }, "length_to_next_point": 1025, "time_to_next_point": 13, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 900, "date": "2022-12-07", "place_id": "7ac1d13e46f2h10000049fba4def450ee0e273f9", "place_name": "Paris, Musée des arts asiatiques", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "length_to_next_point": 1212, "time_to_next_point": 15, "visit_time": 30, "visit_kind": 1, "min": 913, "max": 948, "arrival": 913, "departure": 943, "date": "2022-12-07", "place_id": "c159dd9f243441306815212c0a3000384a9c6697", "place_name": "Musée Yves Saint Laurent", "desc": "Plein tarif : à partir de 10 €\nTarif réduit : à partir de 7 € (Enseignants et étudiants (justificatif de moins de 3 mois))\nGroupe adultes : à partir de 23 € (Visite guidée avec Cultival).\n\n Gratuit pour les moins de 10 ans, les demandeurs d'emploi, les personnes handicapées et leurs accompagnants.", "place_type": "061398a58a28fe7638b268702ae80f4d45ed7e96", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/7/40/5842951-diaporama.jpg", "resa_url": "https://museeyslparis.com/", "event_id": "8c0c66918c299ca80632a307f1b07485c3251e74", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 10, "price_max": null, "tripadvisor": null }, { "id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "length_to_next_point": 2037, "time_to_next_point": 25, "visit_time": 30, "visit_kind": 1, "min": 958, "max": 993, "arrival": 958, "departure": 988, "date": "2022-12-07", "place_id": "17b332adba474bf8868814da72ebdc6ce117d2783", "place_name": "La Maison du Chocolat - rue François Ier", "desc": "Plusieurs magasins dans la région vous propose des saveurs chocolatées mises en musique par Nicolas Cloiseau, Meilleur Ouvrier de France Chocolatier.\nDepuis avril 2012, Nicolas Cloiseau, Meilleur Ouvrier de France Chocolatier, est le Chef de La Maison du chocolat. Ce qui affirme le caractère artisanal et de la qualité propres aux chocolats et pâtisseries qui vous seront proposés.\nVous pouvez craquer pour les truffes \"haute couture\", des tablettes maison, ou (vous) offrir des coffrets signature garnis de bonbons de chocolat et/ou de truffes ou bien les élégantes boites chapeau...\nA chaque fête (Pâques, Saint-Valentin, fêtes de fin d'année...), La Maison du chocolat propose des créations spéciales à faire craquer les yeux et les papilles.\nParmi toutes les adresses de la Maison du chocolat, nous vous avons sélectionné celle de la rue François Ier, où vous pouvez récupérer votre commande faite par Internet.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/47/12/2100271-diaporama.jpg", "resa_url": "", "event_id": "12013b7b7f01779f9fd896604b3f86cd27831725", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b78e919f3d49918h100000503d9da9114d809803", "geometry": { "type": "Point", "coordinates": [ 2.295058814921109, 48.87418528849915 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 1013, "max": 1013, "arrival": 1013, "departure": 0, "date": "2022-12-07", "place_id": "67f9c2f4383c6f4544h1000005019e8da3724de3", "place_name": "Paris, Arc de triomphe", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "18690746e54e925b6f257ac5c47d03d4bcc65h10000049", "to_id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "mode": 4, "geometry": "q~fiHo~~L^`ALM\\g@PFb@SMq@KBF}k@B@Mb@CFK`@M^Sv@Eh@Ad@K@S@UAe@As@PAXAXAn@Z@", "emission": { "co2": 24 }, "duration": 360, "distance": 1341, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293681, 48.865209 ] }, "name": "", "time": 905 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293906, 48.864686 ] }, "name": "IÉNA", "time": 906 }, "details": [ { "distance": 31.83, "relativeDirection": "DEPART", "streetName": "Rue Boissière", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.293353615951486, 48.86505270669876 ] } }, { "distance": 31.62, "relativeDirection": "RIGHT", "streetName": "Place d'Iéna", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2936278000000003, 48.864830600000005 ] } }, { "distance": 20.45, "relativeDirection": "LEFT", "streetName": "Place d'Iéna", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.2936837000000003, 48.864561900000005 ] } } ], "emission": { "co2": 0 }, "geometry": "q~fiHo~~L^`ALM\\g@PFb@SMq@KB", "duration": 1, "distance": 83.91, "mode": 2, "time": 905 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293906, 48.864686 ] }, "name": "Iéna", "time": 907, "id": "IDFM:21927" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.301104, 48.864647 ] }, "name": "Alma - Marceau", "time": 908, "id": "IDFM:463052" }, "emission": { "co2": 24 }, "route": { "color": "B6BD00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "Mairie de Montreuil", "direction": 1, "long_name": "Pont de Sèvres - Mairie de Montreuil", "short_name": "9", "id": "IDFM:C01379", "type": 400 }, "geometry": "i{fiH}__MF}k@", "duration": 1, "stops": [], "mode": 4, "time": 906 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.301104, 48.864647 ] }, "name": "ALMA - MARCEAU", "time": 908 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "name": "", "time": 911 }, "details": [ { "distance": 99.88, "relativeDirection": "DEPART", "streetName": "Avenue du Président Wilson", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.301092186571562, 48.86463485111742 ] } }, { "distance": 18.2, "relativeDirection": "RIGHT", "streetName": "bretelle d'accès", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.2998663, 48.8649928 ] } }, { "distance": 63.31, "relativeDirection": "CONTINUE", "streetName": "Avenue Marceau", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.299843, 48.865155800000004 ] } }, { "distance": 36.76, "relativeDirection": "LEFT", "streetName": "Rue Léonce Reynaud", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.2997777, 48.8657185 ] } } ], "emission": { "co2": 0 }, "geometry": "a{fiH{l`MB@Mb@CFK`@M^Sv@Eh@Ad@K@S@UAe@As@PAXAXAn@Z@", "duration": 3, "distance": 218.16, "mode": 2, "time": 908 } ] }, { "from_id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "to_id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "mode": 4, "geometry": "_agiHka`M[A@o@@Y@Yr@Qd@@T@?QFq@H]Ne@Lc@@?IIuP|G??XGf@VO_@EKKWAA}@{BgAkCUk@Uk@Yq@?AKUWo@eAkCEIEILUT_@OW", "emission": { "co2": 57 }, "duration": 600, "distance": 1415, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "name": "", "time": 948 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.300746, 48.864951 ] }, "name": "ALMA - MARCEAU", "time": 950 }, "details": [ { "distance": 36.76, "relativeDirection": "DEPART", "streetName": "Rue Léonce Reynaud", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.2992762038304475, 48.86574030887283 ] } }, { "distance": 63.32, "relativeDirection": "RIGHT", "streetName": "Avenue Marceau", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2997777, 48.8657185 ] } }, { "distance": 70.3, "relativeDirection": "LEFT", "streetName": "Avenue du Président Wilson", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.299843, 48.865155800000004 ] } } ], "emission": { "co2": 0 }, "geometry": "_agiHka`M[A@o@@Y@Yr@Qd@@T@?QFq@H]Ne@Lc@@?II", "duration": 3, "distance": 170.38, "mode": 2, "time": 948 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.300746, 48.864951 ] }, "name": "Alma - Marceau", "time": 951, "id": "IDFM:26789" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299317, 48.867784 ] }, "name": "Marceau - Pierre 1er de Serbie - Place de Beyrouth", "time": 953, "id": "IDFM:37392" }, "emission": { "co2": 57 }, "route": { "color": "FFBE00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "PORTE DE CHAMPERRET", "direction": 1, "long_name": "Porte d'Orléans - Porte de Champerret", "short_name": "92", "id": "IDFM:C01123", "type": 700 }, "geometry": "}|fiHuj`MuP|G", "duration": 2, "stops": [], "mode": 4, "time": 950 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299317, 48.867784 ] }, "name": "MARCEAU - PIERRE 1ER DE SERBIE - PLACE DE BEYROUTH", "time": 953 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "name": "", "time": 958 }, "details": [ { "distance": 38.98, "relativeDirection": "DEPART", "streetName": "route de service", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2993265292922818, 48.86778567477206 ] } }, { "distance": 175.15, "relativeDirection": "HARD_LEFT", "streetName": "Avenue Pierre 1er de Serbie", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.2992472, 48.867453600000005 ] } }, { "distance": 150.38, "relativeDirection": "CONTINUE", "streetName": "Rue Pierre Charron", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3011386000000003, 48.8684196 ] } }, { "distance": 27.77, "relativeDirection": "RIGHT", "streetName": "Rue François-Ier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3027694000000003, 48.869243100000006 ] } } ], "emission": { "co2": 0 }, "geometry": "sngiHwa`M??XGf@VO_@EKKWAA}@{BgAkCUk@Uk@Yq@?AKUWo@eAkCEIEILUT_@OW", "duration": 6, "distance": 392.28, "mode": 2, "time": 953 } ] }, { "from_id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "to_id": "b78e919f3d49918h100000503d9da9114d809803", "mode": 4, "geometry": "cwgiHuy`MNVU^MTKPe@z@U`@_BzCCDINGVKj@m@BO?sAFa@@uADC@Q?M@E?A?SMJi@SMYrADByJfb@QC?@EN?@ECAFSG", "emission": { "co2": 21 }, "duration": 480, "distance": 1469, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "name": "", "time": 989 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30076, 48.872038 ] }, "name": "GEORGE V", "time": 995 }, "details": [ { "distance": 202.12, "relativeDirection": "DEPART", "streetName": "Rue François-Ier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.303039495523544, 48.86906753955149 ] } }, { "distance": 185.03, "relativeDirection": "RIGHT", "streetName": "Avenue George V", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3009758000000002, 48.8702569 ] } }, { "distance": 17.14, "relativeDirection": "RIGHT", "streetName": "Avenue des Champs-Élysées", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3009226000000003, 48.871909900000006 ] } }, { "distance": 46.31, "relativeDirection": "UTURN_LEFT", "streetName": "Avenue des Champs-Élysées", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3012034000000003, 48.8719485 ] } } ], "emission": { "co2": 0 }, "geometry": "cwgiHuy`MNVU^MTKPe@z@U`@_BzCCDINGVKj@m@BO?sAFa@@uADC@Q?M@E?A?SMJi@SMYrADB", "duration": 7, "distance": 450.59, "mode": 2, "time": 989 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30076, 48.872038 ] }, "name": "George V", "time": 996, "id": "IDFM:463185" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295117, 48.873929 ] }, "name": "Charles de Gaulle - Etoile", "time": 997, "id": "IDFM:463013" }, "emission": { "co2": 21 }, "route": { "color": "FFCD00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "La Défense (Grande Arche)", "direction": 1, "long_name": "Château de Vincennes - La Défense (Grande Arche)", "short_name": "1", "id": "IDFM:C01371", "type": 400 }, "geometry": "gihiHwj`MyJfb@", "duration": 1, "stops": [], "mode": 4, "time": 995 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295117, 48.873929 ] }, "name": "CHARLES DE GAULLE - ETOILE", "time": 997 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295059, 48.874185 ] }, "name": "", "time": 997 }, "details": [ { "distance": 14.39, "relativeDirection": "DEPART", "streetName": "escalier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.2951464, 48.8740241 ] } }, { "distance": 4.73, "relativeDirection": "RIGHT", "streetName": "tunnel", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.2950579, 48.874052400000004 ] } }, { "distance": 3.08, "relativeDirection": "LEFT", "streetName": "Passage du Souvenir", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.295061, 48.874084800000006 ] } } ], "emission": { "co2": 0 }, "geometry": "auhiHog_MQC?@EN?@ECAFSG", "duration": 0, "distance": 22.2, "mode": 2, "time": 997 } ] } ], "emission": { "co2": 102 } } ] }, "calc_tour_key": "d2aef22a5af663afa2c113545a1675b1120ac6c1", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0, "total_process": "0:00:01.618537" }

Le Magic Tour permet d'organiser une tournée touristique en fonction des préférences utilisateur. Un point de départ, un point d'arrivée, le temps, des préférences (loisirs, sport, culture ...), un budget... Avec ces différents paramètre cette requête renvoi un tour avec les différentes visites à faire.

Requète HTTP

GET https://api.visitmoov.com/api/v1/magic_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
dep_lat FLOAT REQUIS1 Latitude de départ (WGS84)
dep_lng FLOAT REQUIS1 Longitude de départ (WGS84)
dep_name STRING REQUIS1 Nom de départ
dep_id STRING REQUIS1 Identifiant de départ
dep_kind INTEGER REQUIS1 Type de départ
dep_price_min FLOAT OPTIONNEL1 Prix minimum de départ
dep_price_max FLOAT OPTIONNEL1 Prix maximum de départ
arr_lat FLOAT REQUIS1 Latitude d'arrivée (WGS84)
arr_lng FLOAT REQUIS1 Longitude d'arrivée (WGS84)
arr_name STRING REQUIS1 Nom de départ
arr_id STRING REQUIS1 Identifiant d'arrivée
arr_kind INTEGER REQUIS1 Type d'arrivée
arr_price_min FLOAT OPTIONNEL1 Prix minimum d'arrivée
arr_price_max FLOAT OPTIONNEL1 Prix maximum d'arrivée
date STRING DATE OPTIONNEL Date du tour (FORMAT : "aaaa-mm-jj", MIN : aujourd'hui, PAR DÉFAUT : aujourd'hui)
time INTEGER OPTIONNEL Heure du tour (UNITÉ : minutes PAR DÉFAUT: maintenant)
maxtime INTEGER OPTIONNEL Durée maximale de la visite (UNITÉ: minutes)
maxdist INTEGER OPTIONNEL Distance maximale du tour (UNITÉ: mètres) Défaut: 5000
arrive_at INTEGER OPTIONNEL Arriver à ces date/heure (VALEURS : 0 ou 1)
tr_mode INTEGER OPTIONNEL Mode de transport, les valeurs possibles sont 1, 2, 3 et 4.
1: Voiture,
2: Marche à pied,
3: Vélo,
4: Transport en commun Défaut: 4
distribution STRING OPTIONNEL Distribution des POIs sélectionné pour le calcul du tour:
- departure, poi proche du point de départ
- arrival, poi proche du point d'arrivée
- smooth, poi réparti entre le point de départ et le point d'arrivée
Défaut: departure
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
budget INTEGER OPTIONNEL Budget
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
social_distancing INTEGER OPTIONNEL Permet d'éviter les zones d'affluence (VALEURS: 0 ou 1) Défaut: 0
nb_person INTEGER OPTIONNEL Nombre de personne
etype_einflu JSON ARRAY OPTIONNEL Influences (VALEURS: '{"1":2,"2":2,"3":2,"4":2,"5":2}')
1 - Culture
2 - Sport
3 - Loisirs
4 - Evénements
5 - Shopping
6 - Autres
use_weather INTEGER OPTIONNEL Météo (VALEURS: 0 ou 1) Défaut: 0
excluded_pois JSON ARRAY OPTIONNEL Liste des POIs ou événements à exclure du Magic Tour
{
  "id": string,
  "place_id": string,
  "kind": integer
}
matrix_url STRING OPTIONNEL2 URL de votre calculateur de matrice
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (euro)", "price_max": "float (euro)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
bad_departure Mauvaise valeur tour departure.
bad_arrival Mauvaise valeur tour arrival.
bad_time Mauvaise valeur tour time.
bad_tour_maxtime Mauvaise valeur maxtime (Doit être compris entre 0 et 1440 inclus).
bad_tour_maxdist Mauvaise valeur maxdist (Doit être un entier >= 0).
bad_tour_arrive_at Mauvaise valeur arrive_at (Doit être 0 ou 1).
bad_tour_accessibility Mauvaise valeur accessibility (Doit être 0 ou 1).
bad_tour_budget Mauvaise valeur budget (Doit être un entier >= 0).
bad_tour_with_child Mauvaise valeur with_child (Doit être 0 ou 1).
bad_tour_with_hotel Mauvaise valeur with_hotel (Doit être 0 ou 1).
bad_tour_nb_person Mauvaise valeur nb_person (Doit être un entier >= 1).
bad_tour_transit Mauvaise valeur transit (Doit être 0 ou 1).
bad_departure_isinstance Mauvaise valeur tour departure.
bad_arrival_isinstance Mauvaise valeur tour arrival.
bad_tour_add_pause Pause non valide, n'a pas pu être ajoutée.
bad_tour_add_visit Visite non valide, n'a pas pu être ajoutée.
bad_influences Mauvaise influences (etype_einflu).
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

MAJ informations d'un tour

Exemple de requête:

https://api.visitmoov.com/api/v1/update_tour_info_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=845d47fb5d521aea0223141f49cb6ba1c164d853&tour_id=1&accessibility=1&with_child=1&nb_person=4&time=550&maxtime=200

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 550, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 200, "distmax": 5000, "with_child": 1, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 4, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 10110, "time": 189, "visit_kind": 0, "nb_stops": 5, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "043bc9eh1000000374b744882b93c7f031bd998b", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 1397, "time_to_next_point": 17, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 550, "date": "2022-12-09", "place_id": "96d785493cb44d4ce68b2h10000003bd953b5583", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "dae9a344d114504a1e81ee4f90e80862205f148184", "geometry": { "type": "Point", "coordinates": [ 2.3627993, 48.8806979 ] }, "length_to_next_point": 196, "time_to_next_point": 3, "visit_time": 30, "visit_kind": 1, "min": 567, "max": 602, "arrival": 567, "departure": 597, "date": "2022-12-09", "place_id": "470f148184c2fc54c15a3fd95326aa09af563c8c", "place_name": "Ownsport", "desc": "Ownsport est le leader français du coaching sportif à domicile. Plus d'infos sur https://www.ownsport.fr", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "153ce9357b217a95f0729663233772c2c2f148184", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "477f1181107927d57c5a9501221a3f5287284b98", "geometry": { "type": "Point", "coordinates": [ 2.3635484, 48.8820287 ] }, "length_to_next_point": 2422, "time_to_next_point": 30, "visit_time": 5, "visit_kind": 1, "min": 600, "max": 610, "arrival": 600, "departure": 605, "date": "2022-12-09", "place_id": "46f11811074f1d8c99c0a9cd71cf88982d1bf2d0", "place_name": "Louis Blanc", "desc": "Louis Blanc est une station des lignes 7 et 7 bis du métro de Paris, située dans le 10e arrondissement de Paris. Elle a la particularité d'être constituée de deux stations à quai central dont l'une est située nettement plus profondément dans le sol que l'autre.", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "f4a3ef11811049319470f3852eeea10bef014bd4", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.8827200009207 ] }, "length_to_next_point": 6095, "time_to_next_point": 74, "visit_time": 30, "visit_kind": 1, "min": 635, "max": 670, "arrival": 635, "departure": 665, "date": "2022-12-09", "place_id": "6cbcae77ea7338b8b3586c267e49125088cf4917", "place_name": "Magenta", "desc": "La gare de Magenta est une gare ferroviaire française de la ligne E du réseau express régional d'Île-de-France ; elle est située à l'est de la gare du Nord, dans le 10e arrondissement de Paris. À l'origine du projet, cette gare aurait dû porter le nom de gare Nord-Est.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383335383130363834.jpg", "resa_url": "", "event_id": "46e491256aeace820e1564e9b2a857a4b3164cec", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3d308h10000004a37ed4f51e4837098bb47e5c8d", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 739, "max": 739, "arrival": 739, "departure": 0, "date": "2022-12-09", "place_id": "d38f77c19f2c8a6f9b1de5b524h100000041be15", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "043bc9eh1000000374b744882b93c7f031bd998b", "to_id": "dae9a344d114504a1e81ee4f90e80862205f148184", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBE[W{AJGuC{PsE}WKFX|ARM", "emission": { "co2": 92 }, "duration": 600, "distance": 1582, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 554 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356393, 48.879059 ] }, "name": "LA FAYETTE - SAINT-QUENTIN - GARE DU NORD", "time": 560 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 68.25, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 76.2, "relativeDirection": "LEFT", "streetName": "Place Napoléon III", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547629000000003, 48.879960700000005 ] } }, { "distance": 14.09, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3557768, 48.8798078 ] } }, { "distance": 13.96, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557444000000003, 48.879682900000006 ] } }, { "distance": 75.74, "relativeDirection": "RIGHT", "streetName": "Rue de Saint-Quentin", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3559188, 48.879646400000006 ] } }, { "distance": 46.57, "relativeDirection": "HARD_LEFT", "streetName": "Rue La Fayette", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3557598, 48.8789735 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBE[W{A??JG", "duration": 7, "distance": 434.74, "mode": 2, "time": 554 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356393, 48.879059 ] }, "name": "La Fayette - Saint-Quentin - Gare du Nord", "time": 561, "id": "IDFM:29412" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363243, 48.880867 ] }, "name": "Château Landon", "time": 564, "id": "IDFM:8423" }, "emission": { "co2": 92 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "NATION - TRONE", "direction": 1, "long_name": "Nation - Gare Saint-Lazare", "short_name": "26", "id": "IDFM:C01076", "type": 700 }, "geometry": "cuiiHmfkMuC{PsE}W", "duration": 3, "stops": [ { "code": "", "name": "La Fayette - Dunkerque", "id": 4928358, "geometry": { "type": "Point", "coordinates": [ 2.359247, 48.879812 ] } } ], "mode": 4, "time": 560 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363243, 48.880867 ] }, "name": "CHÂTEAU LANDON", "time": 564 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.362799, 48.880698 ] }, "name": "", "time": 564 }, "details": [ { "distance": 37.12, "relativeDirection": "DEPART", "streetName": "Rue La Fayette", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3632030403837514, 48.88093210677285 ] } } ], "emission": { "co2": 0 }, "geometry": "m`jiHgqlMKFX|ARM", "duration": 1, "distance": 37.12, "mode": 2, "time": 564 } ] }, { "from_id": "dae9a344d114504a1e81ee4f90e80862205f148184", "to_id": "477f1181107927d57c5a9501221a3f5287284b98", "mode": 2, "geometry": "a`jiHanlM@HLr@UK{DkBGEGI[e@KIEEFOFO", "emission": { "co2": 0 }, "duration": 156, "distance": 208, "steps": [ { "distance": 24.8, "driving_side": "right", "duration": 20, "geometry": "a`jiHanlM@HLr@", "instructions": "Se diriger vers le sud-ouest sur la rue La Fayette", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.362732, 48.880808 ] } }, "mode": 2, "name": "Rue La Fayette", "emission": { "co2": 0 } }, { "distance": 168.8, "driving_side": "right", "duration": 125.6, "geometry": "q_jiHcllMUK{DkBGEGI[e@KIEE", "instructions": "Tourner franchement à droite sur la rue du Château Landon", "maneuver": { "modifier": "sharp right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.362416, 48.880726 ] } }, "mode": 2, "name": "Rue du Château Landon", "emission": { "co2": 0 } }, { "distance": 14.7, "driving_side": "right", "duration": 10.5, "geometry": "ahjiHarlMFOFO", "instructions": "Tourner à droite sur la rue Louis Blanc", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.363369, 48.882094 ] } }, "mode": 2, "name": "Rue Louis Blanc", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qgjiHaslM??", "instructions": "Vous êtes arrivé à Rue Louis Blanc", "maneuver": { "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.363526, 48.882011 ] } }, "mode": 2, "name": "Rue Louis Blanc", "emission": { "co2": 0 } } ] }, { "from_id": "477f1181107927d57c5a9501221a3f5287284b98", "to_id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "mode": 4, "geometry": "ugjiHeslMBDLWvAaDTg@HSJSFKBGLUFQLNBDJNj@r@RVKTdL|NzK`GdApKgIhLaLpFkGbUmKhJACDEPODRlAcAAE", "emission": { "co2": 300 }, "duration": 1560, "distance": 3133, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363548, 48.882029 ] }, "name": "", "time": 608 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.364472, 48.880703 ] }, "name": "LOUIS BLANC", "time": 611 }, "details": [ { "distance": 155.43, "relativeDirection": "DEPART", "streetName": "Rue Louis Blanc", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3635255391561394, 48.882011125216486 ] } }, { "distance": 66.49, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Martin", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3651516000000004, 48.881111100000005 ] } } ], "emission": { "co2": 0 }, "geometry": "ugjiHeslMBDLWvAaDTg@HSJSFKBGLUFQLNBDJNj@r@RVKT", "duration": 3, "distance": 221.91, "mode": 2, "time": 608 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.364472, 48.880703 ] }, "name": "Louis Blanc", "time": 612, "id": "IDFM:28388" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.349932, 48.883242 ] }, "name": "Barbès - Rochechouart", "time": 634, "id": "IDFM:36542" }, "emission": { "co2": 300 }, "route": { "color": "82C8E6", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "GABRIEL PERI-METRO", "direction": 1, "long_name": "Gabriel Péri - Porte d'Aubervilliers", "short_name": "54", "id": "IDFM:C01092", "type": 700 }, "geometry": "k_jiH}xlMdL|NzK`GdApKgIhLaLpFkGbUmKhJ", "duration": 22, "stops": [ { "code": "", "name": "Château Landon", "id": 4942735, "geometry": { "type": "Point", "coordinates": [ 2.361921, 48.878585 ] } }, { "code": "", "name": "Verdun", "id": 4931711, "geometry": { "type": "Point", "coordinates": [ 2.360633, 48.876528 ] } }, { "code": "", "name": "Gare de l'Est", "id": 4940464, "geometry": { "type": "Point", "coordinates": [ 2.358623, 48.876184 ] } }, { "code": "", "name": "Valenciennes", "id": 4945978, "geometry": { "type": "Point", "coordinates": [ 2.35649, 48.877818 ] } }, { "code": "", "name": "Gare du Nord - Dunkerque", "id": 4929207, "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] } }, { "code": "", "name": "Magenta - Maubeuge - Gare du Nord", "id": 4937233, "geometry": { "type": "Point", "coordinates": [ 2.351743, 48.881246 ] } } ], "mode": 4, "time": 611 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.349932, 48.883242 ] }, "name": "BARBÈS - ROCHECHOUART", "time": 634 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.88272 ] }, "name": "", "time": 635 }, "details": [ { "distance": 73.84, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3499579982368286, 48.88325271744114 ] } } ], "emission": { "co2": 0 }, "geometry": "gojiHa~iMACDEPODRlAcAAE", "duration": 1, "distance": 73.84, "mode": 2, "time": 634 } ] }, { "from_id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "to_id": "3d308h10000004a37ed4f51e4837098bb47e5c8d", "mode": 4, "geometry": "_ljiHq`jM@D`CqBFGHItAkAPONLDDB@zAXJBH@rB`@JBESOu@AEIDfEnSfFnU|GrQlCdLk@fTa@fWdCp\\bGpBx@xHw@nl@VGSqBAKOBeAPK@K@R}CBk@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 462 }, "duration": 2040, "distance": 5069, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.88272 ] }, "name": "", "time": 668 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] }, "name": "MAGENTA - MAUBEUGE", "time": 673 }, "details": [ { "distance": 161.77, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.350307717997173, 48.88271144104704 ] } }, { "distance": 154.28, "relativeDirection": "RIGHT", "streetName": "Rue de Rocroy", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3514274, 48.8814567 ] } }, { "distance": 32.29, "relativeDirection": "HARD_LEFT", "streetName": "Rue de Maubeuge", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3509646, 48.880111400000004 ] } } ], "emission": { "co2": 0 }, "geometry": "_ljiHq`jM@D`CqBFGHItAkAPONLDDB@zAXJBH@rB`@JBESOu@AEID", "duration": 5, "distance": 348.34, "mode": 2, "time": 668 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] }, "name": "Magenta - Maubeuge", "time": 674, "id": "IDFM:29789" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.317934, 48.874385 ] }, "name": "Saint-Augustin - la Boétie", "time": 699, "id": "IDFM:27327" }, "emission": { "co2": 462 }, "route": { "color": "FF1400", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "BAGATELLE", "direction": 1, "long_name": "Place de Bagatelle - Gare du Nord", "short_name": "43", "id": "IDFM:C01086", "type": 700 }, "geometry": "w|iiHyfjMfEnSfFnU|GrQlCdLk@fTa@fWdCp\\bGpBx@xHw@nl@", "duration": 25, "stops": [ { "code": "", "name": "Condorcet", "id": 4954114, "geometry": { "type": "Point", "coordinates": [ 2.348045, 48.879283 ] } }, { "code": "", "name": "Maubeuge - Rochechouart", "id": 4927238, "geometry": { "type": "Point", "coordinates": [ 2.344446, 48.878122 ] } }, { "code": "", "name": "Châteaudun - Lamartine", "id": 4938269, "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] } }, { "code": "", "name": "Carrefour de Châteaudun", "id": 4939936, "geometry": { "type": "Point", "coordinates": [ 2.33936, 48.87598 ] } }, { "code": "", "name": "Saint-Georges - Châteaudun", "id": 4945899, "geometry": { "type": "Point", "coordinates": [ 2.335963, 48.876195 ] } }, { "code": "", "name": "Trinité", "id": 4956332, "geometry": { "type": "Point", "coordinates": [ 2.332075, 48.876372 ] } }, { "code": "", "name": "Gare Saint-Lazare - Budapest", "id": 4949608, "geometry": { "type": "Point", "coordinates": [ 2.327352, 48.875698 ] } }, { "code": "", "name": "Gare Saint-Lazare - Havre", "id": 4948007, "geometry": { "type": "Point", "coordinates": [ 2.326783, 48.874399 ] } }, { "code": "", "name": "Pasquier - Anjou", "id": 4953886, "geometry": { "type": "Point", "coordinates": [ 2.325205, 48.874112 ] } } ], "mode": 4, "time": 673 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.317934, 48.874385 ] }, "name": "SAINT-AUGUSTIN - LA BOÉTIE", "time": 699 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 703 }, "details": [ { "distance": 47.6, "relativeDirection": "DEPART", "streetName": "Rue La Boétie", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.317978432419112, 48.8742764816184 ] } }, { "distance": 61.68, "relativeDirection": "LEFT", "streetName": "Rue Roy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3186076, 48.874386 ] } }, { "distance": 75.35, "relativeDirection": "RIGHT", "streetName": "Boulevard Haussmann", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3184761000000003, 48.8749339 ] } }, { "distance": 78.37, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "}whiHavcMVGSqBAKOBeAPK@K@R}CBk@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 4, "distance": 263, "mode": 2, "time": 699 } ] } ], "emission": { "co2": 854 } } ] }, "calc_tour_key": "845d47fb5d521aea0223141f49cb6ba1c164d853", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "4143", "name": "Point éphémère", "place_id": 4143, "place": "Point éphémère", "kind": 0, "city": "Paris" }, { "id": "6337", "name": "Eglise Saint-Bernard de la Chapelle", "place_id": 6337, "place": "Eglise Saint-Bernard de la Chapelle", "kind": 0, "city": "Paris" } ], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Permet de mettre à jour les informations générales d'un tour existant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/update_tour_info_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
tour_id INTEGER REQUIS Identifiant du tour
date STRING DATE OPTIONNEL Date du tour (FORMAT : "aaaa-mm-jj", MIN : aujourd'hui, PAR DÉFAUT : aujourd'hui)
time INTEGER OPTIONNEL Heure du tour (UNITÉ : minutes PAR DÉFAUT: maintenant)
maxtime INTEGER OPTIONNEL Durée maximale de la visite (UNITÉ: minutes)
maxdist INTEGER OPTIONNEL Distance maximale du tour (UNITÉ: mètres)
tr_mode INTEGER OPTIONNEL Mode de transport, les valeurs possibles sont 1, 2, 3 et 4.
1: Voiture,
2: Marche à pied,
3: Vélo,
4: Transport en commun Défaut: 4
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1)
budget INTEGER OPTIONNEL Budget
with_child INTEGER OPTIONNEL Données pour enfants (VALEURS: 0 ou 1)
nb_person INTEGER OPTIONNEL Nombre de personne
calc_tour_key STRING REQUIS Clé de calcul du tour
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
calc_tour_key not found Champ calc_tour_key manquant.
tour_id not found tour_id non trouvé
Xml file [CALC_TOUR_KEY] - error: [ERROR] Pour le tour avec la clé [CALC_TOUR_KEY] il y a eu l'erreur suivante [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

MAJ départ/l'arrivée du tour

Exemple de requête:

https://api.visitmoov.com/api/v1/update_tour_dep_arr_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=8632e2379dce68603231a54d4d5e08eda1fc2473&tour_id=1&dep_lat=48.87&dep_lng=2.3465613&dep_name=Paris&arr_lat=48.87&arr_lng=2.3465613&arr_name=Paris

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 4896, "time": 121, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "f9dae4a2efh1000001080722019888d28ac590ad", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.87 ] }, "length_to_next_point": 2205, "time_to_next_point": 27, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "f89d08ceah100000106454214d2721adc2b697e3", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "geometry": { "type": "Point", "coordinates": [ 2.3563825, 48.8746096 ] }, "length_to_next_point": 261, "time_to_next_point": 4, "visit_time": 30, "visit_kind": 1, "min": 567, "max": 602, "arrival": 567, "departure": 597, "date": "2022-12-09", "place_id": "cc8ce6dd95cd9485d3731140edc1f06ab2214155", "place_name": "InterConnections", "desc": "Centre de Yoga Kundalini et Développement personnel", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "fcec3c8892d86b9d948566899e375c5597dd6ff2", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3871e7db9f02f94d1672ff453e905cac2917f989", "geometry": { "type": "Point", "coordinates": [ 2.355592, 48.876421 ] }, "length_to_next_point": 2430, "time_to_next_point": 30, "visit_time": 30, "visit_kind": 1, "min": 601, "max": 636, "arrival": 601, "departure": 631, "date": "2022-12-09", "place_id": "aa216533287dbe3a593d083cd678435d1672ee33", "place_name": "Marché couvert Saint-Quentin", "desc": "Visiter un marché couvert, c'est se balader dans un endroit authentique à Paris, au milieu des habitants du quartier, dans une atmosphère toujours bon enfant.\nLes marchés couverts de Paris sont les lointains héritiers des halles d'antan, que l'on visite encore au cœur de certains bourgs d'Île de France.\nC'est dire que vous y trouverez une certaine authenticité, et bien souvent des produits de grande qualité.\nCertains marchés disposent de stands où l'on peut même déguster les plats que l'on vient d'acheter !", "place_type": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "69e6ef5fc10c17a6e984d1672a1d86075164ed01", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b8f260fc7dcf57d9h1000001100ffe9634cf4011", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.87 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 661, "max": 661, "arrival": 661, "departure": 0, "date": "2022-12-09", "place_id": "6af8e55a8f923f2118d62dch1000001171f37426", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "f9dae4a2efh1000001080722019888d28ac590ad", "to_id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "mode": 4, "geometry": "o|giH_iiMIp@pAf@lAn@JDJDrBf@LBl@JlAXRKFi@PqA?CJs@D[BM@MTHnD_f@}JqEeUoKCVCAWKKGKESKQIaAe@iB{@GCiAi@GCIEg@WwAo@GEMPCDEFCND^LfAOD", "emission": { "co2": 191 }, "duration": 1020, "distance": 2858, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.87 ] }, "name": "", "time": 547 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346585, 48.867404 ] }, "name": "SENTIER", "time": 552 }, "details": [ { "distance": 264.51, "relativeDirection": "DEPART", "streetName": "Rue du Sentier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3463197032746668, 48.87005233781502 ] } }, { "distance": 90.7, "relativeDirection": "LEFT", "streetName": "Rue Réaumur", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3454616, 48.8677682 ] } } ], "emission": { "co2": 0 }, "geometry": "o|giH_iiMIp@pAf@lAn@JDJDrBf@LBl@JlAXRKFi@PqA?CJs@D[BM@MTH", "duration": 5, "distance": 355.21, "mode": 2, "time": 547 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346585, 48.867404 ] }, "name": "Sentier", "time": 553, "id": "IDFM:26767" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35588, 48.871978 ] }, "name": "Château d'Eau", "time": 560, "id": "IDFM:22986" }, "emission": { "co2": 191 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "GARE DU NORD", "direction": 0, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "glgiHeiiMnD_f@}JqEeUoK", "duration": 7, "stops": [ { "code": "", "name": "Réaumur - Sébastopol", "id": 4943034, "geometry": { "type": "Point", "coordinates": [ 2.352826, 48.866521 ] } }, { "code": "", "name": "Strasbourg - Saint-Denis", "id": 4958651, "geometry": { "type": "Point", "coordinates": [ 2.353879, 48.868433 ] } } ], "mode": 4, "time": 552 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35588, 48.871978 ] }, "name": "CHÂTEAU D'EAU", "time": 560 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 565 }, "details": [ { "distance": 295.68, "relativeDirection": "DEPART", "streetName": "Boulevard de Strasbourg", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.355764520318629, 48.87200678662922 ] } }, { "distance": 63.46, "relativeDirection": "LEFT", "streetName": "Rue de la Fidélité", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3571778, 48.874498100000004 ] } } ], "emission": { "co2": 0 }, "geometry": "{hhiHgckMCVCAWKKGKESKQIaAe@iB{@GCiAi@GCIEg@WwAo@GEMPCDEFCND^LfAOD", "duration": 5, "distance": 359.14, "mode": 2, "time": 560 } ] }, { "from_id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "to_id": "3871e7db9f02f94d1672ff453e905cac2917f989", "mode": 2, "geometry": "yxhiHsfkMUgBE_@GOKIEAQMq@j@sAjAQN[Xo@j@c@^ONMHWRQLJZ?FAB", "emission": { "co2": 0 }, "duration": 232, "distance": 314, "steps": [ { "distance": 82.1, "driving_side": "right", "duration": 59.2, "geometry": "yxhiHsfkMUgBE_@GOKIEAQM", "instructions": "Se diriger vers l’est sur la rue de la Fidélité", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.356419, 48.874532 ] } }, "mode": 2, "name": "Rue de la Fidélité", "emission": { "co2": 0 } }, { "distance": 215.8, "driving_side": "right", "duration": 161.4, "geometry": "a{hiHelkMq@j@sAjAQN[Xo@j@c@^ONMHWRQL", "instructions": "Tourner à gauche sur le boulevard de Magenta", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.357312, 48.874893 ] } }, "mode": 2, "name": "Boulevard de Magenta", "emission": { "co2": 0 } }, { "distance": 16.6, "driving_side": "right", "duration": 12, "geometry": "qeiiH{bkMJZ?FAB", "instructions": "Tourner à gauche sur la rue de Chabrol", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.355819, 48.876566 ] } }, "mode": 2, "name": "Rue de Chabrol", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "geiiHsakM??", "instructions": "Vous êtes arrivé à Rue de Chabrol, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.355618, 48.876516 ] } }, "mode": 2, "name": "Rue de Chabrol", "emission": { "co2": 0 } } ] }, { "from_id": "3871e7db9f02f94d1672ff453e905cac2917f989", "to_id": "b8f260fc7dcf57d9h1000001100ffe9634cf4011", "mode": 4, "geometry": "sdiiHmakMGU\\WLMJIDKDI^WPQXW@DDLFJXNZRDBr@^B@vBlA@@HDJFJFHDPHf@Xd@VlDjBHDHNHBBB~Ax@@?zBhAJFFBNHlAh@B@NFJDB@DBlBx@z@\\DBB@H|@BN?BBBB@CL@@?B?D?DEPETETEVM`AAAiDxXRHE^Gr@CNRHpChAHq@", "emission": { "co2": 54 }, "duration": 1020, "distance": 2125, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355592, 48.876421 ] }, "name": "", "time": 639 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351405, 48.870039 ] }, "name": "PORTE SAINT-DENIS", "time": 652 }, "details": [ { "distance": 94.99, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557003979887785, 48.87646148203462 ] } }, { "distance": 700.17, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Denis", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3563848000000003, 48.8757427 ] } }, { "distance": 35.58, "relativeDirection": "RIGHT", "streetName": "Porte Saint-Denis", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3527612, 48.869942800000004 ] } }, { "distance": 5.31, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3523254000000002, 48.869834600000004 ] } }, { "distance": 66.79, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.352258, 48.869852400000006 ] } } ], "emission": { "co2": 0 }, "geometry": "sdiiHmakMGU\\WLMJIDKDI^WPQXW@DDLFJXNZRDBr@^B@vBlA@@HDJFJFHDPHf@Xd@VlDjBHDHNHBBB~Ax@@?zBhAJFFBNHlAh@B@NFJDB@DBlBx@z@\\DBB@H|@BN?BBBB@CL@@?B?D?DEPETETEVM`AAA", "duration": 13, "distance": 902.85, "mode": 2, "time": 639 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351405, 48.870039 ] }, "name": "Porte Saint-Denis", "time": 653, "id": "IDFM:22957" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347278, 48.870889 ] }, "name": "Poissonnière - Bonne Nouvelle", "time": 655, "id": "IDFM:26769" }, "emission": { "co2": 54 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "LOUISON BOBET", "direction": 0, "long_name": "Centre Commercial / Louison Bobet - Porte des Lilas", "short_name": "20", "id": "IDFM:C01072", "type": 700 }, "geometry": "w|giHigjMiDxX", "duration": 2, "stops": [], "mode": 4, "time": 652 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347278, 48.870889 ] }, "name": "POISSONNIÈRE - BONNE NOUVELLE", "time": 655 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.87 ] }, "name": "", "time": 656 }, "details": [ { "distance": 38.07, "relativeDirection": "DEPART", "streetName": "Boulevard Poissonnière", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3472380928619767, 48.870791675878266 ] } }, { "distance": 97.02, "relativeDirection": "LEFT", "streetName": "Rue du Sentier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3467356, 48.8708809 ] } } ], "emission": { "co2": 0 }, "geometry": "abhiHomiMRHE^Gr@CNRHpChAHq@", "duration": 2, "distance": 135.09, "mode": 2, "time": 655 } ] } ], "emission": { "co2": 245 } } ] }, "calc_tour_key": "8632e2379dce68603231a54d4d5e08eda1fc2473", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "118110", "name": "Louis Blanc", "place_id": 118110, "place": "Louis Blanc", "kind": 0, "city": "Paris" }, { "id": "4143", "name": "Point éphémère", "place_id": 4143, "place": "Point éphémère", "kind": 0, "city": "Paris" }, { "id": "148184", "name": "Ownsport", "place_id": 148184, "place": "Ownsport", "kind": 0, "city": "Paris" } ], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Permet de modifier le départ et l'arrivée d'un tour existant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/update_tour_dep_arr_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
tour_id INTEGER REQUIS Identifiant du tour
dep_lat FLOAT REQUIS1 Latitude de départ (WGS84)
dep_lng FLOAT REQUIS1 Longitude de départ (WGS84)
dep_name STRING REQUIS1 Nom de départ
dep_id STRING REQUIS1 Identifiant de départ
dep_kind STRING REQUIS1 Type de départ
arr_lat FLOAT REQUIS1 Latitude d'arrivée (WGS84)
arr_lng FLOAT REQUIS1 Longitude d'arrivée (WGS84)
arr_name STRING REQUIS1 Nom de départ
arr_id STRING REQUIS1 Identifiant d'arrivée
arr_kind STRING REQUIS1 Type d'arrivée
calc_tour_key STRING REQUIS Clé de calcul du tour
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
calc_tour_key not found Champ calc_tour_key manquant.
tour_id not found tour_id non trouvé
Xml file [CALC_TOUR_KEY] - error: [ERROR] Pour le tour avec la clé [CALC_TOUR_KEY] il y a eu l'erreur suivante [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

Ajouter un POI au tour

Exemple de requête:

https://api.visitmoov.com/api/v1/update_tour_addpoi_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=1e9da1a62c75fb7b10151168c575a2546f76638b&tour_id=1&visits=[{"id":"1e96d9485c5540f109403bea3186a788833fb84b","kind":0,"poi_id":"1e96d9485c5540f109403bea3186a788833fb84b","poi_kind":0,"visittime":10}]

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 10444, "time": 261, "visit_kind": 0, "nb_stops": 7, "minmax_budget": "2-50", "min_budget": 2, "max_budget": 50, "is_shopping": null, "stops": [ { "id": "dd7c72f490e584456h1000000985535b0ff6c87c", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 1955, "time_to_next_point": 24, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "1420961e935aefcc6d0b791dfcc7e6bfch10000009", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "geometry": { "type": "Point", "coordinates": [ 2.3563825, 48.8746096 ] }, "length_to_next_point": 2617, "time_to_next_point": 32, "visit_time": 10, "visit_kind": 1, "min": 564, "max": 579, "arrival": 564, "departure": 574, "date": "2022-12-09", "place_id": "c2de850558b4d763211dad0bee7cfa4ab9e7d9485", "place_name": "InterConnections", "desc": "Centre de Yoga Kundalini et Développement personnel", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "0dd94854a7ea5a1d04e98910f45934eb50afa8bf", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b07fa797f142615452338824b44a4a6842c38f47", "geometry": { "type": "Point", "coordinates": [ 2.342094, 48.873923 ] }, "length_to_next_point": 335, "time_to_next_point": 6, "visit_time": 30, "visit_kind": 1, "min": 606, "max": 641, "arrival": 606, "departure": 636, "date": "2022-12-09", "place_id": "4580f5eb9b7fef01ba4a1a8762bb8920e24614f142615", "place_name": "test equipement site desti", "desc": "test\ntest", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "48b6f1426155783d9d5c303befc9b0a5aef19a5c", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "697a706abf83d8374963c98707d4dbc192a3da70", "geometry": { "type": "Point", "coordinates": [ 2.341904, 48.871511 ] }, "length_to_next_point": 280, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 642, "max": 677, "arrival": 642, "departure": 672, "date": "2022-12-09", "place_id": "1bef0c987b21119b0ab46b10f1608d2785b99162", "place_name": "Passage des Panoramas", "desc": "Déambulez sous la belle verrière du passage des Panoramas et découvrez de nombreux commerces de bouches.\nC'est le premier passage couvert de Paris, classé monument historique il offre une décoration d'époque préservée ou se sont installés de nombreux restaurateurs de talents. \nIl y en a pour tous les gouts avec de la cuisine japonaise au Gyoza bar, italienne au Caffè Stern, sans gluten chez Noglu et le plus chic au Passage 53, le restaurant du chef Shin Sato, doublement étoilé.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d3835393837373034.jpg", "resa_url": "", "event_id": "730c9875e86d3c8a97a284b908dcce18a7356061", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "length_to_next_point": 1132, "time_to_next_point": 14, "visit_time": 30, "visit_kind": 1, "min": 677, "max": 712, "arrival": 677, "departure": 707, "date": "2022-12-09", "place_id": "0523db65f144379168156e4bacc078c653d6fc6e", "place_name": "La Tête dans les Nuages", "desc": "La plus grande salle de jeux d’Europe vous ouvre ses portes sur plus de 1500m² . Elle propose plus d'une centaine d'attractions dédiées à tous les âges: billard, bowling, simulateurs de course... Il y en a pour tous les goûts !\nAu cœur de la capitale, cet espace entièrement dédié au jeu s’adresse à tous les publics ! Avec environ 130 attractions, dont plusieurs uniques en France, deux salles de réception pour l’organisation d'évènements, et un espace restauration, La Tête dans les Nuages vous accueille pour des moments de plaisirs en famille ou entre amis.\nVous trouverez cinq espaces thématiques : la tête dans le fun pour les petits dès 3 ans, la tête dans le compteur pour les fous du volant, la tête dans le viseur pour les fans de jeux d’action, la tête dans le rétro pour les nostalgiques et enfin la tête dans le billard pour les amateurs du billard anglais et américain. \nSpécialement conçu pour la famille, venez partager des moments de plaisirs avec vos enfants.\nAdulte : de 2 à 50 € (selon le nombre de jetons)\nEnfant : de 2 à 50 € (selon le nombre de jetons).\n\n\n2€ = 1 jeton\n10€ = 6 jetons\n20€ = 12 jetons\n30€ = 18 jetons \n40€ = 24 jetons\n50€ = 30 jetons.", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/0/20/922624-diaporama.jpg", "resa_url": "", "event_id": "735f144379fa10dfb0e608caad424da1f2c760ad", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 2, "price_max": 50, "tripadvisor": null }, { "id": "805db902f3499fb5d6e853305ce1110237a99b0a", "geometry": { "type": "Point", "coordinates": [ 2.3382508, 48.8674547 ] }, "length_to_next_point": 4125, "time_to_next_point": 50, "visit_time": 30, "visit_kind": 1, "min": 721, "max": 756, "arrival": 721, "departure": 751, "date": "2022-12-09", "place_id": "5602cf9a28099e28a7a918d9aaa9e111026858d6", "place_name": "Bibliothèque de l'Institut national d'histoire de l'art (INHA)", "desc": "Salle Labrouste de la Bibliothèque nationale de France, occupée par la bibliothèque de l'INHA depuis le 15 décembre 2016", "place_type": "0c013b1907d015a11c117ff67f123d71a218404a", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "235ca6d482b3988591c13e111029a46bfb5280d0", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "5fb21aa31h10000010b382b2da4fdff13dc079a3", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 801, "max": 801, "arrival": 801, "departure": 0, "date": "2022-12-09", "place_id": "51583db0fd578afbd0c7ab1h100000107da8b5fb", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "dd7c72f490e584456h1000000985535b0ff6c87c", "to_id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBP@h@JrAVH@BWVgCBUJDRBJBLBPBC^zI{OjHhA@@IZCNCRYnADPIHOJPNLPJPDHDBCPMPCDEFCND^LfAOD", "emission": { "co2": 76 }, "duration": 960, "distance": 1898, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 546 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356192, 48.877682 ] }, "name": "VALENCIENNES", "time": 554 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 68.25, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 76.2, "relativeDirection": "LEFT", "streetName": "Place Napoléon III", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547629000000003, 48.879960700000005 ] } }, { "distance": 14.09, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3557768, 48.8798078 ] } }, { "distance": 13.96, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557444000000003, 48.879682900000006 ] } }, { "distance": 162.18, "relativeDirection": "RIGHT", "streetName": "Rue de Saint-Quentin", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3559188, 48.879646400000006 ] } }, { "distance": 69.47, "relativeDirection": "LEFT", "streetName": "Rue de Valenciennes", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3555521, 48.8782082 ] } }, { "distance": 43.2, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Denis", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3564686000000004, 48.878044 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBP@h@JrAVH@BWVgCBUJDRBJBLBPBC^", "duration": 9, "distance": 587.28, "mode": 2, "time": 546 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356192, 48.877682 ] }, "name": "Valenciennes", "time": 555, "id": "IDFM:463954" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.358522, 48.874439 ] }, "name": "Magenta - Saint-Martin", "time": 559, "id": "IDFM:22745" }, "emission": { "co2": 76 }, "route": { "color": "0055C8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "PORTE D'ORLEANS", "direction": 1, "long_name": "Porte de la Chapelle - Porte d'Orléans", "short_name": "38", "id": "IDFM:C01083", "type": 700 }, "geometry": "oliiHeekMzI{OjHhA", "duration": 4, "stops": [ { "code": "", "name": "Gare de l'Est", "id": 4940658, "geometry": { "type": "Point", "coordinates": [ 2.358885, 48.875943 ] } } ], "mode": 4, "time": 554 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.358522, 48.874439 ] }, "name": "MAGENTA - SAINT-MARTIN", "time": 559 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 562 }, "details": [ { "distance": 66.1, "relativeDirection": "DEPART", "streetName": "chemin piétonnier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3585190786764416, 48.874434562852755 ] } }, { "distance": 16.27, "relativeDirection": "RIGHT", "streetName": "Boulevard de Magenta", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3577028, 48.8746273 ] } }, { "distance": 39.64, "relativeDirection": "HARD_LEFT", "streetName": "Boulevard de Strasbourg", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3575908, 48.87475370000001 ] } }, { "distance": 70.22, "relativeDirection": "RIGHT", "streetName": "Rue de la Fidélité", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3572621000000002, 48.8744731 ] } } ], "emission": { "co2": 0 }, "geometry": "gxhiHwskM@@IZCNCRYnADPIHOJPNLPJPDHDBCPMPCDEFCND^LfAOD", "duration": 3, "distance": 192.23, "mode": 2, "time": 559 } ] }, { "from_id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "to_id": "b07fa797f142615452338824b44a4a6842c38f47", "mode": 4, "geometry": "iyhiHkfkMNEb@jD?LARCRG`@?DaApHCPEVU~AU|AIn@o@hFANAJQlBCLGr@y@hIALIAMEAF~KnA?KYAK??R?D?dB?N?f@?~A?NAlE?N?P?l@?T?\\?T?hA?NApI?Z?VAXX@", "emission": { "co2": 40 }, "duration": 1020, "distance": 2052, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 583 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348237, 48.875912 ] }, "name": "PARADIS", "time": 592 }, "details": [ { "distance": 78.75, "relativeDirection": "DEPART", "streetName": "Rue de la Fidélité", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.356419315946003, 48.87453241599341 ] } }, { "distance": 546.06, "relativeDirection": "CONTINUE", "streetName": "Rue de Paradis", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3553833, 48.874360700000004 ] } }, { "distance": 13.19, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Poissonnière", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3482432, 48.8757887 ] } } ], "emission": { "co2": 0 }, "geometry": "iyhiHkfkMNEb@jD?LARCRG`@?DaApHCPEVU~AU|AIn@o@hFANAJQlBCLGr@y@hIALIAMEAF", "duration": 9, "distance": 638.01, "mode": 2, "time": 583 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348237, 48.875912 ] }, "name": "Paradis", "time": 593, "id": "IDFM:24821" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347841, 48.873832 ] }, "name": "Petites Écuries", "time": 594, "id": "IDFM:24809" }, "emission": { "co2": 40 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "FRERES VOISIN", "direction": 1, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "maiiHosiM~KnA", "duration": 1, "stops": [], "mode": 4, "time": 592 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347841, 48.873832 ] }, "name": "PETITES ÉCURIES", "time": 594 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.342094, 48.873923 ] }, "name": "", "time": 600 }, "details": [ { "distance": 21.18, "relativeDirection": "DEPART", "streetName": "Rue du Faubourg Poissonnière", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.347909859081952, 48.87383216029324 ] } }, { "distance": 406.25, "relativeDirection": "LEFT", "streetName": "Rue Richer", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3479115, 48.8740226 ] } }, { "distance": 18.72, "relativeDirection": "CONTINUE", "streetName": "Rue de Provence", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3423567000000003, 48.874045300000006 ] } } ], "emission": { "co2": 0 }, "geometry": "mthiH_qiM?KYAK??R?D?dB?N?f@?~A?NAlE?N?P?l@?T?\\?T?hA?NApI?Z?VAXX@", "duration": 6, "distance": 446.15, "mode": 2, "time": 594 } ] }, { "from_id": "b07fa797f142615452338824b44a4a6842c38f47", "to_id": "697a706abf83d8374963c98707d4dbc192a3da70", "mode": 2, "geometry": "yuhiHcmhM?[FK@CBC?OTWDGHRHT|BVH@HBjAXB[xC|@\\H^H@?", "emission": { "co2": 0 }, "duration": 234, "distance": 325, "steps": [ { "distance": 10.1, "driving_side": "right", "duration": 7.3, "geometry": "yuhiHcmhM?[", "instructions": "Se diriger vers l’est sur la rue de Provence", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.342101, 48.874051 ] } }, "mode": 2, "name": "Rue de Provence", "emission": { "co2": 0 } }, { "distance": 36.4, "driving_side": "right", "duration": 26.2, "geometry": "yuhiH_nhMFK@CBC?OTWDG", "instructions": "Tourner à droite sur la rue du Faubourg Montmartre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342239, 48.874048 ] } }, "mode": 2, "name": "Rue du Faubourg Montmartre", "emission": { "co2": 0 } }, { "distance": 95.2, "driving_side": "right", "duration": 68.6, "geometry": "othiHcphMHRHT|BVH@", "instructions": "Tourner à droite sur le passage Verdeau", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342577, 48.873839 ] } }, "mode": 2, "name": "Passage Verdeau", "emission": { "co2": 0 } }, { "distance": 183.8, "driving_side": "right", "duration": 132.2, "geometry": "sohiH_nhMHBjAXB[xC|@\\H^H@?", "instructions": "Continuer tout droit sur le passage Jouffroy", "maneuver": { "modifier": "straight", "type": "new name", "geometry": { "type": "Point", "coordinates": [ 2.342238, 48.873056 ] } }, "mode": 2, "name": "Passage Jouffroy", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "_fhiHkkhM??", "instructions": "Vous êtes arrivé à Passage des Panoramas, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } } ] }, { "from_id": "697a706abf83d8374963c98707d4dbc192a3da70", "to_id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "mode": 2, "geometry": "_fhiHkkhMA?_@IEr@g@nF@l@AP?NPDbA`@ALCRCPAFGd@?FGd@\\L", "emission": { "co2": 0 }, "duration": 203, "distance": 279, "steps": [ { "distance": 18.5, "driving_side": "right", "duration": 13.2, "geometry": "_fhiHkkhMA?_@I", "instructions": "Se diriger vers le nord sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 109.8, "driving_side": "right", "duration": 79, "geometry": "aghiHukhMEr@g@nF", "instructions": "Tourner à gauche sur le boulevard Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341865, 48.871685 ] } }, "mode": 2, "name": "Boulevard Montmartre", "emission": { "co2": 0 } }, { "distance": 29.2, "driving_side": "right", "duration": 23.1, "geometry": "ohhiHqbhM@l@AP?N", "instructions": "Tourner légèrement à gauche sur le boulevard des Italiens", "maneuver": { "modifier": "slight left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340409, 48.871924 ] } }, "mode": 2, "name": "Boulevard des Italiens", "emission": { "co2": 0 } }, { "distance": 50, "driving_side": "right", "duration": 36, "geometry": "ohhiHa`hMPDbA`@", "instructions": "Tourner à gauche sur la rue de Richelieu", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340011, 48.871915 ] } }, "mode": 2, "name": "Rue de Richelieu", "emission": { "co2": 0 } }, { "distance": 55.1, "driving_side": "right", "duration": 39.6, "geometry": "yehiHy~gMALCRCPAFGd@?FGd@", "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.339812, 48.871485 ] } }, "mode": 2, "name": "", "emission": { "co2": 0 } }, { "distance": 17, "driving_side": "right", "duration": 12.2, "geometry": "ufhiHizgM\\L", "instructions": "Tourner à gauche sur le passage des Princes", "maneuver": { "modifier": "left", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.339092, 48.871627 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "wehiH{ygM??", "instructions": "Vous êtes arrivé à Passage des Princes, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.339022, 48.871481 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } } ] }, { "from_id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "to_id": "805db902f3499fb5d6e853305ce1110237a99b0a", "mode": 4, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEENfHnChMpFFUFBFB\\LLsA", "emission": { "co2": 76 }, "duration": 360, "distance": 927, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "name": "", "time": 711 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.339757, 48.871567 ] }, "name": "RICHELIEU - DROUOT", "time": 712 }, "details": [ { "distance": 31.61, "relativeDirection": "DEPART", "streetName": "Passage des Princes", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3390221767487898, 48.87148070412607 ] } }, { "distance": 40.48, "relativeDirection": "CONTINUE", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3392817000000004, 48.8715884 ] } }, { "distance": 7.45, "relativeDirection": "LEFT", "streetName": "Rue de Richelieu", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3398115, 48.8714853 ] } } ], "emission": { "co2": 0 }, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEEN", "duration": 1, "distance": 79.55, "mode": 2, "time": 711 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.339757, 48.871567 ] }, "name": "Richelieu - Drouot", "time": 713, "id": "IDFM:26770" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337828, 48.867797 ] }, "name": "Bibliothèque Nationale", "time": 717, "id": "IDFM:28674" }, "emission": { "co2": 76 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "FRERES VOISIN", "direction": 1, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "ifhiHo~gMfHnChMpF", "duration": 4, "stops": [ { "code": "", "name": "Richelieu - 4 Septembre", "id": 4952727, "geometry": { "type": "Point", "coordinates": [ 2.33904, 48.870088 ] } } ], "mode": 4, "time": 712 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337828, 48.867797 ] }, "name": "BIBLIOTHÈQUE NATIONALE", "time": 717 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338251, 48.867455 ] }, "name": "", "time": 717 }, "details": [ { "distance": 27.19, "relativeDirection": "DEPART", "streetName": "Rue de Richelieu", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.337947465508328, 48.86776954596018 ] } } ], "emission": { "co2": 0 }, "geometry": "wngiHmrgMFUFBFB\\LLsA", "duration": 0, "distance": 27.19, "mode": 2, "time": 717 } ] }, { "from_id": "805db902f3499fb5d6e853305ce1110237a99b0a", "to_id": "5fb21aa31h10000010b382b2da4fdff13dc079a3", "mode": 4, "geometry": "slgiHaugMMrAJBVLFBdBv@THHDDSNgAGC_I~Y{ItCkHtG{ClGgGvMaIjP?DHDNHD@ABEDEHGH@@?@KPGH?@C@@JOTD`@Ft@@T?LFnC@Z@JNlFDp@?JBb@?JFpA@H?JP`CD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 238 }, "duration": 1320, "distance": 3164, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338251, 48.867455 ] }, "name": "", "time": 759 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337844, 48.866565 ] }, "name": "BIBLIOTHÈQUE NATIONALE", "time": 761 }, "details": [ { "distance": 105.42, "relativeDirection": "DEPART", "streetName": "Rue de Richelieu", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.337835952265321, 48.867536317035174 ] } }, { "distance": 36.02, "relativeDirection": "LEFT", "streetName": "Rue des Petits Champs", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3373626, 48.8666409 ] } } ], "emission": { "co2": 0 }, "geometry": "slgiHaugMMrAJBVLFBdBv@THHDDSNgAGC", "duration": 2, "distance": 141.44, "mode": 2, "time": 759 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337844, 48.866565 ] }, "name": "Bibliothèque Nationale", "time": 762, "id": "IDFM:29431" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.324892, 48.875117 ] }, "name": "Gare Saint-Lazare", "time": 774, "id": "IDFM:30011" }, "emission": { "co2": 238 }, "route": { "color": "82C8E6", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "GARE SAINT-LAZARE", "direction": 0, "long_name": "Montempoivre - Gare Saint-Lazare", "short_name": "29", "id": "IDFM:C01079", "type": 700 }, "geometry": "aggiHorgM_I~Y{ItCkHtG{ClGgGvMaIjP", "duration": 12, "stops": [ { "code": "", "name": "Petits Champs - Danielle Casanova", "id": 4943642, "geometry": { "type": "Point", "coordinates": [ 2.333516, 48.868169 ] } }, { "code": "", "name": "Opéra - 4 Septembre", "id": 4929934, "geometry": { "type": "Point", "coordinates": [ 2.332771, 48.869909 ] } }, { "code": "", "name": "Opéra", "id": 4938438, "geometry": { "type": "Point", "coordinates": [ 2.331375, 48.871412 ] } }, { "code": "", "name": "Auber", "id": 4942014, "geometry": { "type": "Point", "coordinates": [ 2.330029, 48.872187 ] } }, { "code": "", "name": "Havre - Haussmann", "id": 4935217, "geometry": { "type": "Point", "coordinates": [ 2.327667, 48.873514 ] } } ], "mode": 4, "time": 761 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.324892, 48.875117 ] }, "name": "GARE SAINT-LAZARE", "time": 774 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 782 }, "details": [ { "distance": 18.85, "relativeDirection": "DEPART", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.324864182499049, 48.87512415292801 ] } }, { "distance": 16.73, "relativeDirection": "HARD_RIGHT", "streetName": "trottoir", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3247772, 48.8749648 ] } }, { "distance": 20.2, "relativeDirection": "HARD_LEFT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3246217000000002, 48.875075100000004 ] } }, { "distance": 4.86, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3244469000000003, 48.8751814 ] } }, { "distance": 11.39, "relativeDirection": "RIGHT", "streetName": "Rue de Rome", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3243816, 48.8751735 ] } }, { "distance": 329.07, "relativeDirection": "LEFT", "streetName": "Rue de la Pépinière", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3242781000000003, 48.87525 ] } }, { "distance": 24.99, "relativeDirection": "CONTINUE", "streetName": "Boulevard Haussmann", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3198244000000003, 48.874847 ] } }, { "distance": 78.37, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "o|hiHqaeM?DHDNHD@ABEDEHGH@@?@??KPGH?@C@@JOTD`@Ft@@T?LFnC@Z@JNlFDp@?JBb@?JFpA@H?JP`CD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 8, "distance": 504.46, "mode": 2, "time": 774 } ] } ], "emission": { "co2": 430 } } ] }, "calc_tour_key": "1e9da1a62c75fb7b10151168c575a2546f76638b", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Vous permet d'ajouter un POI à un tour existant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/update_tour_addpoi_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
calc_tour_key STRING REQUIS Clé de calcul du tour
tour_id INTEGER REQUIS Identifiant du tour
visits JSON ARRAY REQUIS Liste des visits
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
pauses JSON ARRAY OPTIONNEL Liste des pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
calc_tour_key not found Champ calc_tour_key manquant.
tour_id not found tour_id non trouvé
Xml file [CALC_TOUR_KEY] - error: [ERROR] Pour le tour avec la clé [CALC_TOUR_KEY] il y a eu l'erreur suivante [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

Supprimer un POI au tour

Exemple de requête:

https://api.visitmoov.com/api/v1/update_tour_deletepoi_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=148b96250b9216323d667ed1046c41f9fa198d27&tour_id=1&visits=[{"id":"b65a7bf44f80bad23950c88a29c0367cd687cc7a","kind":0}]

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 7987, "time": 221, "visit_kind": 0, "nb_stops": 6, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "6eb6c6e02h100000121fb9eb081fe54db051bcdd", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 3412, "time_to_next_point": 41, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "6404552e92ac4adh10000012aae7233922c1b663", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "geometry": { "type": "Point", "coordinates": [ 2.34581, 48.8710200009208 ] }, "length_to_next_point": 246, "time_to_next_point": 4, "visit_time": 30, "visit_kind": 1, "min": 581, "max": 616, "arrival": 581, "departure": 611, "date": "2022-12-09", "place_id": "8009efabe1a127aa4dc779bd92e2927551720247", "place_name": "Aubert", "desc": "La gare d'Auber est une gare ferroviaire française de la ligne A du RER, située dans le 9e arrondissement de Paris.\n\nElle est mise en service en 1971 par la Régie autonome des transports parisiens.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d38313134323332323636.jpg", "resa_url": "", "event_id": "192212fd58050c033ceaa2769479fd274c8264e29275", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "geometry": { "type": "Point", "coordinates": [ 2.343746, 48.869874 ] }, "length_to_next_point": 282, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 615, "max": 650, "arrival": 615, "departure": 645, "date": "2022-12-09", "place_id": "fb009bf5b0ddd6d15301453e66879e18c134dad5", "place_name": "Cultival", "desc": "Pour vivre et visiter les grands sites franciliens autrement, Cultival propose un large choix de visites guidées vous permettant de visiter les coulisses de ceux-ci ou encore de les découvrir sous un nouveau jour.\nVous rêvez de vous faufiler dans les coulisses du Musée Grévin ou de la Tour Eiffel ? De monter les Tour de Notre-Dame ou de visiter les Invalides après la fermeture au public? ou de vous balader au cœur de quartiers de la capitale?\nAvec Cultival, les sites parisiens et franciliens vous livrent leurs secrets. \nVisites ludiques, insolites et exclusives de Versailles, des passages couverts parisiens ou encore de la Garde Républicaine, venez faire votre choix.\nDe 7 à 85 € selon la visite choisie, individuelle ou groupée.", "place_type": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/6/54/1783302-diaporama.jpg", "resa_url": "", "event_id": "bea0ec54a32e3e97d15302d4738ed4ae91821f49", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "geometry": { "type": "Point", "coordinates": [ 2.341904, 48.871511 ] }, "length_to_next_point": 280, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 650, "max": 685, "arrival": 650, "departure": 680, "date": "2022-12-09", "place_id": "098beb7c6105c987c72fa595397fa9b4704c458a", "place_name": "Passage des Panoramas", "desc": "Déambulez sous la belle verrière du passage des Panoramas et découvrez de nombreux commerces de bouches.\nC'est le premier passage couvert de Paris, classé monument historique il offre une décoration d'époque préservée ou se sont installés de nombreux restaurateurs de talents. \nIl y en a pour tous les gouts avec de la cuisine japonaise au Gyoza bar, italienne au Caffè Stern, sans gluten chez Noglu et le plus chic au Passage 53, le restaurant du chef Shin Sato, doublement étoilé.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d3835393837373034.jpg", "resa_url": "", "event_id": "4144b391199db389af24b959718857cd90c98760", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "length_to_next_point": 3767, "time_to_next_point": 46, "visit_time": 30, "visit_kind": 1, "min": 685, "max": 720, "arrival": 685, "departure": 715, "date": "2022-12-09", "place_id": "dfcc683b497cf7437e2f1443791389037dc29b12", "place_name": "La Tête dans les Nuages", "desc": "La plus grande salle de jeux d’Europe vous ouvre ses portes sur plus de 1500m² . Elle propose plus d'une centaine d'attractions dédiées à tous les âges: billard, bowling, simulateurs de course... Il y en a pour tous les goûts !\nAu cœur de la capitale, cet espace entièrement dédié au jeu s’adresse à tous les publics ! Avec environ 130 attractions, dont plusieurs uniques en France, deux salles de réception pour l’organisation d'évènements, et un espace restauration, La Tête dans les Nuages vous accueille pour des moments de plaisirs en famille ou entre amis.\nVous trouverez cinq espaces thématiques : la tête dans le fun pour les petits dès 3 ans, la tête dans le compteur pour les fous du volant, la tête dans le viseur pour les fans de jeux d’action, la tête dans le rétro pour les nostalgiques et enfin la tête dans le billard pour les amateurs du billard anglais et américain. \nSpécialement conçu pour la famille, venez partager des moments de plaisirs avec vos enfants.\nAdulte : de 2 à 50 € (selon le nombre de jetons)\nEnfant : de 2 à 50 € (selon le nombre de jetons).\n\n\n2€ = 1 jeton\n10€ = 6 jetons\n20€ = 12 jetons\n30€ = 18 jetons \n40€ = 24 jetons\n50€ = 30 jetons.", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/0/20/922624-diaporama.jpg", "resa_url": "", "event_id": "cca013b27dff144379e1e92bf007d32bec5e2bfb", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 2, "price_max": 50, "tripadvisor": null }, { "id": "c1b0e466474fcc86ab89269151704396358h10000013", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 761, "max": 761, "arrival": 761, "departure": 0, "date": "2022-12-09", "place_id": "3f97e2dh10000013d793b8beb22f614f104b3cbc", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "6eb6c6e02h100000121fb9eb081fe54db051bcdd", "to_id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLD]BWBYBWAAiAtWfEnSfFnU|GrQFEBFFLFPPh@`AjCJVHRRULKNMBCvAmAXWDCHGJIJI`@e@HM|BmDPWJMTWFENO@Cf@g@DCXId@MVEFCNCFAl@ELA|@IXA`@BnANVDBY@C@U@C@O@MFg@RwBd@kF?CBSBWBS", "emission": { "co2": 192 }, "duration": 1140, "distance": 3457, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 542 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] }, "name": "GARE DU NORD - DUNKERQUE", "time": 545 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 64.03, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 39.7, "relativeDirection": "LEFT", "streetName": "plateau piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.354753, 48.8799981 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLD]BWBYBWAA", "duration": 4, "distance": 243.67, "mode": 2, "time": 542 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] }, "name": "Gare du Nord - Dunkerque", "time": 546, "id": "IDFM:39806" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] }, "name": "Châteaudun - Lamartine", "time": 548, "id": "IDFM:36540" }, "emission": { "co2": 192 }, "route": { "color": "FF1400", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "BAGATELLE", "direction": 1, "long_name": "Place de Bagatelle - Gare du Nord", "short_name": "43", "id": "IDFM:C01086", "type": 700 }, "geometry": "mziiHo_kMiAtWfEnSfFnU|GrQ", "duration": 2, "stops": [ { "code": "", "name": "Magenta - Maubeuge", "id": 4958680, "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] } }, { "code": "", "name": "Condorcet", "id": 4954114, "geometry": { "type": "Point", "coordinates": [ 2.348045, 48.879283 ] } }, { "code": "", "name": "Maubeuge - Rochechouart", "id": 4927238, "geometry": { "type": "Point", "coordinates": [ 2.344446, 48.878122 ] } } ], "mode": 4, "time": 545 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] }, "name": "CHÂTEAUDUN - LAMARTINE", "time": 548 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.34581, 48.87102 ] }, "name": "", "time": 561 }, "details": [ { "distance": 111.27, "relativeDirection": "DEPART", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3415094838897543, 48.87665482194685 ] } }, { "distance": 8.81, "relativeDirection": "CONTINUE", "streetName": "Place Kossuth", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3402716000000003, 48.8760733 ] } }, { "distance": 573.18, "relativeDirection": "LEFT", "streetName": "Rue du Faubourg Montmartre", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3401729000000002, 48.876027900000004 ] } }, { "distance": 207.01, "relativeDirection": "LEFT", "streetName": "Boulevard Poissonnière", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3430679000000003, 48.8714816 ] } } ], "emission": { "co2": 0 }, "geometry": "ifiiHeihMFEBFFLFPPh@`AjCJVHRRULKNMBCvAmAXWDCHGJIJI`@e@HM|BmDPWJMTWFENO@Cf@g@DCXId@MVEFCNCFAl@ELA|@IXA`@BnANVDBY@C@U@C@O@MFg@RwBd@kF???CBSBWBS??", "duration": 13, "distance": 900.27, "mode": 2, "time": 548 } ] }, { "from_id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "to_id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "mode": 2, "geometry": "}bhiHidiMDa@PF`Bv@JFrDdBJDGXSbAg@xD", "emission": { "co2": 0 }, "duration": 226, "distance": 311, "steps": [ { "distance": 12.6, "driving_side": "right", "duration": 11.1, "geometry": "}bhiHidiMDa@", "instructions": "Se diriger vers l’est sur le boulevard Poissonnière", "maneuver": { "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.345813, 48.871028 ] } }, "mode": 2, "name": "Boulevard Poissonnière", "emission": { "co2": 0 } }, { "distance": 189.4, "driving_side": "right", "duration": 136.3, "geometry": "wbhiHkeiMPF`Bv@JFrDdBJD", "instructions": "Tourner à droite sur la rue Saint-Fiacre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.34598, 48.871001 ] } }, "mode": 2, "name": "Rue Saint-Fiacre", "emission": { "co2": 0 } }, { "distance": 109.5, "driving_side": "right", "duration": 78.8, "geometry": "wxgiHw_iMGXSbAg@xD", "instructions": "Tourner à droite sur la rue des Jeûneurs", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.345084, 48.869404 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "{zgiH_whM??", "instructions": "Vous êtes arrivé à Rue des Jeûneurs, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34368, 48.869742 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } } ] }, { "from_id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "to_id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "mode": 2, "geometry": "{zgiH_whMa@xCCRSHWFOBK?c@IANCTCd@EbAATA?u@KI~@?BCAKAEAGAEAEAGAEAEAGAEAEAGAEA]G", "emission": { "co2": 0 }, "duration": 229, "distance": 318, "steps": [ { "distance": 67.2, "driving_side": "right", "duration": 48.5, "geometry": "{zgiH_whMa@xCCR", "instructions": "Se diriger vers l’ouest sur la rue des Jeûneurs", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34368, 48.869742 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 61.1, "driving_side": "right", "duration": 44.1, "geometry": "a|giHqqhMSHWFOBK?c@I", "instructions": "Tourner à droite sur la rue Montmartre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342807, 48.86993 ] } }, "mode": 2, "name": "Rue Montmartre", "emission": { "co2": 0 } }, { "distance": 62, "driving_side": "right", "duration": 44.6, "geometry": "m_hiHeqhMANCTCd@EbAAT", "instructions": "Tourner à gauche sur la galerie Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342753, 48.870467 ] } }, "mode": 2, "name": "Galerie Montmartre", "emission": { "co2": 0 } }, { "distance": 57.2, "driving_side": "right", "duration": 41.2, "geometry": "_`hiH_lhMA?u@KI~@?B", "instructions": "Tourner à droite sur la galerie des Variétés", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341918, 48.87056 ] } }, "mode": 2, "name": "Galerie des Variétés", "emission": { "co2": 0 } }, { "distance": 71.1, "driving_side": "right", "duration": 51.4, "geometry": "abhiHgjhMCAKAEAGAEAEAGAEAEAGAEAEAGAEA]G", "instructions": "Tourner à droite sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341641, 48.870893 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "_fhiHkkhM??", "instructions": "Vous êtes arrivé à Passage des Panoramas, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } } ] }, { "from_id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "to_id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "mode": 2, "geometry": "_fhiHkkhMA?_@IEr@g@nF@l@AP?NPDbA`@ALCRCPAFGd@?FGd@\\L", "emission": { "co2": 0 }, "duration": 203, "distance": 279, "steps": [ { "distance": 18.5, "driving_side": "right", "duration": 13.2, "geometry": "_fhiHkkhMA?_@I", "instructions": "Se diriger vers le nord sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 109.8, "driving_side": "right", "duration": 79, "geometry": "aghiHukhMEr@g@nF", "instructions": "Tourner à gauche sur le boulevard Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341865, 48.871685 ] } }, "mode": 2, "name": "Boulevard Montmartre", "emission": { "co2": 0 } }, { "distance": 29.2, "driving_side": "right", "duration": 23.1, "geometry": "ohhiHqbhM@l@AP?N", "instructions": "Tourner légèrement à gauche sur le boulevard des Italiens", "maneuver": { "modifier": "slight left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340409, 48.871924 ] } }, "mode": 2, "name": "Boulevard des Italiens", "emission": { "co2": 0 } }, { "distance": 50, "driving_side": "right", "duration": 36, "geometry": "ohhiHa`hMPDbA`@", "instructions": "Tourner à gauche sur la rue de Richelieu", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340011, 48.871915 ] } }, "mode": 2, "name": "Rue de Richelieu", "emission": { "co2": 0 } }, { "distance": 55.1, "driving_side": "right", "duration": 39.6, "geometry": "yehiHy~gMALCRCPAFGd@?FGd@", "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.339812, 48.871485 ] } }, "mode": 2, "name": "", "emission": { "co2": 0 } }, { "distance": 17, "driving_side": "right", "duration": 12.2, "geometry": "ufhiHizgM\\L", "instructions": "Tourner à gauche sur le passage des Princes", "maneuver": { "modifier": "left", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.339092, 48.871627 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "wehiH{ygM??", "instructions": "Vous êtes arrivé à Passage des Princes, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.339022, 48.871481 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } } ] }, { "from_id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "to_id": "c1b0e466474fcc86ab89269151704396358h10000013", "mode": 4, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEy@YCAKE@NDd@?PBf@?TB\\@LH|@RlBDf@J~@LtA@JDZ@PDZB\\N~ASFlBzReGvQsLri@cAtNHBALARF`@?|@QPUVD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 214 }, "duration": 1260, "distance": 2841, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "name": "", "time": 729 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.336214, 48.87143 ] }, "name": "CHOISEUL", "time": 735 }, "details": [ { "distance": 31.61, "relativeDirection": "DEPART", "streetName": "Passage des Princes", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3390221767487898, 48.87148070412607 ] } }, { "distance": 40.48, "relativeDirection": "CONTINUE", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3392817000000004, 48.8715884 ] } }, { "distance": 49.92, "relativeDirection": "LEFT", "streetName": "Rue de Richelieu", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3398115, 48.8714853 ] } }, { "distance": 282.8, "relativeDirection": "HARD_LEFT", "streetName": "Boulevard des Italiens", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3400113, 48.8719145 ] } } ], "emission": { "co2": 0 }, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEy@YCAKE@NDd@?PBf@?TB\\@LH|@RlBDf@J~@LtA@JDZ@PDZB\\N~ASF", "duration": 6, "distance": 404.81, "mode": 2, "time": 729 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.336214, 48.87143 ] }, "name": "Choiseul", "time": 736, "id": "IDFM:27317" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.320698, 48.874707 ] }, "name": "Saint-Augustin", "time": 748, "id": "IDFM:29276" }, "emission": { "co2": 214 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "LOUISON BOBET", "direction": 0, "long_name": "Centre Commercial / Louison Bobet - Porte des Lilas", "short_name": "20", "id": "IDFM:C01072", "type": 700 }, "geometry": "mehiHihgMlBzReGvQsLri@cAtN", "duration": 12, "stops": [ { "code": "", "name": "Opéra", "id": 4953470, "geometry": { "type": "Point", "coordinates": [ 2.333031, 48.870882 ] } }, { "code": "", "name": "Auber", "id": 4942014, "geometry": { "type": "Point", "coordinates": [ 2.330029, 48.872187 ] } }, { "code": "", "name": "Pasquier - Anjou", "id": 4950688, "geometry": { "type": "Point", "coordinates": [ 2.323211, 48.87437 ] } } ], "mode": 4, "time": 735 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.320698, 48.874707 ] }, "name": "SAINT-AUGUSTIN", "time": 748 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 751 }, "details": [ { "distance": 100.88, "relativeDirection": "DEPART", "streetName": "Boulevard Haussmann", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3206861997248325, 48.87466661146339 ] } }, { "distance": 78.37, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "}yhiHkgdMHBALARF`@?|@QPUVD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 3, "distance": 179.25, "mode": 2, "time": 748 } ] } ], "emission": { "co2": 406 } } ] }, "calc_tour_key": "148b96250b9216323d667ed1046c41f9fa198d27", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Vous permet de supprimer un POI à un tour existant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/update_tour_deletepoi_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
calc_tour_key STRING REQUIS Clé de calcul du tour
tour_id INTEGER REQUIS Identifiant du tour
visits JSON ARRAY REQUIS Liste des visits
visits = [
 {
  'id': string,
  'kind': integer,
  'to_replace': boolean (Optionnel)
 }
]
pauses JSON ARRAY OPTIONNEL Liste des pauses
pauses = [
 {
  'id': string,
  'kind': integer,
  'to_replace': boolean (Optionnel)
 }
]
excluded_pois JSON ARRAY OPTIONNEL Liste des POIs à exclure lors du remplacement d'un POI supprimé. Utilisé seulement quand une visite ou une pause has "to_replace" à 1.
{
  "id": string,
  "kind": integer
}
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
calc_tour_key not found Champ calc_tour_key manquant.
tour_id not found tour_id non trouvé
Xml file [CALC_TOUR_KEY] - error: [ERROR] Pour le tour avec la clé [CALC_TOUR_KEY] il y a eu l'erreur suivante [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

MAJ POIs d'un tour

Exemple de requête:

https://api.visitmoov.com/api/v1/update_tour_updatepoi_tour/?api_key=API_KEY&area_id=09d542f105b5a1eff3a6bd53b31580f7b45485a0&calc_tour_key=54f8dd453f2f345f2a35dcf02ea14fb527f3001a&tour_id=1&visits=[{"id":"5a95f410bd9e2de75376937e1c31508c9cf112154","kind":0,"poi_id":"5a95f410bd9e2de75376937e1c31508c9cf112154","poi_kind":0,"visittime":10}]

Cette requête renvoie un JSON structuré comme ceci:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 2615, "time": 65, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "57fcd8c138cbaa0512a1ada4c68edh1000000135", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.870136 ] }, "length_to_next_point": 490, "time_to_next_point": 8, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "e4b1a5f69c3ce750h100000015e0200abe40c486", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "geometry": { "type": "Point", "coordinates": [ 2.3473209, 48.8666458 ] }, "length_to_next_point": 2017, "time_to_next_point": 25, "visit_time": 10, "visit_kind": 1, "min": 548, "max": 563, "arrival": 548, "departure": 558, "date": "2022-12-09", "place_id": "7e38d2640af112154fe20f310f29c44741d8df42", "place_name": "Au planteur", "desc": "Au planteur est un ancien marchand de café de Paris, en France.", "place_type": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "3fc45eff1121541fa39686e0c89c131499ba671b", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.8593828 ] }, "length_to_next_point": 108, "time_to_next_point": 2, "visit_time": 20, "visit_kind": 1, "min": 583, "max": 608, "arrival": 583, "departure": 603, "date": "2022-12-09", "place_id": "4eac7a7f116809bb9832e3b3595091a79fe2fa3b", "place_name": "Maison Aurouze", "desc": "Cet endroit est l'une des attractions touristiques les plus étranges. Il s'agit en fait d'un magasin de lutte antiparasitaire exposant des rats morts et autres nuisibles dans sa vitrine. Encore inconnu du grand public il n'y a pas si longtemps, le magasin n'a jamais cherché à attirer l'attention des touristes. La raison pour laquelle la boutique est devenue une telle attraction est parce qu'on l'aperçoit dans le film Pixar « Ratatouille ». Chaque jour, des fans de cette production se pressent devant la Maison Aurouze pour voir de leurs propres yeux une scène de l'un des films les plus populaires de 2007.\n\nLa station de métro la plus proche est Châtelet (accessible depuis les lignes 1, 4, 7, 11 et 14).", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383137343836313334.jpg", "resa_url": "", "event_id": "21627d66b5fdf2bc537f11680918d19f7b3a3a20", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "f0aee36fd9192eed85b7865729a785b7a49afah10000002", "geometry": { "type": "Point", "coordinates": [ 2.347561, 48.860138 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 605, "max": 605, "arrival": 605, "departure": 0, "date": "2022-12-09", "place_id": "6d49baa6h100000021c654d3116509c6f72f82d9", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "57fcd8c138cbaa0512a1ada4c68edh1000000135", "to_id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "mode": 2, "geometry": "s}giH{giMhBr@lAn@LFDQ\\mCDa@^iD@Mz@FJ@JDl@Vh@TLFH@h@D`@BN@L@J@F@J@`BL", "emission": { "co2": 0 }, "duration": 365, "distance": 505, "steps": [ { "distance": 116.2, "driving_side": "right", "duration": 83.7, "geometry": "s}giH{giMhBr@lAn@LF", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.346381, 48.870175 ] } }, "mode": 2, "name": "Rue du Sentier", "emission": { "co2": 0 } }, { "distance": 145, "driving_side": "right", "duration": 104.4, "geometry": "mwgiHodiMDQ\\mCDa@^iD@M", "instructions": "Tourner à gauche sur la rue des Jeûneurs", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.345841, 48.869193 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 39.8, "driving_side": "right", "duration": 28.7, "geometry": "augiHipiMz@FJ@", "instructions": "Tourner à droite sur la rue Poissonnière", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.347731, 48.868806 ] } }, "mode": 2, "name": "Rue Poissonnière", "emission": { "co2": 0 } }, { "distance": 124, "driving_side": "right", "duration": 91.2, "geometry": "yrgiH_piMJDl@Vh@TLFH@h@D`@BN@", "instructions": "Aller tout droit sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347678, 48.86845 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 80, "driving_side": "right", "duration": 57.7, "geometry": "algiHumiML@J@F@J@`BL", "instructions": "Continuer tout droit pour rester sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347308, 48.86737 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qggiH_miM??", "instructions": "Vous êtes arrivé à Rue des Petits Carreaux, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.3472, 48.866654 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } } ] }, { "from_id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "to_id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "mode": 4, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?AhFpQ|P}BESPO?MAMHGVUDE?GDI", "emission": { "co2": 26 }, "duration": 600, "distance": 1711, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347321, 48.866646 ] }, "name": "", "time": 559 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "ÉTIENNE MARCEL", "time": 566 }, "details": [ { "distance": 34.63, "relativeDirection": "DEPART", "streetName": "Rue des Petits Carreaux", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3471995421925604, 48.86665389343214 ] } }, { "distance": 215.92, "relativeDirection": "CONTINUE", "streetName": "Rue Montorgueil", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.347153, 48.866344000000005 ] } }, { "distance": 183.59, "relativeDirection": "LEFT", "streetName": "Rue Étienne Marcel", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3466747000000003, 48.864429 ] } }, { "distance": 12.76, "relativeDirection": "RIGHT", "streetName": "Rue de Turbigo", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3490334, 48.8638647 ] } }, { "distance": 27.32, "relativeDirection": "HARD_RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3490534000000003, 48.8637865 ] } }, { "distance": 1.12, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3489856000000002, 48.8637054 ] } } ], "emission": { "co2": 0 }, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?A", "duration": 8, "distance": 475.33, "mode": 2, "time": 559 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "Étienne Marcel", "time": 567, "id": "IDFM:463171" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "Châtelet", "time": 569, "id": "IDFM:22092" }, "emission": { "co2": 26 }, "route": { "color": "CF009E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "Bagneux - Lucie Aubrac", "direction": 1, "long_name": "Mairie de Montrouge - Porte de Clignancourt", "short_name": "4", "id": "IDFM:C01374", "type": 400 }, "geometry": "cufiHcxiMhFpQ|P}B", "duration": 2, "stops": [ { "code": "", "name": "Les Halles", "id": 4933819, "geometry": { "type": "Point", "coordinates": [ 2.346006, 48.862527 ] } } ], "mode": 4, "time": 566 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "CHÂTELET", "time": 569 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.859383 ] }, "name": "", "time": 569 }, "details": [ { "distance": 12.18, "relativeDirection": "DEPART", "streetName": "Rue des Halles", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3467421884488404, 48.85969806075405 ] } }, { "distance": 10.48, "relativeDirection": "LEFT", "streetName": "Place Sainte-Opportune", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3468231, 48.859602300000006 ] } }, { "distance": 29.29, "relativeDirection": "RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3469645000000003, 48.8596171 ] } } ], "emission": { "co2": 0 }, "geometry": "{{eiHoiiMESPO?MAMHGVUDE?GDI", "duration": 1, "distance": 51.95, "mode": 2, "time": 569 } ] }, { "from_id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "to_id": "f0aee36fd9192eed85b7865729a785b7a49afah10000002", "mode": 2, "geometry": "ozeiHmliMQIIAGACDEAC?EAc@ImAUDs@", "emission": { "co2": 0 }, "duration": 84, "distance": 117, "steps": [ { "distance": 21, "driving_side": "right", "duration": 15.2, "geometry": "ozeiHmliMQIIAGA", "instructions": "Se diriger vers le nord-est sur la place Sainte-Opportune", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.347108, 48.859437 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 3.4, "driving_side": "right", "duration": 2.4, "geometry": "s{eiH{liMCD", "instructions": "Tourner à gauche pour rester sur la place Sainte-Opportune", "maneuver": { "modifier": "left", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347179, 48.859618 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 73.7, "driving_side": "right", "duration": 53, "geometry": "w{eiHuliMEAC?EAc@ImAU", "instructions": "Tourner à droite sur la rue Sainte-Opportune", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347146, 48.859639 ] } }, "mode": 2, "name": "Rue Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 19.6, "driving_side": "right", "duration": 14.1, "geometry": "y_fiHymiMDs@", "instructions": "Tourner à droite sur la rue de la Ferronnerie", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347329, 48.86029 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "s_fiHmoiM??", "instructions": "Vous êtes arrivé à Rue de la Ferronnerie, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.347593, 48.86026 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } } ] } ], "emission": { "co2": 26 } } ] }, "calc_tour_key": "54f8dd453f2f345f2a35dcf02ea14fb527f3001a", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Permet de mettre à jour la liste des visites et des pauses d'un tour existant.

Requète HTTP

GET https://api.visitmoov.com/api/v1/update_tour_updatepoi_tour/

Paramètres de requête

Paramètre Type Contrainte Description
area_id STRING REQUIS Identifiant de zone.
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
calc_tour_key STRING REQUIS Clé de calcul du tour
tour_id INTEGER REQUIS Identifiant du tour
visits JSON ARRAY REQUIS Liste des visits
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
pauses JSON ARRAY OPTIONNEL Liste des pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Erreurs

Code Message Description
missing_area_id Champ area_id manquant.
calc_tour_key not found Champ calc_tour_key manquant.
tour_id not found tour_id non trouvé
Xml file [CALC_TOUR_KEY] - error: [ERROR] Pour le tour avec la clé [CALC_TOUR_KEY] il y a eu l'erreur suivante [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

Magic Tour Externe

Exemple de requête:

https://api.visitmoov.com/api/v1/magic_tour_extern/?api_key=API_KEY&dep_lat=48.88187650678903&dep_lng=2.3143386840820317&arr_lat=48.871038194878636&arr_lng=2.342319488525391&visits=%5B%7B%22id%22%3A%22id_1%22%2C%22typeid%22%3A%22typeid_1%22%2C%22lat%22%3A%2248.87837689194781%22%2C%22lng%22%3A%222.3459243774414067%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_2%22%2C%22typeid%22%3A%22typeid_2%22%2C%22lat%22%3A%2248.869570326277575%22%2C%22lng%22%3A%222.328758239746094%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_3%22%2C%22typeid%22%3A%22typeid_3%22%2C%22lat%22%3A%2248.88379554645444%22%2C%22lng%22%3A%222.327384948730469%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_4%22%2C%22typeid%22%3A%22typeid_4%22%2C%22lat%22%3A%2248.882328052158506%22%2C%22lng%22%3A%222.336225509643555%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%5D&tr_mode=4&accessibility=0&weather=0&dep_date=2021-09-30+14%3A54&profile=%7B%22typeid_2%22%3A10%2C%22typeid_3%22%3A40%2C%22typeid_1%22%3A20%2C%22typeid_4%22%3A30%7D

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "date": "2022-03-17", "duration": 241, "distance": 16624, "budget": { "min": 0, "max": 0 }, "steps": [ { "id": "", "typeid": "", "geometry": { "type": "Point", "coordinates": [ 2.3143386840820317, 48.88187650678903 ] }, "dep_time": 894, "arr_time": null, "duration": null, "itinerary": { "mode": 4, "distance": 2952, "duration": 10, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.31432, 48.88185 ], [ 2.31437, 48.88184 ], [ 2.31442, 48.88183 ], [ 2.31446, 48.88175 ], [ 2.31471, 48.8817 ], [ 2.31508, 48.88162 ], [ 2.31528, 48.88163 ], [ 2.31565, 48.88154 ], [ 2.31592, 48.88148 ], [ 2.316, 48.88147 ], [ 2.31616, 48.88143 ], [ 2.31637, 48.88139 ], [ 2.31652, 48.88128 ], [ 2.31658, 48.88124 ], [ 2.31679, 48.88117 ], [ 2.31701, 48.88121 ] ], [ [ 2.3171, 48.88119 ], [ 2.32083, 48.88196 ], [ 2.32466, 48.8827 ], [ 2.32786, 48.88342 ] ], [ [ 2.317101, 48.881199 ], [ 2.320834, 48.881963 ], [ 2.324663, 48.882709 ], [ 2.327866, 48.883429 ] ], [ [ 2.32781, 48.88348 ], [ 2.32768, 48.88343 ], [ 2.32764, 48.88354 ], [ 2.32762, 48.8836 ], [ 2.32756, 48.88368 ], [ 2.32736, 48.88366 ], [ 2.3273, 48.88378 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.314339, 48.881877 ] }, "name": "", "time": 894 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.317101, 48.881199 ] }, "name": "VILLIERS", "time": 896 }, "details": [ { "distance": 16.88, "relativeDirection": "DEPART", "streetName": "Accès Parking Villiers", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3143274210172278, 48.881852875872625 ] } }, { "distance": 145.96, "relativeDirection": "SLIGHTLY_LEFT", "streetName": "Avenue de Villiers", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3144698000000004, 48.881753 ] } }, { "distance": 22.35, "relativeDirection": "SLIGHTLY_RIGHT", "streetName": "Place Prosper Goubaux", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.316377, 48.8813903 ] } }, { "distance": 16.99, "relativeDirection": "SLIGHTLY_LEFT", "streetName": "Rue de Constantinople", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3165841, 48.881242500000006 ] } }, { "distance": 16.79, "relativeDirection": "LEFT", "streetName": "piste cyclable", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3167914, 48.8811735 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.31432, 48.88185 ], [ 2.31437, 48.88184 ], [ 2.31442, 48.88183 ], [ 2.31446, 48.88175 ], [ 2.31471, 48.8817 ], [ 2.31508, 48.88162 ], [ 2.31528, 48.88163 ], [ 2.31565, 48.88154 ], [ 2.31592, 48.88148 ], [ 2.316, 48.88147 ], [ 2.31616, 48.88143 ], [ 2.31637, 48.88139 ], [ 2.31652, 48.88128 ], [ 2.31658, 48.88124 ], [ 2.31679, 48.88117 ], [ 2.31701, 48.88121 ] ] }, "duration": 3, "distance": 218.97, "mode": 2, "time": 894 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.317101, 48.881199 ] }, "name": "Villiers", "time": 897 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327866, 48.883429 ] }, "name": "Place de Clichy", "time": 903 }, "route": { "color": "640082", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "442" }, "text_color": "ececfb", "headsign": "PIGALLE", "direction": 1, "long_name": "Pigalle - Hôpital Européen Georges Pompidou", "short_name": "30", "id": 87026, "type": 3 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.3171, 48.88119 ], [ 2.32083, 48.88196 ], [ 2.32466, 48.8827 ], [ 2.32786, 48.88342 ] ] }, "duration": 6, "stops": [ { "code": "", "name": "Rome - Batignolles", "id": 1790761, "geometry": { "type": "Point", "coordinates": [ 2.320834, 48.881963 ] } }, { "code": "", "name": "Turin - Batignolles", "id": 1790762, "geometry": { "type": "Point", "coordinates": [ 2.324663, 48.882709 ] } } ], "mode": 4, "time": 896 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327866, 48.883429 ] }, "name": "PLACE DE CLICHY", "time": 903 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327385, 48.883796 ] }, "name": "", "time": 904 }, "details": [ { "distance": 10.88, "relativeDirection": "DEPART", "streetName": "Boulevard de Clichy", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3278129872143523, 48.883486705879676 ] } }, { "distance": 29.78, "relativeDirection": "RIGHT", "streetName": "Place de Clichy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3276856, 48.883436100000004 ] } }, { "distance": 14.77, "relativeDirection": "LEFT", "streetName": "Place de Clichy", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3275607000000003, 48.8836894 ] } }, { "distance": 13.3, "relativeDirection": "RIGHT", "streetName": "Avenue de Clichy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3273618000000003, 48.883666000000005 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32781, 48.88348 ], [ 2.32768, 48.88343 ], [ 2.32764, 48.88354 ], [ 2.32762, 48.8836 ], [ 2.32756, 48.88368 ], [ 2.32736, 48.88366 ], [ 2.3273, 48.88378 ] ] }, "duration": 1, "distance": 68.73, "mode": 2, "time": 903 } ] } }, { "id": "id_3", "typeid": "typeid_3", "geometry": { "type": "Point", "coordinates": [ 2.327384948730469, 48.88379554645444 ] }, "dep_time": 948, "arr_time": 918, "duration": 30, "itinerary": { "mode": 2, "distance": 739, "duration": 8, "geometry": { "coordinates": [ [ 2.327308, 48.88378 ], [ 2.327362, 48.883666 ], [ 2.327561, 48.883689 ], [ 2.327755, 48.883709 ], [ 2.327976, 48.883752 ], [ 2.328005, 48.883762 ], [ 2.328301, 48.883946 ], [ 2.328345, 48.883917 ], [ 2.328448, 48.88385 ], [ 2.328483, 48.883827 ], [ 2.328553, 48.883872 ], [ 2.328681, 48.883832 ], [ 2.329828, 48.883473 ], [ 2.329888, 48.883455 ], [ 2.330137, 48.883379 ], [ 2.330228, 48.883353 ], [ 2.33043, 48.883295 ], [ 2.330611, 48.883324 ], [ 2.33214, 48.883676 ], [ 2.33226, 48.883724 ], [ 2.33233, 48.883712 ], [ 2.332445, 48.883678 ], [ 2.332545, 48.883655 ], [ 2.332598, 48.883635 ], [ 2.332719, 48.883593 ], [ 2.332769, 48.883579 ], [ 2.333937, 48.883235 ], [ 2.334774, 48.88299 ], [ 2.334837, 48.88297 ], [ 2.335991, 48.882629 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "steps": [ { "distance": 13.3, "driving_side": "right", "duration": 11.5, "geometry": { "coordinates": [ [ 2.327308, 48.88378 ], [ 2.327362, 48.883666 ] ], "type": "LineString" }, "instructions": "Se diriger vers le sud sur l’avenue de Clichy", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.327308, 48.88378 ] } }, "mode": 2, "name": "Avenue de Clichy" }, { "distance": 78.2, "driving_side": "right", "duration": 58.2, "geometry": { "coordinates": [ [ 2.327362, 48.883666 ], [ 2.327561, 48.883689 ], [ 2.327755, 48.883709 ], [ 2.327976, 48.883752 ], [ 2.328005, 48.883762 ], [ 2.328301, 48.883946 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur le boulevard de Clichy", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.327362, 48.883666 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 18.8, "driving_side": "right", "duration": 13.5, "geometry": { "coordinates": [ [ 2.328301, 48.883946 ], [ 2.328345, 48.883917 ], [ 2.328448, 48.88385 ], [ 2.328483, 48.883827 ] ], "type": "LineString" }, "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328301, 48.883946 ] } }, "mode": 2, "name": "" }, { "distance": 7.2, "driving_side": "right", "duration": 7.2, "geometry": { "coordinates": [ [ 2.328483, 48.883827 ], [ 2.328553, 48.883872 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur le boulevard de Clichy", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328483, 48.883827 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 151.6, "driving_side": "right", "duration": 109.2, "geometry": { "coordinates": [ [ 2.328553, 48.883872 ], [ 2.328681, 48.883832 ], [ 2.329828, 48.883473 ], [ 2.329888, 48.883455 ], [ 2.330137, 48.883379 ], [ 2.330228, 48.883353 ], [ 2.33043, 48.883295 ] ], "type": "LineString" }, "instructions": "Tourner à droite sur la rue de Douai", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328553, 48.883872 ] } }, "mode": 2, "name": "Rue de Douai" }, { "distance": 142.4, "driving_side": "right", "duration": 102.5, "geometry": { "coordinates": [ [ 2.33043, 48.883295 ], [ 2.330611, 48.883324 ], [ 2.33214, 48.883676 ], [ 2.33226, 48.883724 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur la rue de Bruxelles", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.33043, 48.883295 ] } }, "mode": 2, "name": "Rue de Bruxelles" }, { "distance": 26.7, "driving_side": "right", "duration": 19.2, "geometry": { "coordinates": [ [ 2.33226, 48.883724 ], [ 2.33233, 48.883712 ], [ 2.332445, 48.883678 ], [ 2.332545, 48.883655 ], [ 2.332598, 48.883635 ] ], "type": "LineString" }, "instructions": "Tourner à droite sur la place Blanche", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.33226, 48.883724 ] } }, "mode": 2, "name": "Place Blanche" }, { "distance": 301.4, "driving_side": "right", "duration": 217.1, "geometry": { "coordinates": [ [ 2.332598, 48.883635 ], [ 2.332719, 48.883593 ], [ 2.332769, 48.883579 ], [ 2.333937, 48.883235 ], [ 2.334774, 48.88299 ], [ 2.334837, 48.88297 ], [ 2.335991, 48.882629 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "instructions": "Aller tout droit sur le boulevard de Clichy", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.332598, 48.883635 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": { "coordinates": [ [ 2.336356, 48.882524 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "instructions": "Vous êtes arrivé à Boulevard de Clichy, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.336356, 48.882524 ] } }, "mode": 2, "name": "Boulevard de Clichy" } ] } }, { "id": "id_4", "typeid": "typeid_4", "geometry": { "type": "Point", "coordinates": [ 2.336225509643555, 48.882328052158506 ] }, "dep_time": 991, "arr_time": 961, "duration": 30, "itinerary": { "mode": 4, "distance": 2544, "duration": 15, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.33635, 48.88252 ], [ 2.33676, 48.8824 ], [ 2.33684, 48.88238 ], [ 2.33695, 48.88234 ], [ 2.33698, 48.88238 ], [ 2.337, 48.8824 ], [ 2.33704, 48.88245 ], [ 2.3371, 48.88244 ], [ 2.3372, 48.88244 ], [ 2.3372, 48.88243 ], [ 2.33725, 48.88242 ] ], [ [ 2.33725, 48.88242 ], [ 2.34416, 48.88287 ] ], [ [ 2.337255, 48.882422 ], [ 2.344164, 48.882872 ] ], [ [ 2.34419, 48.8828 ], [ 2.34445, 48.88286 ], [ 2.34449, 48.88286 ], [ 2.3445, 48.88284 ], [ 2.34452, 48.88279 ], [ 2.34455, 48.88273 ], [ 2.34457, 48.88267 ], [ 2.34467, 48.88243 ], [ 2.34484, 48.88207 ], [ 2.34492, 48.88189 ], [ 2.34497, 48.88179 ], [ 2.345, 48.88173 ], [ 2.34505, 48.88165 ], [ 2.34475, 48.88159 ], [ 2.3448, 48.88149 ], [ 2.34556, 48.87982 ], [ 2.34558, 48.87976 ], [ 2.3456, 48.87972 ], [ 2.34573, 48.87941 ], [ 2.34576, 48.87935 ], [ 2.34546, 48.87895 ], [ 2.34541, 48.87888 ], [ 2.34535, 48.8788 ], [ 2.34531, 48.87875 ], [ 2.34539, 48.87874 ], [ 2.34577, 48.87864 ], [ 2.3459, 48.87861 ], [ 2.34578, 48.87857 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.336226, 48.882328 ] }, "name": "", "time": 993 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.337255, 48.882422 ] }, "name": "PIGALLE", "time": 994 }, "details": [ { "distance": 48.3, "relativeDirection": "DEPART", "streetName": "Boulevard de Clichy", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.336355924369407, 48.88252345518127 ] } }, { "distance": 14.42, "relativeDirection": "LEFT", "streetName": "Place Pigalle", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3369571000000002, 48.8823438 ] } }, { "distance": 12.13, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3370452, 48.882459600000004 ] } }, { "distance": 5.21, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3372069, 48.882442100000006 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.33635, 48.88252 ], [ 2.33676, 48.8824 ], [ 2.33684, 48.88238 ], [ 2.33695, 48.88234 ], [ 2.33698, 48.88238 ], [ 2.337, 48.8824 ], [ 2.33704, 48.88245 ], [ 2.3371, 48.88244 ], [ 2.3372, 48.88244 ], [ 2.3372, 48.88243 ], [ 2.33725, 48.88242 ] ] }, "duration": 1, "distance": 80.05, "mode": 2, "time": 993 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.337255, 48.882422 ] }, "name": "Pigalle", "time": 997 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344164, 48.882872 ] }, "name": "Anvers", "time": 999 }, "route": { "color": "003CA6", "agency": { "name": "METRO", "url": "http://www.navitia.io/", "id": "439" }, "text_color": "ececfb", "headsign": "Nation", "direction": 1, "long_name": "Nation - Porte Dauphine", "short_name": "2", "id": 87326, "type": 1 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.33725, 48.88242 ], [ 2.34416, 48.88287 ] ] }, "duration": 2, "stops": [], "mode": 4, "time": 994 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344164, 48.882872 ] }, "name": "ANVERS", "time": 1001 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.345924, 48.878377 ] }, "name": "", "time": 1008 }, "details": [ { "distance": 22.84, "relativeDirection": "DEPART", "streetName": "Boulevard Marguerite de Rochechouart", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.34419313074315, 48.88280891124018 ] } }, { "distance": 124.43, "relativeDirection": "RIGHT", "streetName": "Place d'Anvers", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3444918, 48.882868900000005 ] } }, { "distance": 16.73, "relativeDirection": "CONTINUE", "streetName": "Rue d'Anvers", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3449758000000003, 48.881796300000005 ] } }, { "distance": 22.45, "relativeDirection": "RIGHT", "streetName": "Avenue Trudaine", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.345051, 48.8816542 ] } }, { "distance": 259.41, "relativeDirection": "LEFT", "streetName": "Rue Turgot", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3447579000000003, 48.881594 ] } }, { "distance": 74, "relativeDirection": "RIGHT", "streetName": "Rue Marguerite de Rochechouart", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.345762, 48.8793566 ] } }, { "distance": 45.93, "relativeDirection": "LEFT", "streetName": "Rue Louise-Émilie de La Tour d'Auvergne", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3453181, 48.878758600000005 ] } }, { "distance": 9.66, "relativeDirection": "HARD_RIGHT", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3459042, 48.8786107 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34419, 48.8828 ], [ 2.34445, 48.88286 ], [ 2.34449, 48.88286 ], [ 2.3445, 48.88284 ], [ 2.34452, 48.88279 ], [ 2.34455, 48.88273 ], [ 2.34457, 48.88267 ], [ 2.34467, 48.88243 ], [ 2.34484, 48.88207 ], [ 2.34492, 48.88189 ], [ 2.34497, 48.88179 ], [ 2.345, 48.88173 ], [ 2.34505, 48.88165 ], [ 2.34475, 48.88159 ], [ 2.3448, 48.88149 ], [ 2.34556, 48.87982 ], [ 2.34558, 48.87976 ], [ 2.3456, 48.87972 ], [ 2.34573, 48.87941 ], [ 2.34576, 48.87935 ], [ 2.34546, 48.87895 ], [ 2.34541, 48.87888 ], [ 2.34535, 48.8788 ], [ 2.34531, 48.87875 ], [ 2.34539, 48.87874 ], [ 2.34577, 48.87864 ], [ 2.3459, 48.87861 ], [ 2.34578, 48.87857 ] ] }, "duration": 8, "distance": 575.44, "mode": 2, "time": 1001 } ] } }, { "id": "id_1", "typeid": "typeid_1", "geometry": { "type": "Point", "coordinates": [ 2.3459243774414067, 48.87837689194781 ] }, "dep_time": 1041, "arr_time": 1011, "duration": 30, "itinerary": { "mode": 4, "distance": 5446, "duration": 19, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.34578, 48.87857 ], [ 2.34533, 48.87843 ], [ 2.34502, 48.87834 ], [ 2.34472, 48.8782 ], [ 2.34446, 48.87808 ] ], [ [ 2.34443, 48.87811 ], [ 2.34135, 48.87669 ], [ 2.339501398685593, 48.87538099042061 ] ], [ [ 2.339501398685593, 48.87538099042061 ], [ 2.3395, 48.87538 ], [ 2.338353379777767, 48.87251843474973 ] ], [ [ 2.338353379777767, 48.87251843474973 ], [ 2.33835, 48.87251 ], [ 2.333763765459645, 48.87294963904091 ] ], [ [ 2.333763765459645, 48.87294963904091 ], [ 2.33376, 48.87295 ], [ 2.333447381638011, 48.8729143321332 ] ], [ [ 2.333447381638011, 48.8729143321332 ], [ 2.33078, 48.87261 ], [ 2.330579261765167, 48.87224989705965 ] ], [ [ 2.330579261765167, 48.87224989705965 ], [ 2.32947, 48.87026 ] ], [ [ 2.344435, 48.878117 ], [ 2.341356, 48.876698 ], [ 2.339503, 48.875385 ], [ 2.339501398685593, 48.87538099042061 ] ], [ [ 2.339501398685593, 48.87538099042061 ], [ 2.338358, 48.872518 ], [ 2.338353379777767, 48.87251843474973 ] ], [ [ 2.338353379777767, 48.87251843474973 ], [ 2.333767, 48.87295 ], [ 2.333763765459645, 48.87294963904091 ] ], [ [ 2.333763765459645, 48.87294963904091 ], [ 2.333447381638011, 48.8729143321332 ] ], [ [ 2.333447381638011, 48.8729143321332 ], [ 2.330783, 48.872617 ], [ 2.330579261765167, 48.87224989705965 ] ], [ [ 2.330579261765167, 48.87224989705965 ], [ 2.329476, 48.870262 ] ], [ [ 2.32951, 48.87017 ], [ 2.32945, 48.87016 ], [ 2.32938, 48.87015 ], [ 2.32905, 48.87009 ], [ 2.32902, 48.87009 ], [ 2.32895, 48.87008 ], [ 2.32823, 48.86996 ], [ 2.32808, 48.86994 ], [ 2.32799, 48.86992 ], [ 2.32813, 48.86982 ], [ 2.32816, 48.8698 ], [ 2.32822, 48.86975 ], [ 2.32861, 48.86948 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.345924, 48.878377 ] }, "name": "", "time": 1046 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344435, 48.878117 ] }, "name": "MAUBEUGE - ROCHECHOUART", "time": 1047 }, "details": [ { "distance": 110.96, "relativeDirection": "DEPART", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.345784443922041, 48.87857400868675 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34578, 48.87857 ], [ 2.34533, 48.87843 ], [ 2.34502, 48.87834 ], [ 2.34472, 48.8782 ], [ 2.34446, 48.87808 ] ] }, "duration": 1, "distance": 110.96, "mode": 2, "time": 1046 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344435, 48.878117 ] }, "name": "Maubeuge - Rochechouart", "time": 1048 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.329476, 48.870262 ] }, "name": "Capucines - Caumartin", "time": 1063 }, "route": { "color": "FF82B4", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "442" }, "text_color": "000000", "headsign": "CONCORDE", "direction": 0, "long_name": "Concorde - Aubervilliers/France-Asie", "short_name": "45", "id": 87035, "type": 3 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.34443, 48.87811 ], [ 2.34135, 48.87669 ], [ 2.3395, 48.87538 ], [ 2.33835, 48.87251 ], [ 2.33376, 48.87295 ], [ 2.33078, 48.87261 ], [ 2.32947, 48.87026 ] ] }, "duration": 15, "stops": [ { "code": "", "name": "Châteaudun - Lamartine", "id": 1791661, "geometry": { "type": "Point", "coordinates": [ 2.341356, 48.876698 ] } }, { "code": "", "name": "Carrefour de Châteaudun", "id": 1791662, "geometry": { "type": "Point", "coordinates": [ 2.339503, 48.875385 ] } }, { "code": "", "name": "Le Peletier - Haussmann", "id": 1791663, "geometry": { "type": "Point", "coordinates": [ 2.338358, 48.872518 ] } }, { "code": "", "name": "Chaussée d'Antin", "id": 1791664, "geometry": { "type": "Point", "coordinates": [ 2.333767, 48.87295 ] } }, { "code": "", "name": "Opéra - Scribe", "id": 1787806, "geometry": { "type": "Point", "coordinates": [ 2.330783, 48.872617 ] } } ], "mode": 4, "time": 1047 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.329476, 48.870262 ] }, "name": "CAPUCINES - CAUMARTIN", "time": 1063 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.328758, 48.86957 ] }, "name": "", "time": 1065 }, "details": [ { "distance": 96.51, "relativeDirection": "DEPART", "streetName": "Boulevard des Capucines", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3295107655573073, 48.87017518126677 ] } }, { "distance": 36.44, "relativeDirection": "CONTINUE", "streetName": "Place Henri Salvador", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3282308, 48.86996430000001 ] } }, { "distance": 48.79, "relativeDirection": "CONTINUE", "streetName": "Rue des Capucines", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3281617000000003, 48.869805400000004 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32951, 48.87017 ], [ 2.32945, 48.87016 ], [ 2.32938, 48.87015 ], [ 2.32905, 48.87009 ], [ 2.32902, 48.87009 ], [ 2.32895, 48.87008 ], [ 2.32823, 48.86996 ], [ 2.32808, 48.86994 ], [ 2.32799, 48.86992 ], [ 2.32813, 48.86982 ], [ 2.32816, 48.8698 ], [ 2.32822, 48.86975 ], [ 2.32861, 48.86948 ] ] }, "duration": 2, "distance": 181.75, "mode": 2, "time": 1063 } ] } }, { "id": "id_2", "typeid": "typeid_2", "geometry": { "type": "Point", "coordinates": [ 2.328758239746094, 48.869570326277575 ] }, "dep_time": 1110, "arr_time": 1080, "duration": 30, "itinerary": { "mode": 4, "distance": 4943, "duration": 15, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.32861, 48.86948 ], [ 2.32822, 48.86975 ], [ 2.32816, 48.8698 ], [ 2.32813, 48.86982 ], [ 2.32799, 48.86992 ], [ 2.32782, 48.86989 ], [ 2.32765, 48.86987 ], [ 2.32664, 48.8697 ], [ 2.32643, 48.86966 ], [ 2.32586, 48.86957 ], [ 2.3258, 48.86959 ], [ 2.32552, 48.86956 ], [ 2.32525, 48.86952 ], [ 2.32521, 48.86951 ], [ 2.32512, 48.8695 ], [ 2.32504, 48.86951 ], [ 2.32501, 48.86951 ], [ 2.32475, 48.86949 ], [ 2.32473721913712, 48.86950917129432 ] ], [ [ 2.32473721913712, 48.86950917129432 ], [ 2.324733035227807, 48.86951544715829 ] ], [ [ 2.324733035227807, 48.86951544715829 ], [ 2.32473, 48.86952 ] ], [ [ 2.32468, 48.8695 ], [ 2.32473721913712, 48.86950917129432 ] ], [ [ 2.32473721913712, 48.86950917129432 ], [ 2.331616127269917, 48.87061174805886 ] ], [ [ 2.331616127269917, 48.87061174805886 ], [ 2.33173, 48.87063 ], [ 2.331971636394651, 48.870670469665114 ] ], [ [ 2.331971636394651, 48.870670469665114 ], [ 2.33991, 48.872 ], [ 2.34289, 48.87157 ] ], [ [ 2.32468, 48.869507 ], [ 2.324733035227807, 48.86951544715829 ] ], [ [ 2.324733035227807, 48.86951544715829 ], [ 2.331616127269917, 48.87061174805886 ] ], [ [ 2.331616127269917, 48.87061174805886 ], [ 2.331737, 48.870631 ], [ 2.331971636394651, 48.870670469665114 ] ], [ [ 2.331971636394651, 48.870670469665114 ], [ 2.339911, 48.872006 ], [ 2.342895, 48.871575 ] ], [ [ 2.34287, 48.87151 ], [ 2.34196, 48.87166 ], [ 2.34186, 48.87168 ], [ 2.34182, 48.87153 ], [ 2.34177, 48.87137 ], [ 2.34176, 48.87133 ], [ 2.34175, 48.8713 ], [ 2.34174, 48.87127 ], [ 2.34173, 48.87123 ], [ 2.34173, 48.8712 ], [ 2.34172, 48.87117 ], [ 2.34171, 48.87113 ], [ 2.3417, 48.8711 ], [ 2.34169, 48.87107 ], [ 2.34168, 48.87103 ], [ 2.34167, 48.871 ], [ 2.34166, 48.87097 ], [ 2.34164, 48.8709 ], [ 2.34164, 48.87089 ], [ 2.34166, 48.87088 ], [ 2.34198, 48.87084 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.328758, 48.86957 ] }, "name": "", "time": 1116 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.32468, 48.869507 ] }, "name": "MADELEINE", "time": 1120 }, "details": [ { "distance": 48.79, "relativeDirection": "DEPART", "streetName": "Rue des Capucines", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.328612351411024, 48.869481863002164 ] } }, { "distance": 31.02, "relativeDirection": "CONTINUE", "streetName": "Place Henri Salvador", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3281617000000003, 48.869805400000004 ] } }, { "distance": 202.81, "relativeDirection": "CONTINUE", "streetName": "Boulevard de la Madeleine", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3278218, 48.8698988 ] } }, { "distance": 31.42, "relativeDirection": "SLIGHTLY_RIGHT", "streetName": "piste cyclable", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3251285, 48.8695055 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32861, 48.86948 ], [ 2.32822, 48.86975 ], [ 2.32816, 48.8698 ], [ 2.32813, 48.86982 ], [ 2.32799, 48.86992 ], [ 2.32782, 48.86989 ], [ 2.32765, 48.86987 ], [ 2.32664, 48.8697 ], [ 2.32643, 48.86966 ], [ 2.32586, 48.86957 ], [ 2.3258, 48.86959 ], [ 2.32552, 48.86956 ], [ 2.32525, 48.86952 ], [ 2.32521, 48.86951 ], [ 2.32512, 48.8695 ], [ 2.32504, 48.86951 ], [ 2.32501, 48.86951 ], [ 2.32475, 48.86949 ], [ 2.32473, 48.86952 ] ] }, "duration": 4, "distance": 314.05, "mode": 2, "time": 1116 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.32468, 48.869507 ] }, "name": "Madeleine", "time": 1123 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342895, 48.871575 ] }, "name": "Grands Boulevards", "time": 1127 }, "route": { "color": "E19BDF", "agency": { "name": "METRO", "url": "http://www.navitia.io/", "id": "439" }, "text_color": "000000", "headsign": "Pointe du Lac", "direction": 0, "long_name": "Balard - Créteil-Pointe du Lac", "short_name": "8", "id": 87332, "type": 1 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.32468, 48.8695 ], [ 2.33173, 48.87063 ], [ 2.33991, 48.872 ], [ 2.34289, 48.87157 ] ] }, "duration": 4, "stops": [ { "code": "", "name": "Opéra", "id": 1782841, "geometry": { "type": "Point", "coordinates": [ 2.331737, 48.870631 ] } }, { "code": "", "name": "Richelieu-Drouot", "id": 1783026, "geometry": { "type": "Point", "coordinates": [ 2.339911, 48.872006 ] } } ], "mode": 4, "time": 1120 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342895, 48.871575 ] }, "name": "GRANDS BOULEVARDS", "time": 1129 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342319, 48.871038 ] }, "name": "", "time": 1131 }, "details": [ { "distance": 75.97, "relativeDirection": "DEPART", "streetName": "Boulevard Montmartre", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.342871184765315, 48.87151450128451 ] } }, { "distance": 89.58, "relativeDirection": "LEFT", "streetName": "Passage des Panoramas", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3418652, 48.871684800000004 ] } }, { "distance": 25.5, "relativeDirection": "LEFT", "streetName": "Galerie des Variétés", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3416411000000004, 48.8708928 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34287, 48.87151 ], [ 2.34196, 48.87166 ], [ 2.34186, 48.87168 ], [ 2.34182, 48.87153 ], [ 2.34177, 48.87137 ], [ 2.34176, 48.87133 ], [ 2.34175, 48.8713 ], [ 2.34174, 48.87127 ], [ 2.34173, 48.87123 ], [ 2.34173, 48.8712 ], [ 2.34172, 48.87117 ], [ 2.34171, 48.87113 ], [ 2.3417, 48.8711 ], [ 2.34169, 48.87107 ], [ 2.34168, 48.87103 ], [ 2.34167, 48.871 ], [ 2.34166, 48.87097 ], [ 2.34164, 48.8709 ], [ 2.34164, 48.87089 ], [ 2.34166, 48.87088 ], [ 2.34198, 48.87084 ] ] }, "duration": 3, "distance": 191.05, "mode": 2, "time": 1129 } ] } }, { "id": "", "typeid": "", "geometry": { "type": "Point", "coordinates": [ 2.342319488525391, 48.871038194878636 ] }, "dep_time": null, "arr_time": 1135, "duration": null, "itinerary": null } ] } ] }

Le Magic Tour Externe permet d'organiser une tournée touristique en fonction d'une liste de lieux à visiter.

Requète HTTP

GET https://api.visitmoov.com/api/v1/magic_tour_extern/

Paramètres de requête

Paramètre Type Contrainte Description
lang STRING OPTIONNEL Code Alpha-2 de la langue. Défaut: fr
dep_lat FLOAT REQUIS Latitude de départ (WGS84)
dep_lng FLOAT REQUIS Longitude de départ (WGS84)
arr_lat FLOAT REQUIS Latitude d'arrivée (WGS84)
arr_lng FLOAT REQUIS Longitude d'arrivée (WGS84)
dep_date STRING DATETIME REQUIS1 Date et Heure de départ (FORMAT: "aaaa-mm-jj HH:MM" / MIN: maintenant / DEFAUT: maintenant)
arr_date STRING DATETIME REQUIS1 Date et heure d'arrivée (FORMAT: "aaaa-mm-jj HH:MM" / MIN: maintenant)
visits JSON ARRAY REQUIS2 Liste des visites pouvant être dans la visite optimisée (MIN : 1 / MAX : 100)
profile STRING JSON OPTIONNEL3 Profil de tournée optimisé
tr_mode INTEGER OPTIONNEL Mode de transport, les valeurs possibles sont 1, 2, 3 et 4.
1: Voiture,
2: Marche à pied,
3: Vélo,
4: Transport en commun Défaut: 4
duration INTEGER OPTIONNEL Durée max du jour de visite (UNIT: minutes / MAX: 1440) Défaut: 420
distance INTEGER OPTIONNEL Distance max du jour de visite (UNITE: mètres / MAX: 50000) Défaut: 25000
budget INTEGER OPTIONNEL Budget
accessibility INTEGER OPTIONNEL Accessibilité des données (VALEURS: 0 ou 1) Défaut: 0
weather INTEGER OPTIONNEL Eviter les visites extérieures par mauvais temps (VALEURS : 0 pour faux ou 1 pour vrai) Défaut: 0
crowded_areas JSON ARRAY OPTIONNEL4 Permet d'éviter les visites dans les zones d'affluence
matrix_url STRING OPTIONNEL5 URL de votre calculateur de matrice
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
transit_min_dist INTEGER OPTIONNEL Distance minimale entre deux lieux afin de calculer l'itinéraire en transport en commun. Défaut: 500
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": [ { "date": "String (Date format YYYY-MM-DD)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "budget": { "min": "Float", "max": "Float" }, "steps": [ { "id": "String", "typeid": "String", "geometry": "Object (Geojson)", "dep_time": "Integer (minutes)", "arr_time": "Integer (minutes)", "duration": "Integer (minutes)", "itinerary": { "mode": "Integer (4)", "distance": "Integer (meters)", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "Accès Parking Villiers", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Float (meters)", "mode": "Integer (1,2,3)", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer (4)", "time": "Integer (minutes)" } ] } }, { "id": "String", "typeid": "String", "geometry": "Object (Geojson)", "dep_time": "Integer (minutes)", "arr_time": "Integer (minutes)", "duration": "Integer (minutes)", "itinerary": { "mode": "Integer (1,2,3)", "distance": "Integer (meters)", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "String", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "Integer (1,2,3)", "name": "String" } ] } } ] } ] }

Erreurs

Code Message Description
dep_lat is required dep_lat est requis
dep_lng is required dep_lng est requis
arr_lat is required arr_lat est requis
arr_lng is required arr_lng est requis
visits is required visits est requis
at least dep_date or arr_date is required Données manquantes, au moins dep_date ou arr_date est requis.
dep_lat must be a float dep_lat doit être un FLOAT
dep_lng must be a float dep_lng doit être un FLOAT
arr_lat must be a float arr_lat doit être un FLOAT
arr_lng must be a float arr_lng doit être un FLOAT
dep_lat must be between -90.0 and 90.0 dep_lat doit être compris entre -90,0 et 90,0
arr_lat must be between -90.0 and 90.0 arr_lat doit être compris entre -90,0 et 90,0
dep_lng must be between -180.0 and 180.0 dep_lng doit être compris entre -180,0 et 180,0
arr_lng must be between -180.0 and 180.0 arr_lng doit être compris entre -180,0 et 180,0
dep_date or arr_date bad format Format incorrect pour les données dep_date ou arr_date.
visits non compliant Les visites ont un mauvais format JSON.
visits is not an array Les visites ne sont pas un tableau.
must be between 1 and 100 Le nombre de visites doit être entre 1 et 100
bad or missing visit id at index [index] La donnée visitid est mauvaise ou manquante à l'index indiqué.
visits at index [index_1] and [index_2] have the same id Deux visites ont le même id aux index indiqués.
bad or missing visit typeid at index [index] Le typeid de la visite à l'index indiqué est mauvais ou manquant.
bad or missing visit [field] at index [index] Le champ indiqué de la visite est mauvais ou manquant à l'index indiqué.
bad visit [field] at index [index] Le champ indiqué de la visite est mauvais à l'index indiqué.
visits openings at index [index] is not an array Les ouvertures de visites à l'index indiqué ne sont pas un tableau.
bad or missing starttime in opening at index [index_1] of visit at index [index_2] L'heure de début d'ouverture à l'index 1 de la visite à l'index 2 est mauvaise ou manquante.
starttime is after endtime in opening at index [index_1] of visit at index [index_2] L'heure de début d'ouverture est postérieure à l'heure de fin à l'index 1 de la visite à l'index 2.
day in opening at index [index_1] of visit at index [index_2] must be greater than 0 and less than [nb_tours] Le jour d'ouverture à l'indice 1 de visite à l'indice 2 doit être supérieure à 0 et inférieure à nb_tours indiqué.
duration must be between 0 and 1440 La durée doit être comprise entre 0 et 1440.
distance must be between 0 and 50000 La distance doit être comprise entre 0 et 50000.
budget must be greater than 0 Le budget doit être supérieur à 0.
accessibility must be 0 or 1 L'accessibilité doit être 0 ou 1.
weather must be 0 or 1 La météo doit être 0 ou 1.
profile non compliant Le profil a un mauvais format JSON.
bad weight of typeid [typeid] Mauvais poids du typeid indiqué.
sum of all weight is greater than 100 La somme de tous les poids est supérieure à 100.
crowded_areas non compliant crowded_areas ont un mauvais format JSON.
crowded_areas is not an array crowded_areas is n'est pas un ARRAY.
at least "coords", "starttime" or "endtime" is required in crowded_areas at index [index] Au minimum "coords", "starttime" ou "endtime" est requis dans crowded_areas à l'index [index]
starttime bad format in crowded_area at index [index] Format de starttime incorrect dans crowded_area à l'index [index]
endtime bad format in crowded_area at index [index] Format de endtime incorrect dans crowded_area à l'index [index]
starttime is after endtime in crowded_area at index [index] starttime est après endtime dans crowded_area à l'index [index]
coords in crowded_areas at index [index] must be an array coords dans crowded_areas à l'index [index] doit être un ARRAY.
data at index [index_1] in coords in crowded_areas at index [index_2] must be an array with a size of 2 Données at index [index_1] dans coords dans crowded_areas à l'index [index_2] doit être un ARRAY avec une taille de 2.
first data at index [index_1] in coords in crowded_areas at index [index_2] must be a float Première données à l'index [index_1] dans coords dans crowded_areas à l'index [index_2] doit être un FLOAT.
second data at index [index_1] in coords in crowded_areas at index [index_2] must be a float Seconde données à l'index [index_1] dans coords dans crowded_areas à l'index [index_2] doit être un FLOAT.
bad_departure Mauvaise valeur tour departure.
bad_arrival Mauvaise valeur tour arrival.
bad_time Mauvaise valeur tour time.
bad_tour_maxtime Mauvaise valeur maxtime (Doit être compris entre 0 et 1440 inclus).
bad_tour_maxdist Mauvaise valeur maxdist (Doit être un entier >= 0).
bad_tour_arrive_at Mauvaise valeur arrive_at (Doit être 0 ou 1).
bad_tour_accessibility Mauvaise valeur accessibility (Doit être 0 ou 1).
bad_tour_budget Mauvaise valeur budget (Doit être un entier >= 0).
bad_tour_with_child Mauvaise valeur with_child (Doit être 0 ou 1).
bad_tour_with_hotel Mauvaise valeur with_hotel (Doit être 0 ou 1).
bad_tour_nb_person Mauvaise valeur nb_person (Doit être un entier >= 1).
bad_tour_modec Mauvaise valeur modec (Doit être compris entre 1 et 6 inclus).
bad_tour_transit Mauvaise valeur transit (Doit être 0 ou 1).
bad_departure_isinstance Mauvaise valeur tour departure.
bad_arrival_isinstance Mauvaise valeur tour arrival.
bad_tour_add_pause Pause non valide, n'a pas pu être ajoutée.
bad_tour_add_visit Visite non valide, n'a pas pu être ajoutée.
bad_influences Mauvaise influences (etype_einflu).
calc_tour_key not found Champ calc_tour_key manquant.
error_matrix_distancer Erreur avec le distancier de la matrice
error_matrix_xml Erreur, la matrice est inexistante
no_matrix_data Erreur, aucune donnée de matrice
not_enough_time Il n'y a pas assez de temps pour faire un tour avec ces paramètres
tour is undefined Le tour est indéfini
Optimisation Request Error :[ERROR] Erreur de la requête d'optimisation:[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Erreur serveur inaccessible ou [ERROR] à l'adresse [URL]
params_not_defined Erreur d'optimisation de trajet: paramètres non définies
M1001: [ERROR] Erreur d'optimisation de trajet: M1001: [ERROR]
M1002: [ERROR] Erreur d'optimisation de trajet: M1002: [ERROR]
unknow method Erreur d'optimisation de trajet: méthode inconnue
unknown matrix method Erreur d'optimisation de trajet: méthode de matrice inconnue

Vérification d'ids

Exemple de requête:

https://api.visitmoov.com/api/v1/util_check_list_ids/?api_key=API_KEY&/?ids_list=ad7c8514fe20c7f101096d5548a2f08135f74428&ids_to_check=ad7c8514fe20c7f101096d5548a2f08135f74428%2Cb035989af12130854c722705bc3e397242fad4ff

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "ad7c8514fe20c7f101096d5548a2f08135f74428": 1, "b035989af12130854c722705bc3e397242fad4ff": 0 } }

Requête utilitaire permettant de vérifier la présence d'identifiants (ids_to_check) dans une autre liste d'identifiants (ids_list). Le même identifiant généré deux fois étant différent. Il est nécésaire de comparer des identifiants de même catégorie (exemple: lieux avec des lieux, hôtels avec des hôtels...). La réponse contient une liste d'id vérifié. La valeur 1 est pour les ids dans la liste et 0 pour ceux qu'il n'y sont pas.

Requète HTTP

GET https://api.visitmoov.com/api/v1/util_check_list_ids/

Paramètres de requête

Paramètre Type Contrainte Description
ids_list STRING REQUIS Liste d'ids (ids séparé par des virgules)
ids_to_check STRING REQUIS Liste d'ids à vérifier s'ils sont présent dans ids_list (ids séparé par des virgules)

Erreurs

Code Message Description
missing_ids_list ids_list manquant
missing_ids_to_check ids_to_check manquant
ids_list_must_be_string ids_list doit être une chaine de caractère
ids_to_check_must_be_string ids_to_check doit être une chaine de caractère
ids_list_invalid_id: [id] L'id [id] est invalide dans ids_list
ids_to_check_invalid_id: [id] L'id [id] est invalide dans ids_to_check

Transit

Recherche d'itinéraire

Exemple de requête:

https://api.visitmoov.com/api/v1/transit/?api_key=API_KEY&dep_lat=48.8695364&dep_lng=2.3305613&arr_lat=48.8675364&arr_lng=2.3305613&date=2021-10-11+09%3A00&tr_mode=4

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38962 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "PORTE D'ITALIE", "time": 39299 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 257.86, "relativeDirection": "RIGHT", "streetName": "Avenue d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 20.81, "relativeDirection": "LEFT", "streetName": "Boulevard Masséna", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3594606000000002, 48.819145000000006 ] } }, { "distance": 17.43, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3597443, 48.819149 ] } }, { "distance": 12.69, "relativeDirection": "RIGHT", "streetName": "Porte d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.359886, 48.819085 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@A", "duration": 337, "distance": 397.31, "mode": 2, "time": 38962 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "Porte d'Italie", "time": 39300 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "Porte de Vanves", "time": 40140 }, "route": { "color": "FF7E2E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PONT DU GARIGLIANO - HOPITAL EUROPEEN G. POMPIDOU", "direction": 0, "long_name": "Pont du Garigliano - Hôpital Européen G. Pompidou - Porte de Vincennes", "short_name": "T3a", "id": 131377, "type": 0 }, "geometry": "c~}hHc}kMoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@", "duration": 840, "stops": [ { "code": "", "name": "Poterne des Peupliers", "id": 2649838, "geometry": { "type": "Point", "coordinates": [ 2.350057, 48.820737 ] } }, { "code": "", "name": "Stade Charléty - Porte de Gentilly", "id": 2661861, "geometry": { "type": "Point", "coordinates": [ 2.345714, 48.819535 ] } }, { "code": "", "name": "Cité Universitaire", "id": 2648105, "geometry": { "type": "Point", "coordinates": [ 2.338116, 48.82051 ] } }, { "code": "", "name": "Montsouris", "id": 2646182, "geometry": { "type": "Point", "coordinates": [ 2.33339, 48.821545 ] } }, { "code": "", "name": "Porte d'Orléans", "id": 2652112, "geometry": { "type": "Point", "coordinates": [ 2.324922, 48.82335 ] } }, { "code": "", "name": "Jean Moulin", "id": 2656840, "geometry": { "type": "Point", "coordinates": [ 2.318829, 48.824764 ] } }, { "code": "", "name": "Didot", "id": 2633662, "geometry": { "type": "Point", "coordinates": [ 2.313364, 48.825974 ] } } ], "mode": 4, "time": 39299 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "PORTE DE VANVES", "time": 40140 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "PORTE DE VANVES", "time": 40231 }, "details": [ { "distance": 23.79, "relativeDirection": "DEPART", "streetName": "Porte de Vanves", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.306691586483762, 48.82746985821627 ] } }, { "distance": 26.23, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3064008, 48.8275164 ] } }, { "distance": 67.03, "relativeDirection": "RIGHT", "streetName": "Boulevard Brune", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3061951, 48.8274163 ] } } ], "geometry": "sr_iHwoaM?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@", "duration": 91, "distance": 117.06, "mode": 2, "time": 40140 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "Porte de Vanves", "time": 40680 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "Guy Môquet", "time": 42000 }, "route": { "color": "6EC4E8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "Saint-Denis-Université", "direction": 1, "long_name": "Châtillon-Montrouge - Saint-Denis - Université", "short_name": "13", "id": 130475, "type": 1 }, "geometry": "qs_iHigaM{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJ", "duration": 1320, "stops": [ { "code": "", "name": "Plaisance", "id": 2653107, "geometry": { "type": "Point", "coordinates": [ 2.31386, 48.83175 ] } }, { "code": "", "name": "Pernety", "id": 2632677, "geometry": { "type": "Point", "coordinates": [ 2.318394, 48.834079 ] } }, { "code": "", "name": "Gaîté", "id": 2642115, "geometry": { "type": "Point", "coordinates": [ 2.322464, 48.838545 ] } }, { "code": "", "name": "Montparnasse Bienvenue", "id": 2630289, "geometry": { "type": "Point", "coordinates": [ 2.320984, 48.842314 ] } }, { "code": "", "name": "Duroc", "id": 2642506, "geometry": { "type": "Point", "coordinates": [ 2.316521, 48.84701 ] } }, { "code": "", "name": "Saint-François-Xavier", "id": 2662008, "geometry": { "type": "Point", "coordinates": [ 2.314407, 48.851279 ] } }, { "code": "", "name": "Varenne", "id": 2639766, "geometry": { "type": "Point", "coordinates": [ 2.315114, 48.856625 ] } }, { "code": "", "name": "Invalides", "id": 2647509, "geometry": { "type": "Point", "coordinates": [ 2.31454, 48.860849 ] } }, { "code": "", "name": "Champs-Élysées - Clemenceau", "id": 2647412, "geometry": { "type": "Point", "coordinates": [ 2.314017, 48.867501 ] } }, { "code": "", "name": "Miromesnil", "id": 2634120, "geometry": { "type": "Point", "coordinates": [ 2.316011, 48.873448 ] } }, { "code": "", "name": "Saint-Lazare", "id": 2663562, "geometry": { "type": "Point", "coordinates": [ 2.325488, 48.875381 ] } }, { "code": "", "name": "Liège", "id": 2635831, "geometry": { "type": "Point", "coordinates": [ 2.326853, 48.879535 ] } }, { "code": "", "name": "Place de Clichy", "id": 2636934, "geometry": { "type": "Point", "coordinates": [ 2.327398, 48.883738 ] } }, { "code": "", "name": "La Fourche", "id": 2641460, "geometry": { "type": "Point", "coordinates": [ 2.325687, 48.887425 ] } } ], "mode": 4, "time": 40231 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "GUY MÔQUET", "time": 42121 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "name": "", "time": 42262 }, "details": [ { "distance": 20.42, "relativeDirection": "DEPART", "streetName": "Rue Championnet", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3274727260616355, 48.89301890661583 ] } }, { "distance": 152.53, "relativeDirection": "RIGHT", "streetName": "Rue Marcadet", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.327732, 48.893087200000004 ] } } ], "geometry": "glliHwqeMA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]", "duration": 141, "distance": 172.94, "mode": 2, "time": 42121 } ], "duration": 3300, "departure": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "time": 38962 }, "arrival": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "time": 42262 }, "distance": 20332.87, "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@AoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]" }, { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38398 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.358539, 48.822168 ] }, "name": "MAISON BLANCHE", "time": 38759 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 162.8, "relativeDirection": "LEFT", "streetName": "Avenue d'Italie", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 9.01, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3583096, 48.8228513 ] } }, { "distance": 9.32, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3581889, 48.8228354 ] } }, { "distance": 48.31, "relativeDirection": "RIGHT", "streetName": "tunnel", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3581758, 48.822876400000006 ] } }, { "distance": 29.12, "relativeDirection": "LEFT", "streetName": "escalier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3583483000000003, 48.82287770000001 ] } }, { "distance": 60.25, "relativeDirection": "CONTINUE", "streetName": "Villejuif-Louis Aragon - Mairie d'Ivry", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3583934, 48.8227363 ] } }, { "distance": 7.58, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3585625, 48.822206 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@MBG@SDA@o@Lg@JYFYFc@JC?MBA@UDKBMDBVA?E@IBG_ADAFA?DBVTGDAhBa@?DB?BAA?", "duration": 361, "distance": 414.9, "mode": 2, "time": 38398 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.358539, 48.822168 ] }, "name": "Maison Blanche", "time": 38880 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334418, 48.86588 ] }, "name": "Pyramides", "time": 39900 }, "route": { "color": "FA9ABA", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "La Courneuve-8-Mai-1945", "direction": 0, "long_name": "La Courneuve - 8 Mai 1945 - Mairie d'Ivry", "short_name": "7", "id": 130179, "type": 1 }, "geometry": "qq~hH{skMyWrFy`@lKcZnPcZrDgNiBqSoOe`@ak@uL|ZyTrx@_Izf@kYh\\mRtO", "duration": 1020, "stops": [ { "code": "", "name": "Tolbiac", "id": 2631373, "geometry": { "type": "Point", "coordinates": [ 2.357318, 48.826137 ] } }, { "code": "", "name": "Place d'Italie", "id": 2630134, "geometry": { "type": "Point", "coordinates": [ 2.355331, 48.831549 ] } }, { "code": "", "name": "Les Gobelins", "id": 2635299, "geometry": { "type": "Point", "coordinates": [ 2.352531, 48.835892 ] } }, { "code": "", "name": "Censier - Daubenton", "id": 2636082, "geometry": { "type": "Point", "coordinates": [ 2.351627, 48.840226 ] } }, { "code": "", "name": "Place Monge", "id": 2637118, "geometry": { "type": "Point", "coordinates": [ 2.352155, 48.842666 ] } }, { "code": "", "name": "Jussieu", "id": 2656359, "geometry": { "type": "Point", "coordinates": [ 2.354798, 48.845963 ] } }, { "code": "", "name": "Sully - Morland", "id": 2642317, "geometry": { "type": "Point", "coordinates": [ 2.361853, 48.851271 ] } }, { "code": "", "name": "Pont Marie (Cité des Arts)", "id": 2661721, "geometry": { "type": "Point", "coordinates": [ 2.357377, 48.85346 ] } }, { "code": "", "name": "Châtelet", "id": 2658309, "geometry": { "type": "Point", "coordinates": [ 2.348161, 48.856953 ] } }, { "code": "", "name": "Pont Neuf", "id": 2663322, "geometry": { "type": "Point", "coordinates": [ 2.341777, 48.858546 ] } }, { "code": "", "name": "Palais Royal - Musée du Louvre", "id": 2654638, "geometry": { "type": "Point", "coordinates": [ 2.337087, 48.862765 ] } } ], "mode": 4, "time": 38759 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334418, 48.86588 ] }, "name": "PYRAMIDES", "time": 39900 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334443, 48.866024 ] }, "name": "PYRAMIDES", "time": 39914 }, "details": [ { "distance": 14.94, "relativeDirection": "DEPART", "streetName": "Avenue de l'Opéra", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3343532230484505, 48.865868556387596 ] } } ], "geometry": "wbgiHc}fMBLYJE]", "duration": 14, "distance": 14.94, "mode": 2, "time": 39900 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334443, 48.866024 ] }, "name": "Pyramides", "time": 40260 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327487, 48.89275 ] }, "name": "Guy Môquet", "time": 41460 }, "route": { "color": "82DC73", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PORTE DE SAINT-OUEN - HOPITAL BICHAT", "direction": 0, "long_name": "Stade Charléty - Porte de Gentilly - Porte de Saint-Ouen - Hôpital Bichat", "short_name": "21", "id": 130839, "type": 3 }, "geometry": "scgiHg}fMmLvD{ItCmJHkMpGgJXiYjLyPzFcN|EkP|C_LkCaOmD", "duration": 1200, "stops": [ { "code": "", "name": "Petits Champs - Danielle Casanova", "id": 2628989, "geometry": { "type": "Point", "coordinates": [ 2.333516, 48.868169 ] } }, { "code": "", "name": "Opéra - 4 Septembre", "id": 2636669, "geometry": { "type": "Point", "coordinates": [ 2.332771, 48.869909 ] } }, { "code": "", "name": "Opéra", "id": 2640543, "geometry": { "type": "Point", "coordinates": [ 2.33272, 48.871735 ] } }, { "code": "", "name": "Haussmann - Mogador", "id": 2653402, "geometry": { "type": "Point", "coordinates": [ 2.331355, 48.874038 ] } }, { "code": "", "name": "Trinité", "id": 2660987, "geometry": { "type": "Point", "coordinates": [ 2.331223, 48.875836 ] } }, { "code": "", "name": "Liège", "id": 2655539, "geometry": { "type": "Point", "coordinates": [ 2.329082, 48.880051 ] } }, { "code": "", "name": "Place de Clichy", "id": 2634531, "geometry": { "type": "Point", "coordinates": [ 2.327818, 48.882904 ] } }, { "code": "", "name": "Ganneron", "id": 2663638, "geometry": { "type": "Point", "coordinates": [ 2.32671, 48.885317 ] } }, { "code": "", "name": "La Fourche", "id": 2662450, "geometry": { "type": "Point", "coordinates": [ 2.325924, 48.8881 ] } }, { "code": "", "name": "Davy", "id": 2630669, "geometry": { "type": "Point", "coordinates": [ 2.32662, 48.890182 ] } } ], "mode": 4, "time": 39914 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327487, 48.89275 ] }, "name": "GUY MÔQUET", "time": 41461 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "name": "", "time": 41630 }, "details": [ { "distance": 27.11, "relativeDirection": "DEPART", "streetName": "Avenue de Saint-Ouen", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.327341920033663, 48.89276840011221 ] } }, { "distance": 24.28, "relativeDirection": "RIGHT", "streetName": "Rue Championnet", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3274236, 48.8930061 ] } }, { "distance": 152.53, "relativeDirection": "RIGHT", "streetName": "Rue Marcadet", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.327732, 48.893087200000004 ] } } ], "geometry": "ujliHyqeMA\\SEGACAOEAIGWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]", "duration": 169, "distance": 203.92, "mode": 2, "time": 41461 } ], "duration": 3232, "departure": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "time": 38398 }, "arrival": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "time": 41630 }, "distance": 15188.83, "geometry": "il~hH_nkMAKKB?eDAw@MBG@SDA@o@Lg@JYFYFc@JC?MBA@UDKBMDBVA?E@IBG_ADAFA?DBVTGDAhBa@?DB?BAA?yWrFy`@lKcZnPcZrDgNiBqSoOe`@ak@uL|ZyTrx@_Izf@kYh\\mRtOBLYJE]mLvD{ItCmJHkMpGgJXiYjLyPzFcN|EkP|C_LkCaOmDA\\SEGACAOEAIGWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]" }, { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38422 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "PORTE D'ITALIE", "time": 38759 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 257.86, "relativeDirection": "RIGHT", "streetName": "Avenue d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 20.81, "relativeDirection": "LEFT", "streetName": "Boulevard Masséna", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3594606000000002, 48.819145000000006 ] } }, { "distance": 17.43, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3597443, 48.819149 ] } }, { "distance": 12.69, "relativeDirection": "RIGHT", "streetName": "Porte d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.359886, 48.819085 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@A", "duration": 337, "distance": 397.31, "mode": 2, "time": 38422 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "Porte d'Italie", "time": 38760 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "Porte de Vanves", "time": 39540 }, "route": { "color": "FF7E2E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PONT DU GARIGLIANO - HOPITAL EUROPEEN G. POMPIDOU", "direction": 0, "long_name": "Pont du Garigliano - Hôpital Européen G. Pompidou - Porte de Vincennes", "short_name": "T3a", "id": 131377, "type": 0 }, "geometry": "c~}hHc}kMoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@", "duration": 780, "stops": [ { "code": "", "name": "Poterne des Peupliers", "id": 2649838, "geometry": { "type": "Point", "coordinates": [ 2.350057, 48.820737 ] } }, { "code": "", "name": "Stade Charléty - Porte de Gentilly", "id": 2661861, "geometry": { "type": "Point", "coordinates": [ 2.345714, 48.819535 ] } }, { "code": "", "name": "Cité Universitaire", "id": 2648105, "geometry": { "type": "Point", "coordinates": [ 2.338116, 48.82051 ] } }, { "code": "", "name": "Montsouris", "id": 2646182, "geometry": { "type": "Point", "coordinates": [ 2.33339, 48.821545 ] } }, { "code": "", "name": "Porte d'Orléans", "id": 2652112, "geometry": { "type": "Point", "coordinates": [ 2.324922, 48.82335 ] } }, { "code": "", "name": "Jean Moulin", "id": 2656840, "geometry": { "type": "Point", "coordinates": [ 2.318829, 48.824764 ] } }, { "code": "", "name": "Didot", "id": 2633662, "geometry": { "type": "Point", "coordinates": [ 2.313364, 48.825974 ] } } ], "mode": 4, "time": 38759 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "PORTE DE VANVES", "time": 39540 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "PORTE DE VANVES", "time": 39631 }, "details": [ { "distance": 23.79, "relativeDirection": "DEPART", "streetName": "Porte de Vanves", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.306691586483762, 48.82746985821627 ] } }, { "distance": 26.23, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3064008, 48.8275164 ] } }, { "distance": 67.03, "relativeDirection": "RIGHT", "streetName": "Boulevard Brune", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3061951, 48.8274163 ] } } ], "geometry": "sr_iHwoaM?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@", "duration": 91, "distance": 117.06, "mode": 2, "time": 39540 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "Porte de Vanves", "time": 39960 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "Guy Môquet", "time": 41280 }, "route": { "color": "6EC4E8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "Saint-Denis-Université", "direction": 1, "long_name": "Châtillon-Montrouge - Saint-Denis - Université", "short_name": "13", "id": 130475, "type": 1 }, "geometry": "qs_iHigaM{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJ", "duration": 1320, "stops": [ { "code": "", "name": "Plaisance", "id": 2653107, "geometry": { "type": "Point", "coordinates": [ 2.31386, 48.83175 ] } }, { "code": "", "name": "Pernety", "id": 2632677, "geometry": { "type": "Point", "coordinates": [ 2.318394, 48.834079 ] } }, { "code": "", "name": "Gaîté", "id": 2642115, "geometry": { "type": "Point", "coordinates": [ 2.322464, 48.838545 ] } }, { "code": "", "name": "Montparnasse Bienvenue", "id": 2630289, "geometry": { "type": "Point", "coordinates": [ 2.320984, 48.842314 ] } }, { "code": "", "name": "Duroc", "id": 2642506, "geometry": { "type": "Point", "coordinates": [ 2.316521, 48.84701 ] } }, { "code": "", "name": "Saint-François-Xavier", "id": 2662008, "geometry": { "type": "Point", "coordinates": [ 2.314407, 48.851279 ] } }, { "code": "", "name": "Varenne", "id": 2639766, "geometry": { "type": "Point", "coordinates": [ 2.315114, 48.856625 ] } }, { "code": "", "name": "Invalides", "id": 2647509, "geometry": { "type": "Point", "coordinates": [ 2.31454, 48.860849 ] } }, { "code": "", "name": "Champs-Élysées - Clemenceau", "id": 2647412, "geometry": { "type": "Point", "coordinates": [ 2.314017, 48.867501 ] } }, { "code": "", "name": "Miromesnil", "id": 2634120, "geometry": { "type": "Point", "coordinates": [ 2.316011, 48.873448 ] } }, { "code": "", "name": "Saint-Lazare", "id": 2663562, "geometry": { "type": "Point", "coordinates": [ 2.325488, 48.875381 ] } }, { "code": "", "name": "Liège", "id": 2635831, "geometry": { "type": "Point", "coordinates": [ 2.326853, 48.879535 ] } }, { "code": "", "name": "Place de Clichy", "id": 2636934, "geometry": { "type": "Point", "coordinates": [ 2.327398, 48.883738 ] } }, { "code": "", "name": "La Fourche", "id": 2641460, "geometry": { "type": "Point", "coordinates": [ 2.325687, 48.887425 ] } } ], "mode": 4, "time": 39631 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "GUY MÔQUET", "time": 41401 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "name": "", "time": 41542 }, "details": [ { "distance": 20.42, "relativeDirection": "DEPART", "streetName": "Rue Championnet", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3274727260616355, 48.89301890661583 ] } }, { "distance": 152.53, "relativeDirection": "RIGHT", "streetName": "Rue Marcadet", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.327732, 48.893087200000004 ] } } ], "geometry": "glliHwqeMA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]", "duration": 141, "distance": 172.94, "mode": 2, "time": 41401 } ], "duration": 3120, "departure": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "time": 38422 }, "arrival": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "time": 41542 }, "distance": 20332.87, "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@AoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]" } ] }

Recherche d'itinéraire entre deux points.

Requète HTTP

GET https://api.visitmoov.com/api/v1/transit/

Paramètres de requête

Paramètre Type Contrainte Description
dep_lat FLOAT REQUIS Latitude de départ (WGS84)
dep_lng FLOAT REQUIS Longitude de départ (WGS84)
arr_lat FLOAT REQUIS Latitude d'arrivée (WGS84)
arr_lng FLOAT REQUIS Longitude d'arrivée (WGS84)
lang STRING OPTIONNEL1 Code Alpha-2 de la langue. Défaut: en
tr_mode INTEGER OPTIONNEL Mode de transport, les valeurs possibles sont 1, 2, 3 et 4.
1: Voiture,
2: Marche à pied,
3: Vélo,
4: Transport en commun Défaut: 4
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
date STRING DATETIME REQUIS Seulement pour tr_mode = 4.
Date et horaire de départ ou d'arrivée (dépends de arrive_at, FORMAT: 'aaaa-mm-jj HH:MM')
arrive_at INTEGER OPTIONNEL Seulement pour tr_mode = 4.
0: date est pour le départ, 1 date est pour l'arrivée Défaut: 0
max_walk INTEGER OPTIONNEL Seulement pour tr_mode = 4.
Distance de marche maximale (UNIT: mètre) Défaut: 1000
accessibility INTEGER OPTIONNEL Seulement pour tr_mode = 4.
Accessibilité des données (VALEURS: 0 ou 1) Défaut: 0
algo INTEGER OPTIONNEL Seulement pour tr_mode = 4.
Algorithme utilisé pour le calcul. 0: Pour calculer le trajet le plus rapide, 1: Pour calculer le trajet utilisant le moins de transfert de véhicule. Défaut: 0
use_traffic INTEGER OPTIONNEL Permet de choisir différents modes pour la prise en compte des perturbations lors du calcul d'itinéraire en transport en commun.
Les valeurs possibles sont les suivantes :
0 - Ne pas utiliser les perturbations du trafic
1 - Utiliser les perturbations du serveur

Si use_traffic = 1, peut utiliser le paramètre traffic_source Défaut: 0
traffic_source STRING OPTIONNEL Liste d'identifiants de source de perturbations séparé par des virgules.

Modèle de réponse

{ "success": "Boolean", "result": [ { "duration": "Integer (secondes)", "distance": "Float (meters)", "geometry": "String (polyline encoded) or Object (geojson)", "departure": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "arrival": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "steps": [ { "departure": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "arrival": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (geojson)" } ], "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (secondes)", "distance": "Float (meters)", "mode": "Integer", "time": "Integer (secondes)" }, { "departure": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "arrival": { "name": "String", "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (geojson)", "time": "Integer (secondes)" }, "route": { "color": "String (hexadecimal)", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String (hexadecimal)", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (geojson)" } ], "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (secondes)", "distance": "Float (meters)", "mode": "Integer", "time": "Integer (secondes)" } ] } ] }

Erreurs

Code Message Description
bad_api_key API KEY n'est pas valide
dep_lat is required and must be a floating point number dep_lat est requis et doit être nombre flotant
dep_lat must be in WGS84 dep_lat doit être en WGS84
dep_lng is required and must be a floating point number dep_lng est requis et doit être nombre flotant
dep_lng must be in WGS84 dep_lng doit être en WGS84
arr_lat is required and must be a floating point number arr_lat est requis et doit être nombre flotant
arr_lat must be in WGS84 arr_lat doit être en WGS84
arr_lng is required and must be a floating point number arr_lng est requis et doit être nombre flotant
arr_lng must be in WGS84 arr_lng doit être en WGS84
date is required in format "yyyy-mm-dd HH:MM" date est requis au format "aaaa-mm-jj HH:MM"

Get agency route

Exemple de requête:

https://api.visitmoov.com/api/v1/get_agency_route/?api_key=API_KEY&area=france&encode_line=1&id=3064

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": 87325, "type": 1, "color": "FFCD00", "geometry": "}dliHmbtLtTuiAxPut@hYurApS}`ArMqj@zIqb@vJgb@~Qgz@|FeWzKek@rDmp@`Num@hHoZlMoj@pF{X|L{x@lLip@jm@mYeJmlAwC_kAxEcoAzCcr@lDyx@nE{kA", "direction": [ [ "La Défense (Grande Arche)" ], [ "Château de Vincennes" ] ], "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000", "bikes_allowed": [ "0", "0", "0" ], "wheelchair_accessible": [ "0", "0", "0" ] }, { "id": 87334, "type": 1, "color": "C9910D", "geometry": null, "direction": { "0": [ "Gare d'Austerlitz" ], "1": [ "Boulogne Pont de Saint-Cloud" ] }, "long_name": "Boulogne Pont de Saint-Cloud - Gare d'Austerlitz", "short_name": "10", "text_color": "000000" }, "..." ] }

Permet d'obtenir les lignes d'une agence.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_agency_route/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1
id INTEGER REQUIS Identifiant de l'agence de transport.

Modèle de réponse

{ "success": "Boolean", "result": [ { "id": "Integer", "type": "Integer", "color": "String", "geometry": "String (polyline encoded) or Object (geojson)", "direction": { "0": "Array of string", "1": "Array of string" }, "long_name": "String", "short_name": "String", "text_color": "String" } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.

Get agencies

Exemple de requête:

https://api.visitmoov.com/api/v1/get_agencies/?api_key=API_KEY&name=Ch%C3%A2teau%20de%20Vincennes&township_id=20512

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "url": null, "name": "ATOUMOD", "agencies": [ { "id": 3064, "name": "Aéroport de Caen-Carpiquet" }, { "id": 3071, "name": "Aéroport de Deauville-Normandie" }, { "id": 3060, "name": "Altobus (Communauté Urbaine d'Alençon)" }, { "id": 3070, "name": "Amibus (Communauté de Commune de Vire)" }, { "id": 3059, "name": "Argentan Bus (Ville d'Argentan)" }, { "id": 3058, "name": "Astrobus (Ville de Lisieux)" }, { "id": 3087, "name": "Astuce (Métropole Rouen)" }, { "id": 3073, "name": "Bagnoles de l'Orne" }, { "id": 3074, "name": "BMOB (ville de Bernay)" }, { "id": 3081, "name": "Cosibus (Ville de Coutances)" }, { "id": 3082, "name": "DeepMob (Agglo Dieppe Maritime)" }, { "id": 3083, "name": "Ficibus (Ville de Fécamp)" }, { "id": 3066, "name": "H.O. Bus (Ville d'Honfleur)" }, { "id": 3085, "name": "Le Bus (Ville de Pont-Audemer)" }, { "id": 3080, "name": "LIA (Le Havre Seine Métropole)" }, { "id": 3069, "name": "Navette Pontorson - Le Mont" }, { "id": 3068, "name": "Némus (Communauté d'Agglomération Pays de Flers)" }, { "id": 3072, "name": "Néva (Ville de Granville)" }, { "id": 3057, "name": "NOMAD CARS Calvados" }, { "id": 3078, "name": "NOMAD CARS Eure" }, { "id": 3063, "name": "NOMAD CARS Manche" }, { "id": 3086, "name": "NOMAD CARS Normandie TER" }, { "id": 3062, "name": "NOMAD CARS Orne" }, { "id": 3079, "name": "NOMAD CARS Seine-Maritime" }, { "id": 3075, "name": "Rezo'Bus (Caux Seine Agglo)" }, { "id": 3077, "name": "Semo (Seine Eure Agglo)" }, { "id": 3065, "name": "Slam (Communauté d'Agglomération de Saint-Lô)" }, { "id": 3055, "name": "SNCF" }, { "id": 3076, "name": "SNgo! (Seine Normandie Agglo)" }, { "id": 3067, "name": "Stena Line" }, { "id": 3084, "name": "Transurbain (Ville d'Evreux)" }, { "id": 3056, "name": "Twisto (Caen la Mer)" }, { "id": 3088, "name": "Vikibus (ville d'Yvetot)" }, { "id": 3061, "name": "Zéphir (Communauté Urbaine de Cherbourg)" } ], "shortname": "ATOUMOD", "route_types": [ 0, 1, 2, 3 ] }, "..." ] }

Permet d'obtenir toute les agences et réseaux de transport.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_agencies/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"

Modèle de réponse

{ "success": "Boolean", "result": [ { "url": "String", "name": "String", "agencies": [ { "id": "Integer", "name": "String" } ], "shortname": "String", "route_types": "Array of integer" } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.

Get route

Exemple de requête:

https://api.visitmoov.com/api/v1/get_route/?api_key=API_KEY&area=france&id=87325&encode_line=1

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": 87325, "type": 1, "color": "FFCD00", "stops": [ { "id": 1783141, "code": "", "name": "Château de Vincennes", "geometry": { "type": "Point", "coordinates": [ 2.440552, 48.844325 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, { "id": 1783142, "code": "", "name": "Bérault", "geometry": { "type": "Point", "coordinates": [ 2.428245, 48.845369 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, { "id": 1783201, "code": "", "name": "Saint-Mandé", "geometry": { "type": "Point", "coordinates": [ 2.419, 48.846238 ] }, "township": { "id": 7399, "name": "Saint-Mande", "insee": "94067" }, "wheelchair_boarding": "0" }, { "id": 1782855, "code": "", "name": "Porte de Vincennes", "geometry": { "type": "Point", "coordinates": [ 2.410817, 48.847016 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782857, "code": "", "name": "Nation", "geometry": { "type": "Point", "coordinates": [ 2.398004, 48.848111 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782854, "code": "", "name": "Reuilly-Diderot", "geometry": { "type": "Point", "coordinates": [ 2.385843, 48.847353 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782860, "code": "", "name": "Gare de Lyon", "geometry": { "type": "Point", "coordinates": [ 2.373449, 48.84556 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782865, "code": "", "name": "Bastille", "geometry": { "type": "Point", "coordinates": [ 2.369219, 48.852976 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782852, "code": "", "name": "Saint-Paul (le Marais)", "geometry": { "type": "Point", "coordinates": [ 2.361334, 48.855134 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1783136, "code": "", "name": "Hôtel de Ville", "geometry": { "type": "Point", "coordinates": [ 2.352074, 48.857356 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1783131, "code": "", "name": "Châtelet", "geometry": { "type": "Point", "coordinates": [ 2.347933, 48.85857 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782858, "code": "", "name": "Louvre-Rivoli", "geometry": { "type": "Point", "coordinates": [ 2.340973, 48.86088 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1783137, "code": "", "name": "Palais-Royal (Musée du Louvre)", "geometry": { "type": "Point", "coordinates": [ 2.336574, 48.862372 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782853, "code": "", "name": "Tuileries", "geometry": { "type": "Point", "coordinates": [ 2.329095, 48.86478 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782862, "code": "", "name": "Concorde", "geometry": { "type": "Point", "coordinates": [ 2.321194, 48.865678 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1783138, "code": "", "name": "Champs-Elysées-Clémenceau", "geometry": { "type": "Point", "coordinates": [ 2.314123, 48.867744 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782859, "code": "", "name": "Franklin-Roosevelt", "geometry": { "type": "Point", "coordinates": [ 2.310253, 48.86901 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782861, "code": "", "name": "George V", "geometry": { "type": "Point", "coordinates": [ 2.300769, 48.872046 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782863, "code": "", "name": "Charles de Gaulle-Etoile", "geometry": { "type": "Point", "coordinates": [ 2.295127, 48.873931 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782864, "code": "", "name": "Argentine", "geometry": { "type": "Point", "coordinates": [ 2.289444, 48.875672 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782856, "code": "", "name": "Porte Maillot", "geometry": { "type": "Point", "coordinates": [ 2.282466, 48.878006 ] }, "township": { "id": 3446, "name": "Paris", "insee": "75056" }, "wheelchair_boarding": "0" }, { "id": 1782877, "code": "", "name": "Les Sablons (Jardin d'Acclimatation)", "geometry": { "type": "Point", "coordinates": [ 2.271915, 48.881299 ] }, "township": { "id": 4950, "name": "Neuilly-Sur-Seine", "insee": "92051" }, "wheelchair_boarding": "0" }, { "id": 1783200, "code": "", "name": "Pont de Neuilly", "geometry": { "type": "Point", "coordinates": [ 2.258527, 48.885506 ] }, "township": { "id": 4950, "name": "Neuilly-Sur-Seine", "insee": "92051" }, "wheelchair_boarding": "0" }, { "id": 1783139, "code": "", "name": "Esplanade de la Défense", "geometry": { "type": "Point", "coordinates": [ 2.249937, 48.888358 ] }, "township": { "id": 5787, "name": "Puteaux", "insee": "92062" }, "wheelchair_boarding": "0" }, { "id": 1783140, "code": "", "name": "La Défense (Grande Arche)", "geometry": { "type": "Point", "coordinates": [ 2.237992, 48.891827 ] }, "township": { "id": 5787, "name": "Puteaux", "insee": "92062" }, "wheelchair_boarding": "0" } ], "agency": { "id": 2936, "name": "METRO", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "geometry": "}dliHmbtLtTuiAxPut@hYurApS}`ArMqj@zIqb@vJgb@~Qgz@|FeWzKek@rDmp@`Num@hHoZlMoj@pF{X|L{x@lLip@jm@mYeJmlAwC_kAxEcoAzCcr@lDyx@nE{kA", "direction": [ [ "La Défense (Grande Arche)" ], [ "Château de Vincennes" ] ], "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000", "bikes_allowed": [ "0", "0", "0" ], "wheelchair_accessible": [ "0", "0", "0" ] } }

Permet d'obtenir les informations au sujet d'une ligne de transport. Donnée basé sur le format GTFS (référence). La liste des types de ligne y est présentée.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_route/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
id INTEGER REQUIS Id de la ligne
encode_line INTEGER OPTIONNEL Permet d'encoder les géométries de ligne (algorithme d'encodage). 0 retourne au format geojson. 1 retourne au format encoded. Défaut: 1

Modèle de réponse

{ "success": "Boolean", "result": { "id": "Integer", "type": "Integer", "color": "String (hexadecimal)", "stops": [ { "id": "Integer", "code": "String", "name": "String", "geometry": "Object (geojson)", "township": { "id": "Integer", "name": "String", "insee": "String" }, "wheelchair_boarding": "String" } ], "agency": { "id": "Integer", "name": "String", "url": "String", "network": { "url": "String", "name": "String", "shortname": "String", "route_types": "Array of integer" } }, "geometry": "String (polyline encoded) or Object (geojson)", "direction": { "0": "Array of string", "1": "Array of string" }, "long_name": "String", "short_name": "String", "text_color": "String (hexadecimal)" } }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.

Get route timetable

Exemple de requête:

https://api.visitmoov.com/api/v1/get_route_timetable/?api_key=API_KEY&id=87325&direction=0&date=2022-02-24

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "service": { "188205": { "id": 188205, "friday": false, "monday": false, "sunday": false, "tuesday": false, "end_date": "2022-12-31", "saturday": false, "thursday": true, "wednesday": false, "start_date": "2021-07-01" }, "188437": { "id": 188437, "friday": true, "monday": false, "sunday": false, "tuesday": false, "end_date": "2022-12-31", "saturday": false, "thursday": true, "wednesday": false, "start_date": "2021-07-01" } }, "schedule_service": [ 196796, 196796, 196796, 196796, 196796, 196796, 196796, 195581, 188205, 189574, 189574, 196795, 188205, 195889, 189574, 188205, 195889, 189574, 188205, 195889, 189574, 188205, 195889, 195889, 188205, 189574, 196571, 188205, 189574, 196179, 195889, 195889, 189574, 190804, 188205, 190804, 190804, 189574, 188205, 190804, 188205, 192428, 189574, 190804, 190804, 190805, 188205, 189574, 190811, 195890, 190284, 188443, 188443, 190280, 188444, 190284, 189574, 188205, 188444, 190284, 188444, 190284, 188446, 195734, 188446, 190285, 188446, 190811, 190811, 190811, 190811, 190811, 190811, 190811, 190809, 190811, 190284, 188446, 190286, 188437, 188446, 190284, 188446, 190284, 188446, 190284, 188446, 188446, 190284, 190811, 188446, 190284, 195058, 190284, 188446, 190284, 188446, 190284, 188447, 190284, 188446, 190284, 188446, 190811, 190811, 190809, 190811, 190811, 190811, 190806, 190811, 190811, 190811, 190811, 190811, 190811, 190811, 195890, 190811, 190811, 190811, 190811, 190811, 190807, 190811, 190810, 190811, 190811, 190811, 190812, 190811, 190811, 190811, 190811, 190811, 190811, 190811, 195890, 190811, 190811, 190811, 190811, 190811, 190811, 190811, 190809, 190811, 190811, 190811, 190812, 190808, 190811, 190811, 190811, 190811, 190811, 190811, 195890, 188446, 190284, 188446, 190282, 188446, 190285, 188446, 190284, 188446, 195734, 188446, 188446, 190284, 190282, 188448, 190285, 188446, 188446, 190284, 195734, 188446, 190284, 188448, 188446, 190282, 188446, 195734, 188446, 190284, 188444, 190284, 188444, 188444, 190284, 195735, 188446, 190284, 188446, 188446, 195732, 188438, 190284, 188444, 190284, 188447, 188446, 190286, 188446, 190286, 195058, 190286, 188446, 190813, 190286, 188446, 188446, 190286, 190286, 188446, 190286, 188446, 190286, 188446, 188446, 190286, 188446, 190286, 188439, 190286, 190804, 190286, 188439, 188439, 190286, 188439, 190286, 190286, 188439, 190286, 188439, 190286, 188439, 190286, 188439, 188439, 190286, 190804, 188439, 190286, 188439, 190286, 188439, 190286, 188439, 190286, 190286, 188439, 190286, 188440, 190286, 188439, 190286, 188439, 190286, 188439, 193590, 190286, 188439, 188439, 190286, 188439, 190286, 188439, 190286, 188439, 190286, 188854, 190287, 188439, 190286, 188439, 188439, 188439, 190286, 190804, 190286, 188854, 192481, 191056, 188439, 190286, 188439, 190286, 188439, 188439, 190286, 190286, 188439, 188439, 190286, 190804, 188439, 190286, 190286, 188439, 190286, 188439, 191056, 190286, 188439, 190286, 188439, 188439, 189574, 190286, 188439, 190286, 188439, 191083, 188205, 188439, 188438, 190286, 188438, 188446, 190286, 188446, 190286, 192481, 190813, 189574, 188446, 188446, 190286, 188446, 188205, 191056, 188439, 190284, 188446, 188446, 193588, 188446, 190284, 188439, 188446, 190284, 188449, 188446, 189574, 188446, 191057, 188446, 190284, 192482, 188446, 190811, 188205, 190284, 188446, 189574, 188855, 190811, 188446, 190284, 188205, 188446, 189574, 191058, 188446, 190284, 188446, 190284, 188446, 191113, 188446, 188446, 189574, 190284, 188447, 188446, 190284, 190284, 188446, 188448, 188446, 190284, 188446, 195733, 188446, 190282, 188450, 190282, 188446, 195058, 190282, 188438, 190282, 195733, 188446, 188446, 190282, 190283, 188446, 188446, 190284, 190284, 188446, 189574, 189574, 188446, 189574, 188446, 188446, 195353, 189580, 188446, 189575, 188446, 189574, 188446, 190284, 189584, 188446, 188446, 189574, 188446, 189574, 188446, 189574, 189574, 195059, 188448, 189574, 188438, 189574, 188446, 189574, 188446, 189574, 188446, 189574, 189574, 188446, 189582, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 195353, 188446, 189580, 188446, 189575, 188451, 189574, 188446, 190284, 189574, 188446, 188446, 189574, 188446, 189574, 188446, 189574, 189574, 195058, 188448, 189584, 188438, 189574, 188446, 189574, 188446, 189574, 188450, 189574, 188446, 189574, 188446, 189574, 189574, 188446, 189574, 188446, 189582, 188446, 195353, 189580, 188446, 188446, 189575, 188446, 189574, 188446, 189574, 188446, 189574, 188451, 190284, 188446, 189574, 188446, 189574, 195058, 189574, 188448, 189574, 188438, 189574, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 189584, 188446, 189574, 189574, 188446, 188446, 189574, 189574, 188446, 195353, 188446, 189580, 188446, 189576, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 189584, 188446, 190284, 195060, 189574, 188452, 189574, 188438, 189574, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 189574, 188446, 189584, 189574, 188446, 188446, 189577, 188450, 189574, 188446, 195353, 189580, 188446, 189575, 188444, 189574, 188446, 189585, 189583, 188446, 188446, 189577, 188446, 189574, 188450, 189574, 195061, 189574, 188448, 189574, 188439, 189574, 188451, 189585, 188446, 189574, 188446, 189578, 188446, 189574, 188446, 189574, 188446, 195353, 189575, 188441, 190288, 188446, 190289, 189667, 189574, 188446, 188446, 189574, 189574, 188446, 189585, 195058, 188453, 189577, 188453, 195353, 189575, 188453, 188453, 189574, 189574, 189574, 188445, 189574, 188454, 189574, 188453, 189574, 188453, 189668, 188453, 189574, 189579, 188453, 188453, 189574, 188453, 189574, 188453, 188453, 195351, 189574, 189574, 188453, 190281, 188453, 195062, 189574, 189574, 188455, 188453, 189574, 188453, 189574, 188446, 189574, 188453, 188453, 189574, 188454, 195353, 188453, 189574, 189581, 188453, 189574, 188453, 189574, 188453, 189574, 188453, 189574, 188453, 189574, 188453, 189666, 188453, 189574, 188453, 195353, 188453, 189574, 195062, 189574, 189574, 188453, 189574, 188453, 189574, 188453, 190289, 188453, 188453, 189574, 189574, 188453, 189574, 188453, 188453, 195352, 188442, 189574, 188453, 189574, 188453, 189574, 190289, 188453, 195353, 188453, 188453, 189584, 188453, 189574, 188453, 189574, 188453, 189574, 188456, 188453, 189574, 189668, 188453, 189574, 188453, 189574, 189574, 188453, 189582, 188453, 189574, 188453, 189574, 188453, 189574, 188453, 189574, 188453, 188205, 189574, 188205, 189574, 189574, 188205, 189574, 188205, 189574, 188205, 189574, 188205, 189574, 189574, 188205, 189574, 188205, 189574, 188205, 189574, 188205, 188205, 188205, 188205, 188205, 188205, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487, 194487 ], "timetable": [ { "stop": { "id": 1783141, "code": "", "name": "Château de Vincennes", "geometry": { "type": "Point", "coordinates": [ 2.440552, 48.844325 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, "schedule": [ 120, 420, 720, 1020, 1320, 1620, 1920, 2340, null, null, null, 19800, null, 20100, null, null, 20400, null, null, 20700, null, null, 21000, 21300, null, null, 21600, null, null, 21900, 22140, 22380, null, 22620, null, 22860, 23100, null, null, 23280, null, 23520, null, 23700, 23940, 24120, null, null, 24360, 24540, 24660, 24660, 24780, 24780, 24900, 24960, null, null, 25020, 25080, 25140, 25200, 25260, 25380, 25380, 25500, 25500, 25620, 25740, 25860, 25980, 26100, 26220, 26340, 26460, 26580, 26700, 26700, 26820, 26820, 26880, 26940, 27000, 27060, 27120, 27180, 27240, 27300, 27300, 27420, 27540, 27540, 27660, 27660, 27720, 27780, 27840, 27900, 27960, 28020, 28080, 28140, 28140, 28260, 28380, 28500, 28560, 28680, 28800, 28920, 28980, 29100, 29220, 29340, 29400, 29520, 29640, 29760, 29820, 29940, 30060, 30180, 30240, 30360, 30480, 30600, 30660, 30780, 30900, 31020, 31080, 31200, 31320, 31440, 31500, 31620, 31740, 31860, 31920, 32040, 32160, 32280, 32340, 32460, 32580, 32700, 32760, 32880, 33000, 33120, 33180, 33300, 33420, 33540, 33600, 33720, 33840, 33960, 34020, 34080, 34140, 34200, 34260, 34320, 34380, 34440, 34440, 34560, 34560, 34680, 34680, 34800, 34800, 34920, 34920, 35040, 35040, 35160, 35160, 35280, 35280, 35400, 35460, 35520, 35580, 35640, 35760, 35820, 35880, 35940, 36060, 36060, 36180, 36180, 36360, 36360, 36480, 36540, 36660, 36720, 36780, 36900, 36960, 37080, 37140, 37260, 37320, 37440, 37560, 37620, 37800, 37980, 37980, 38160, 38220, 38460, 38580, 38640, 38760, 38880, 39000, 39180, 39300, 39360, 39540, 39780, 39780, 39960, 40200, 40200, 40380, 40440, 40560, 40620, 40860, 40980, 41100, 41160, 41280, 41400, 41520, 41580, 41760, 41940, 42180, 42360, 42420, 42600, 42600, 42780, 42840, 42960, 43080, 43260, 43380, 43500, 43560, 43740, 43800, 43920, 43980, 44160, 44160, 44400, 44580, 44580, 44760, 44820, 45000, 45060, 45180, 45240, 45360, 45480, 45600, 45720, 45780, 45900, 45960, 46200, 46380, 46380, 46560, 46800, 46800, 46980, 47040, 47160, 47220, 47400, 47460, 47580, 47760, 47880, 48120, 48180, 48360, 48540, 48780, 48960, 49020, 49200, 49380, 49440, 49560, 49680, 49860, 49980, 50100, 50160, 50400, null, 50520, 50580, 50760, 50760, 51000, null, 51180, 51360, 51420, 51600, 51780, 51840, 51960, 52080, 52140, 52320, null, 52500, 52680, 52740, 52860, null, 52980, 53040, 53160, 53220, 53400, 53580, 53760, 53760, 53940, 54120, 54180, 54300, 54480, null, 54660, 54780, 54840, 54960, 55020, 55200, 55380, null, 55560, 55680, null, 55860, 56160, 56340, 56520, null, 56640, null, 56760, 56820, 56940, 57060, 57120, 57180, 57300, 57300, 57420, null, 57480, 57540, 57660, 57660, 57780, 57780, 57900, 58020, 58020, 58080, 58200, 58200, 58320, 58320, 58440, 58440, 58560, 58560, 58680, 58680, 58800, 58800, 58920, 58920, 59040, 59040, 59160, 59160, 59280, 59280, 59340, 59460, 59460, 59580, 59580, 59700, 59700, 59760, 59820, 59880, 59940, 60000, 60060, 60120, 60180, 60180, 60240, 60300, 60360, 60420, 60480, 60540, 60600, 60600, 60660, 60720, 60780, 60840, 60900, 60960, 61020, 61020, 61080, 61140, 61260, 61320, 61380, 61440, 61440, 61500, 61560, 61620, 61680, 61740, 61800, 61860, 61860, 61920, 61980, 62040, 62100, 62160, 62220, 62280, 62280, 62340, 62400, 62460, 62520, 62580, 62640, 62700, 62700, 62760, 62820, 62880, 62940, 63000, 63060, 63120, 63120, 63180, 63240, 63300, 63360, 63420, 63480, 63540, 63600, 63660, 63720, 63780, 63840, 63900, 63960, 63960, 64020, 64080, 64140, 64200, 64260, 64320, 64380, 64380, 64440, 64500, 64560, 64620, 64680, 64740, 64800, 64800, 64860, 64920, 64980, 65040, 65100, 65160, 65220, 65220, 65280, 65340, 65400, 65460, 65520, 65580, 65640, 65640, 65700, 65760, 65880, 65940, 66000, 66060, 66060, 66120, 66180, 66240, 66300, 66360, 66420, 66480, 66480, 66540, 66600, 66660, 66720, 66780, 66840, 66900, 66900, 66960, 67020, 67080, 67140, 67200, 67260, 67320, 67320, 67380, 67440, 67500, 67560, 67620, 67680, 67740, 67740, 67800, 67860, 67920, 67980, 68040, 68100, 68160, 68220, 68280, 68340, 68400, 68460, 68520, 68580, 68580, 68640, 68700, 68760, 68820, 68880, 68940, 69000, 69000, 69060, 69120, 69180, 69240, 69300, 69360, 69420, 69420, 69480, 69540, 69600, 69660, 69720, 69780, 69840, 69900, 69960, 70080, 70080, 70200, 70200, 70320, 70440, 70440, 70560, 70560, 70620, 70680, 70740, 70800, 70860, 70860, 70980, 70980, 71100, 71100, 71220, 71220, 71280, 71400, 71460, 71520, 71580, 71640, 71700, 71820, 71820, 71940, 72060, 72060, 72180, 72180, 72240, 72300, 72360, 72420, 72480, 72600, 72600, 72720, 72840, 72840, 72960, 72960, 73080, 73080, 73200, 73200, 73320, 73380, 73440, 73500, 73560, 73620, 73620, 73740, 73740, 73860, 73860, 73980, 73980, 74160, 74220, 74280, 74340, 74400, 74460, 74520, 74580, 74640, 74700, 74760, 74820, 74940, 75000, 75060, 75120, 75180, 75240, 75300, 75360, 75420, 75540, 75600, 75720, 75720, 75840, 75840, 75960, 75960, 76080, 76080, 76200, 76200, 76320, 76320, 76380, 76500, 76500, 76620, 76620, 76740, 76740, 76860, 76980, 76980, 77100, 77100, 77220, 77280, 77340, 77400, 77460, 77520, 77580, 77640, 77700, 77760, 77760, 77880, 78000, 78060, 78120, 78180, 78300, 78360, 78420, 78480, 78540, 78600, 78660, 78720, 78840, 78840, 78960, 78960, 79080, 79080, 79200, 79200, 79380, 79380, 79500, 79560, 79680, 79740, 79800, 79920, 79980, 80100, 80100, 80280, 80280, 80400, 80460, 80580, 80640, 80820, 81000, 81180, 81360, 81540, 81720, 82020, 82320, 82620, 82920, 83220, 83520, 83820, 84120, 84420, 84720, 85020, 85320, 85620, 85920, 86220 ] }, { "stop": { "id": 1783142, "code": "", "name": "Bérault", "geometry": { "type": "Point", "coordinates": [ 2.428245, 48.845369 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, "schedule": [ 240, 540, 840, 1140, 1440, 1740, 2040, 2400, null, null, null, 19860, null, 20160, null, null, 20460, null, null, 20760, null, null, 21060, 21360, null, null, 21660, null, null, 21960, 22200, 22440, null, 22680, null, 22920, 23160, null, null, 23400, null, 23580, null, 23820, 24000, 24180, null, null, 24420, 24600, 24720, 24720, 24840, 24900, 24960, 25020, null, null, 25080, 25140, 25200, 25320, 25320, 25440, 25440, 25560, 25560, 25680, 25800, 25920, 26040, 26160, 26280, 26400, 26520, 26640, 26760, 26760, 26880, 26880, 27000, 27000, 27060, 27120, 27180, 27240, 27300, 27420, 27360, 27480, 27600, 27600, 27720, 27720, 27840, 27840, 27900, 27960, 28020, 28080, 28140, 28200, 28260, 28320, 28440, 28560, 28680, 28740, 28860, 28980, 29100, 29160, 29280, 29400, 29520, 29580, 29700, 29820, 29940, 30000, 30120, 30240, 30360, 30420, 30540, 30660, 30780, 30840, 30960, 31080, 31200, 31260, 31380, 31500, 31620, 31680, 31800, 31920, 32040, 32100, 32220, 32340, 32460, 32520, 32640, 32760, 32880, 32940, 33060, 33180, 33300, 33360, 33480, 33600, 33720, 33780, 33900, 34020, 34140, 34140, 34200, 34260, 34320, 34380, 34440, 34500, 34560, 34620, 34620, 34740, 34740, 34860, 34860, 34980, 34980, 35100, 35100, 35220, 35280, 35340, 35400, 35520, 35520, 35640, 35640, 35760, 35820, 35880, 35940, 36000, 36120, 36120, 36240, 36300, 36420, 36420, 36600, 36600, 36720, 36780, 36900, 36960, 37020, 37200, 37200, 37320, 37440, 37500, 37620, 37680, 37860, 38100, 38040, 38280, 38280, 38520, 38640, 38760, 38880, 38940, 39060, 39240, 39420, 39480, 39600, 39840, 39840, 40080, 40260, 40260, 40440, 40500, 40680, 40740, 40920, 41040, 41160, 41280, 41400, 41460, 41580, 41640, 41880, 42060, 42240, 42480, 42480, 42660, 42720, 42840, 42900, 43080, 43140, 43380, 43440, 43560, 43680, 43800, 43860, 44040, 44040, 44220, 44280, 44460, 44700, 44640, 44880, 44880, 45060, 45120, 45240, 45360, 45480, 45540, 45660, 45780, 45840, 46020, 46080, 46260, 46440, 46440, 46680, 46860, 46860, 47040, 47100, 47280, 47340, 47460, 47520, 47640, 47880, 48000, 48180, 48240, 48480, 48660, 48840, 49080, 49080, 49320, 49440, 49500, 49680, 49740, 49980, 50040, 50160, 50280, 50460, null, 50640, 50640, 50820, 50880, 51060, null, 51240, 51480, 51480, 51660, 51840, 51960, 52020, 52140, 52200, 52380, null, 52560, 52740, 52800, 52920, null, 53040, 53100, 53220, 53280, 53460, 53640, 53820, 53820, 54000, 54180, 54240, 54360, 54540, null, 54720, 54840, 54900, 55020, 55080, 55260, 55440, null, 55620, 55740, null, 55920, 56220, 56400, 56640, null, 56700, null, 56820, 56880, 57000, 57120, 57180, 57240, 57420, 57360, 57480, null, 57540, 57600, 57720, 57720, 57900, 57840, 57960, 58080, 58140, 58200, 58260, 58320, 58380, 58440, 58500, 58560, 58680, 58620, 58740, 58740, 58860, 58860, 58980, 58980, 59100, 59100, 59220, 59220, 59340, 59340, 59460, 59520, 59580, 59640, 59700, 59820, 59760, 59880, 59940, 59940, 60000, 60060, 60120, 60180, 60300, 60240, 60360, 60360, 60420, 60480, 60540, 60600, 60720, 60660, 60780, 60780, 60840, 60900, 60960, 61020, 61080, 61140, 61200, 61200, 61320, 61380, 61440, 61500, 61560, 61620, 61620, 61680, 61740, 61800, 61860, 61920, 61980, 62040, 62040, 62100, 62160, 62220, 62280, 62400, 62340, 62460, 62460, 62520, 62580, 62640, 62700, 62820, 62760, 62880, 62880, 62940, 63000, 63060, 63120, 63180, 63240, 63300, 63300, 63360, 63420, 63480, 63540, 63660, 63720, 63720, 63780, 63840, 63900, 63960, 64080, 64020, 64140, 64140, 64200, 64260, 64320, 64380, 64440, 64500, 64560, 64560, 64620, 64680, 64740, 64800, 64860, 64920, 64980, 64980, 65040, 65100, 65160, 65220, 65280, 65340, 65400, 65400, 65460, 65520, 65580, 65640, 65760, 65700, 65820, 65820, 65940, 66000, 66060, 66120, 66180, 66240, 66240, 66300, 66360, 66420, 66480, 66540, 66600, 66660, 66660, 66720, 66780, 66840, 66900, 66960, 67020, 67080, 67080, 67140, 67200, 67260, 67320, 67380, 67440, 67500, 67500, 67560, 67620, 67680, 67740, 67860, 67800, 67920, 67920, 67980, 68040, 68100, 68160, 68280, 68340, 68340, 68400, 68460, 68520, 68580, 68700, 68640, 68760, 68760, 68820, 68880, 68940, 69000, 69060, 69120, 69180, 69180, 69240, 69300, 69360, 69420, 69480, 69540, 69600, 69600, 69720, 69720, 69840, 69840, 69960, 69960, 70080, 70140, 70200, 70260, 70260, 70380, 70500, 70500, 70620, 70620, 70740, 70740, 70860, 70860, 70980, 70920, 71100, 71040, 71160, 71220, 71340, 71280, 71400, 71520, 71520, 71640, 71640, 71760, 71760, 71880, 71880, 72000, 72120, 72120, 72240, 72240, 72360, 72420, 72480, 72540, 72600, 72720, 72660, 72780, 72900, 72900, 73020, 73020, 73140, 73200, 73320, 73260, 73380, 73440, 73500, 73560, 73620, 73680, 73740, 73860, 73800, 73980, 73980, 74100, 74100, 74220, 74280, 74340, 74400, 74460, 74520, 74580, 74640, 74760, 74760, 74880, 74880, 75000, 75120, 75120, 75240, 75240, 75360, 75360, 75480, 75540, 75660, 75660, 75780, 75780, 75900, 75900, 76020, 76020, 76140, 76140, 76320, 76260, 76440, 76380, 76500, 76560, 76620, 76680, 76740, 76800, 76860, 76920, 77100, 77040, 77220, 77160, 77280, 77340, 77400, 77460, 77520, 77580, 77640, 77700, 77760, 77880, 77880, 78000, 78120, 78120, 78240, 78240, 78360, 78420, 78480, 78540, 78660, 78660, 78780, 78780, 78900, 78900, 79020, 79020, 79140, 79140, 79320, 79320, 79440, 79440, 79620, 79620, 79740, 79800, 79920, 79980, 80040, 80220, 80160, 80340, 80340, 80520, 80520, 80640, 80700, 80880, 81060, 81240, 81420, 81660, 81840, 82140, 82440, 82740, 83040, 83340, 83640, 83940, 84240, 84540, 84840, 85140, 85440, 85740, 86040, 86340 ] }, "..." ] } }

Permet d'obtenir les horaires d'une ligne de transport.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_route_timetable/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
id INTEGER REQUIS Id de la ligne
direction INTEGER OPTIONNEL Direction de la ligne. 0: trajet dans un sens, 1: trajet dans le sens opposé. Défaut: 0
date STRING OPTIONNEL Date au format "aaaa-mm-jj"

Modèle de réponse

{ "success": "Boolean", "result": { "service": { "String service_id": { "id": "Integer", "friday": "Boolean", "monday": "Boolean", "sunday": "Boolean", "tuesday": "Boolean", "end_date": "String (Date format YYYY-MM-DD)", "saturday": "Boolean", "thursday": "Boolean", "wednesday": "Boolean", "start_date": "String (Date format YYYY-MM-DD)" } }, "schedule_service": "Array of integer (service_id)", "timetable": [ { "stop": { "id": "Integer", "code": "String", "name": "String", "geometry": "Object (geojson)", "township": { "id": "Integer", "name": "String", "insee": "String" }, "wheelchair_boarding": "String" }, "schedule": "Array of integer (seconds)" } ] } }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.

Get route by autocomplete

Exemple de requête:

https://api.visitmoov.com/api/v1/get_route_autocomplete/?api_key=API_KEY&query=vincenne&limit=3&page=0

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": 87325, "type": 1, "color": "FFCD00", "agency": { "id": 2936, "name": "METRO", "url": null, "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000" }, { "id": 87089, "type": 3, "color": "FF5A00", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - La Varenne-Chennevières", "short_name": "112", "text_color": "FFFFFF" }, { "id": 87091, "type": 3, "color": "82DC73", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - Le Raincy-Villemomble-Montfermeil - Villemomble Les Coquetiers", "short_name": "114", "text_color": "000000" } ] }

Permet de rechercher des lignes de transport par leur nom.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_route_autocomplete/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
query STRING OPTIONNEL Texte recherché Défaut:
limit INTEGER OPTIONNEL Limite le nombre de résultats (maximum: 20). Défaut: 20
page INTEGER OPTIONNEL Numéro de page (commence par 0) Défaut: 0
agency_id INTEGER OPTIONNEL Identifiant de l'agence de transport.

Modèle de réponse

{ "success": true, "result": [ { "id": "Integer", "type": "Integer", "color": "String (hexadecimal)", "agency": { "id": "Integer", "name": "String", "url": "String", "network": { "url": "String", "name": "String", "shortname": "String", "route_types": "Array of integer" } }, "long_name": "String", "short_name": "String", "text_color": "String (hexadecimal)" } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.

Get route traffic

Exemple de requête:

https://api.visitmoov.com/api/v1/get_route_traffic/?api_key=API_KEY&area=idf&type=0&route_id=IDFM:C01374

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "messages": [ { "message": "Du 9/01 au 26/06 2022, ligne fermée les dimanches jusqu’à 12h sauf les 17/04, 01/05, 08/05 et 05/06.", "language": "fr" }, { "message": "Du 9/01 au 26/06 2022, ligne fermée les dimanches jusqu’à 12h sauf les 17/04, 01/05, 08/05 et 05/06. Détails et itinéraires alternatifs sur les sites et applis IDFM ou RATP", "language": "fr" } ], "type": 0, "valid_since": null, "valid_until": "2022-06-16 00:00:00", "route_ids": [ "IDFM:C01374" ], "stop_ids": [], "cause": null, "effect": null }, { "messages": [ { "message": "Du 3 janvier au 30 juin 2022 (sauf les 25 et 26/05), ligne fermée les soirs du lundi au jeudi à partir de 22h15. Détails et itinéraires alternatifs sur les sites et applis IDFM ou RATP", "language": "fr" } ], "type": 0, "valid_since": null, "valid_until": "2022-06-15 22:15:00", "route_ids": [ "IDFM:C01374" ], "stop_ids": [], "cause": null, "effect": null } ] }

Messages d’information sur l’état du trafic en temps réel par ligne. Ce service donne l’ensemble des informations concernant les perturbations sur le trafic (incidents, travaux prévus et non prévus...).

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_route_traffic/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Identifiant de la zone.
Valeurs disponibles: 'idf'.
route_id STRING REQUIS Identifiant de la ligne.
type INTEGER OPTIONNEL Type d'information. Valeurs disponibles:
0: Perturbation,
1: Information,
2: Commercial

Modèle de réponse

{ "success": "Boolean", "result": [ { "messages": [ { "message": "String", "language": "String (code alpha-2)" } ], "valid_since": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "valid_until": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "type": "Integer", "route_ids": "Array of string", "stop_ids": "Array of string", "cause": "Integer", "effect": "Integer" } ] }

Erreurs

Code Message Description
bad_api_key API KEY n'est pas valide
missing_parameter_area Paramètre area manquant.
area_not_found Area envoyé non trouvé.

Get stop

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop/?api_key=API_KEY&id=1783141

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": { "id": 1783141, "code": "", "name": "Château de Vincennes", "routes": [ { "id": 87325, "type": 1, "color": "FFCD00", "agency": { "id": 2936, "name": "METRO", "url": null, "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000" } ], "geometry": { "type": "Point", "coordinates": [ 2.440552, 48.844325 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" } }

Permet d'obtenir les informations au sujet d'un arrêt. Donnée basé sur le format GTFS (référence). La liste des valeurs d'embarquement en fauteuil roulant possibles y est présentée.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
id INTEGER REQUIS Id de l'arrêt

Modèle de réponse

{ "success": "Boolean", "result": { "id": "Integer", "code": "String", "name": "String", "routes": [ { "id": "Integer", "type": "Integer", "color": "String (hexadecimal)", "agency": { "id": "Integer", "name": "String", "url": "String", "network": { "url": "String", "name": "String", "shortname": "String", "route_types": "Array of integer" } }, "long_name": "String", "short_name": "String", "text_color": "String (hexadecimal)" } ], "geometry": "Object (geojson)", "wheelchair_boarding": "String" } }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.

Get stop timetable

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_timetable/?api_key=API_KEY&route_id=87325&id=1783141&direction=0&date=2022-02-24

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ 120, 420, 720, 1020, 1320, 1620, 1920, 2340, 19800, 20100, 20400, 20700, 21000, 21300, 21600, 21900, 22140, 22380, 22620, 22860, 23100, 23280, 23520, 23700, 23940, 24120, 24360, 24540, 24660, 24660, 24780, 24780, 24900, 24960, 25020, 25080, 25140, 25200, 25260, 25380, 25380, 25500, 25500, 25620, 25740, 25860, 25980, 26100, 26220, 26340, 26460, 26580, 26700, 26700, 26820, 26820, 26880, 26940, 27000, 27060, 27120, 27180, 27240, 27300, 27300, 27420, 27540, 27540, 27660, 27660, 27720, 27780, 27840, 27900, 27960, 28020, 28080, 28140, 28140, 28260, 28380, 28500, 28560, 28680, 28800, 28920, 28980, 29100, 29220, 29340, 29400, 29520, 29640, 29760, 29820, 29940, 30060, 30180, 30240, 30360, 30480, 30600, 30660, 30780, 30900, 31020, 31080, 31200, 31320, 31440, 31500, 31620, 31740, 31860, 31920, 32040, 32160, 32280, 32340, 32460, 32580, 32700, 32760, 32880, 33000, 33120, 33180, 33300, 33420, 33540, 33600, 33720, 33840, 33960, 34020, 34080, 34140, 34200, 34260, 34320, 34380, 34440, 34440, 34560, 34560, 34680, 34680, 34800, 34800, 34920, 34920, 35040, 35040, 35160, 35160, 35280, 35280, 35400, 35460, 35520, 35580, 35640, 35760, 35820, 35880, 35940, 36060, 36060, 36180, 36180, 36360, 36360, 36480, 36540, 36660, 36720, 36780, 36900, 36960, 37080, 37140, 37260, 37320, 37440, 37560, 37620, 37800, 37980, 37980, 38160, 38220, 38460, 38580, 38640, 38760, 38880, 39000, 39180, 39300, 39360, 39540, 39780, 39780, 39960, 40200, 40200, 40380, 40440, 40560, 40620, 40860, 40980, 41100, 41160, 41280, 41400, 41520, 41580, 41760, 41940, 42180, 42360, 42420, 42600, 42600, 42780, 42840, 42960, 43080, 43260, 43380, 43500, 43560, 43740, 43800, 43920, 43980, 44160, 44160, 44400, 44580, 44580, 44760, 44820, 45000, 45060, 45180, 45240, 45360, 45480, 45600, 45720, 45780, 45900, 45960, 46200, 46380, 46380, 46560, 46800, 46800, 46980, 47040, 47160, 47220, 47400, 47460, 47580, 47760, 47880, 48120, 48180, 48360, 48540, 48780, 48960, 49020, 49200, 49380, 49440, 49560, 49680, 49860, 49980, 50100, 50160, 50400, 50520, 50580, 50760, 50760, 51000, 51180, 51360, 51420, 51600, 51780, 51840, 51960, 52080, 52140, 52320, 52500, 52680, 52740, 52860, 52980, 53040, 53160, 53220, 53400, 53580, 53760, 53760, 53940, 54120, 54180, 54300, 54480, 54660, 54780, 54840, 54960, 55020, 55200, 55380, 55560, 55680, 55860, 56160, 56340, 56520, 56640, 56760, 56820, 56940, 57060, 57120, 57180, 57300, 57300, 57420, 57480, 57540, 57660, 57660, 57780, 57780, 57900, 58020, 58020, 58080, 58200, 58200, 58320, 58320, 58440, 58440, 58560, 58560, 58680, 58680, 58800, 58800, 58920, 58920, 59040, 59040, 59160, 59160, 59280, 59280, 59340, 59460, 59460, 59580, 59580, 59700, 59700, 59760, 59820, 59880, 59940, 60000, 60060, 60120, 60180, 60180, 60240, 60300, 60360, 60420, 60480, 60540, 60600, 60600, 60660, 60720, 60780, 60840, 60900, 60960, 61020, 61020, 61080, 61140, 61260, 61320, 61380, 61440, 61440, 61500, 61560, 61620, 61680, 61740, 61800, 61860, 61860, 61920, 61980, 62040, 62100, 62160, 62220, 62280, 62280, 62340, 62400, 62460, 62520, 62580, 62640, 62700, 62700, 62760, 62820, 62880, 62940, 63000, 63060, 63120, 63120, 63180, 63240, 63300, 63360, 63420, 63480, 63540, 63600, 63660, 63720, 63780, 63840, 63900, 63960, 63960, 64020, 64080, 64140, 64200, 64260, 64320, 64380, 64380, 64440, 64500, 64560, 64620, 64680, 64740, 64800, 64800, 64860, 64920, 64980, 65040, 65100, 65160, 65220, 65220, 65280, 65340, 65400, 65460, 65520, 65580, 65640, 65640, 65700, 65760, 65880, 65940, 66000, 66060, 66060, 66120, 66180, 66240, 66300, 66360, 66420, 66480, 66480, 66540, 66600, 66660, 66720, 66780, 66840, 66900, 66900, 66960, 67020, 67080, 67140, 67200, 67260, 67320, 67320, 67380, 67440, 67500, 67560, 67620, 67680, 67740, 67740, 67800, 67860, 67920, 67980, 68040, 68100, 68160, 68220, 68280, 68340, 68400, 68460, 68520, 68580, 68580, 68640, 68700, 68760, 68820, 68880, 68940, 69000, 69000, 69060, 69120, 69180, 69240, 69300, 69360, 69420, 69420, 69480, 69540, 69600, 69660, 69720, 69780, 69840, 69900, 69960, 70080, 70080, 70200, 70200, 70320, 70440, 70440, 70560, 70560, 70620, 70680, 70740, 70800, 70860, 70860, 70980, 70980, 71100, 71100, 71220, 71220, 71280, 71400, 71460, 71520, 71580, 71640, 71700, 71820, 71820, 71940, 72060, 72060, 72180, 72180, 72240, 72300, 72360, 72420, 72480, 72600, 72600, 72720, 72840, 72840, 72960, 72960, 73080, 73080, 73200, 73200, 73320, 73380, 73440, 73500, 73560, 73620, 73620, 73740, 73740, 73860, 73860, 73980, 73980, 74160, 74220, 74280, 74340, 74400, 74460, 74520, 74580, 74640, 74700, 74760, 74820, 74940, 75000, 75060, 75120, 75180, 75240, 75300, 75360, 75420, 75540, 75600, 75720, 75720, 75840, 75840, 75960, 75960, 76080, 76080, 76200, 76200, 76320, 76320, 76380, 76500, 76500, 76620, 76620, 76740, 76740, 76860, 76980, 76980, 77100, 77100, 77220, 77280, 77340, 77400, 77460, 77520, 77580, 77640, 77700, 77760, 77760, 77880, 78000, 78060, 78120, 78180, 78300, 78360, 78420, 78480, 78540, 78600, 78660, 78720, 78840, 78840, 78960, 78960, 79080, 79080, 79200, 79200, 79380, 79380, 79500, 79560, 79680, 79740, 79800, 79920, 79980, 80100, 80100, 80280, 80280, 80400, 80460, 80580, 80640, 80820, 81000, 81180, 81360, 81540, 81720, 82020, 82320, 82620, 82920, 83220, 83520, 83820, 84120, 84420, 84720, 85020, 85320, 85620, 85920, 86220 ] }

Permet d'obtenir les horaires d'un arrêt.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_timetable/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
id INTEGER REQUIS Id de l'arrêt
route_id INTEGER REQUIS Id de la ligne
direction INTEGER OPTIONNEL Direction de la ligne. 0: trajet dans un sens, 1: trajet dans le sens opposé. Défaut: 0
date STRING OPTIONNEL Date au format "aaaa-mm-jj"

Modèle de réponse

{ "success": true, "result": "Array of integer (seconds)" }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.
route_id required "route_id" est requis.

Get stop autocomplete

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_autocomplete/?api_key=API_KEY&query=vincenne&limit=3&page=0

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "name": "Château de Vincennes", "township": { "id": 20512, "name": "Vincennes" } }, { "name": "Gare de Vincennes", "township": { "id": 20512, "name": "Vincennes" } }, { "name": "Mairie de Vincennes", "township": { "id": 20512, "name": "Vincennes" } } ] }

Permet de rechercher des arrêts par leur nom.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_autocomplete/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
query STRING OPTIONNEL Texte recherché Défaut:
limit INTEGER OPTIONNEL Limite le nombre de résultats (maximum: 20). Défaut: 20
page INTEGER OPTIONNEL Numéro de page (commence par 0) Défaut: 0

Modèle de réponse

{ "success": "Boolean", "result": [ { "name": "String", "township": { "id": "Integer", "name": "String" } } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.

Get stop next departure

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_nextdeparture/?api_key=API_KEY&route_id=87325&id=1783141&direction=0

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ 42360, 42420, 42600 ] }

Permet d'obtenir les prochains horaires de départ d'une ligne passant par un arrêt.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_nextdeparture/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
id INTEGER REQUIS Id de l'arrêt
route_id INTEGER REQUIS Id de la ligne
direction INTEGER OPTIONNEL Direction de la ligne. 0: trajet dans un sens, 1: trajet dans le sens opposé. Défaut: 0

Modèle de réponse

{ "success": "Boolean", "result": "Array of integer (seconds)" }

Erreurs

Code Message Description
Area not found Area non trouvé.
id required "id" est requis.
route_id required "route_id" est requis.

Get stop nearby

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_nearby/?api_key=API_KEY&latitude=48.844326&longitude=2.440572&distance=25

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": 1783141, "code": "", "name": "Château de Vincennes", "routes": [ { "id": 87325, "type": 1, "color": "FFCD00", "agency": { "id": 2936, "name": "METRO", "url": null, "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000" } ], "distance": 1.47, "geometry": { "type": "Point", "coordinates": [ 2.440552, 48.844325 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, { "id": 1784028, "code": "", "name": "Château de Vincennes", "routes": [ { "id": 87089, "type": 3, "color": "FF5A00", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - La Varenne-Chennevières", "short_name": "112", "text_color": "FFFFFF" }, { "id": 87092, "type": 3, "color": "00643C", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Porte des Lilas - Mairie de Montreuil - Château de Vincennes", "short_name": "115", "text_color": "FFFFFF" }, { "id": 87095, "type": 3, "color": "DC9600", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - Eglise de Rosny-sous-Bois", "short_name": "118", "text_color": "000000" }, { "id": 87101, "type": 3, "color": "FF82B4", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - Val de Fontenay", "short_name": "124", "text_color": "000000" }, { "id": 87235, "type": 3, "color": "0055C8", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Château de Vincennes - Bobigny-Pantin Raymond Queneau", "short_name": "318", "text_color": "FFFFFF" }, { "id": 87241, "type": 3, "color": "82C8E6", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Quai de la Gare - Château de Vincennes", "short_name": "325", "text_color": "000000" }, { "id": 87036, "type": 3, "color": "D2D200", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Gare du Nord - Château de Vincennes", "short_name": "46", "text_color": "000000" }, { "id": 87041, "type": 3, "color": "A0006E", "agency": { "id": 2939, "name": "RATP", "url": "http://www.navitia.io/", "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "long_name": "Porte de Clignancourt - Château de Vincennes", "short_name": "56", "text_color": "FFFFFF" } ], "distance": 20.45, "geometry": { "type": "Point", "coordinates": [ 2.440797, 48.844217 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "1" } ] }

Permet d'obtenir les arrêts proche d'une position.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_nearby/

Paramètres de requête

Paramètre Type Contrainte Description
latitude FLOAT REQUIS Latitude (WGS84)
longitude FLOAT REQUIS Longitude (WGS84)
distance INTEGER OPTIONNEL Distance (mètres) maximale des autres arrêts, valeur comprise entre 1 et 25. Défaut: 25

Modèle de réponse

{ "success": "Boolean", "result": [ { "id": "Integer", "code": "String", "name": "String", "routes": [ { "id": "Integer", "type": "Integer", "color": "String (hexadecimal)", "agency": { "id": "Integer", "name": "String", "url": "String", "network": { "url": "String", "name": "String", "shortname": "String", "route_types": "Array of integer" } }, "long_name": "String", "short_name": "String", "text_color": "String (hexadecimal)" } ], "distance": "Float (meters)", "geometry": "Object (geojson)", "township": { "id": "Integer", "name": "String", "insee": "String" }, "wheelchair_boarding": "String" } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.
Latitude and longitude are required Latitude et Longitude sont requises.
latitude required and must be a floating point number Latitude est requise et doit être un nombre flotant.
longitude required and must be a floating point number Longitude est requise et doit être un nombre flotant.
latitude required and must be in WGS84 Latitude est requise et doit être en WGS84. Latitude doit être entre -90 et 90.
longitude required and must be in WGS84 Longitude est requise et doit être en WGS84. Latitude doit être entre -180 et 180.

Get stop route

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_route/?api_key=API_KEY&name=Ch%C3%A2teau%20de%20Vincennes&township_id=20512

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "id": 1783141, "code": "", "name": "Château de Vincennes", "routes": [ { "id": 87325, "type": 1, "color": "FFCD00", "agency": { "id": 2936, "name": "METRO", "url": null, "network": { "url": null, "name": "STIF", "shortname": "STIF", "route_types": [ 0, 1, 2, 3, 5 ] } }, "geometry": "}dliHmbtLtTuiAxPut@hYurApS}`ArMqj@zIqb@vJgb@~Qgz@|FeWzKek@rDmp@`Num@hHoZlMoj@pF{X|L{x@lLip@jm@mYeJmlAwC_kAxEcoAzCcr@lDyx@nE{kA", "direction": { "0": [ "La Défense (Grande Arche)" ], "1": [ "Château de Vincennes" ] }, "long_name": "Château de Vincennes - La Défense", "short_name": "1", "text_color": "000000" } ], "geometry": { "type": "Point", "coordinates": [ 2.440552, 48.844325 ] }, "township": { "id": 20512, "name": "Vincennes", "insee": "94080" }, "wheelchair_boarding": "0" }, "..." ] }

Permet d'obtenir les routes passant par un arrêt cherché par nom.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_route/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Zone de la donnée. Les valeurs possibles sont:
- "alger"
- "france"
- "switzerland"
- "spain"
name STRING REQUIS Nom de l'arrêt recherché.
township_id INTEGER REQUIS Identifiant de la ville de l'arrêt recherché.

Modèle de réponse

{ "success": "Boolean", "result": [ { "id": "Integer", "code": "String", "name": "String", "routes": [ { "id": "Integer", "type": "Integer", "color": "String (hexadecimal)", "agency": { "id": "Integer", "name": "String", "url": "String", "network": { "url": "String", "name": "String", "shortname": "String", "route_types": "Array of integer" } }, "geometry": "String (polyline encoded) or Object (geojson)", "direction": { "0": "Array of string", "1": "Array of string" }, "long_name": "String", "short_name": "String", "text_color": "String (hexadecimal)" } ], "geometry": "Object (geojson)", "township": { "id": "Integer", "name": "String", "insee": "String" }, "wheelchair_boarding": "String" } ] }

Erreurs

Code Message Description
Area not found Area non trouvé.
name required "name" est requis.

Get stop traffic

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_traffic/?api_key=API_KEY&area=idf&type=0&stop_id=IDFM:411398

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "messages": [ "Attentif ensemble : ne laissez rien derrière vous et veuillez signaler tout colis ou bagage qui vous paraîtrait abandonné au numéro d'alerte SNCF 3117 ou envoyez un SMS au 31177." ], "valid_since": null, "valid_until": "2022-12-31 22:50:00", "type": 1, "route_ids": [], "stop_ids": [ "IDFM:40962", "IDFM:411413", "IDFM:411400", "IDFM:411410", "IDFM:411295", "IDFM:411398", "IDFM:411403", "IDFM:411412", "IDFM:411411", "IDFM:411402", "IDFM:41071", "IDFM:411408", "IDFM:411401", "IDFM:411369", "IDFM:40990", "IDFM:411409" ], "cause": null, "effect": null }, { "messages": [ "Travaux RER B : le dimanche 22 mai uniquement, trafic interrompu entre Gare du Nord / Aéroport CDG2 - Mitry-Claye. Bus de substitution mis en place." ], "valid_since": null, "valid_until": "2022-05-22 00:00:00", "type": 0, "route_ids": [], "stop_ids": [ "IDFM:40962", "IDFM:411413", "IDFM:411400", "IDFM:411410", "IDFM:411295", "IDFM:411398", "IDFM:411403", "IDFM:411412", "IDFM:411411", "IDFM:411402", "IDFM:41071", "IDFM:411408", "IDFM:411401", "IDFM:411369", "IDFM:40990", "IDFM:411409" ], "cause": null, "effect": null }, { "messages": [ "Travaux RER B: la gare de port-Royal est fermée au public du 28 février au 28 août. Reportez-vous sur la ligne de bus 38 pour vos trajets entre Luxembourg et Denfert-Rochereau." ], "valid_since": null, "valid_until": "2022-08-29 00:00:00", "type": 0, "route_ids": [], "stop_ids": [ "IDFM:411398", "IDFM:411295", "IDFM:411410", "IDFM:411400", "IDFM:411413", "IDFM:40962", "IDFM:411402", "IDFM:411411", "IDFM:411412", "IDFM:411403", "IDFM:411409", "IDFM:40990", "IDFM:411369", "IDFM:411401", "IDFM:411408", "IDFM:41071" ], "cause": null, "effect": null }, { "messages": [ "Travaux RER B : des travaux sont réalisés toute l'année dans vos gares. Préparez votre voyage avec les affiches en gare et auprès de nos agents." ], "valid_since": null, "valid_until": "2022-12-31 22:50:00", "type": 0, "route_ids": [], "stop_ids": [ "IDFM:411398", "IDFM:411295", "IDFM:411410", "IDFM:411400", "IDFM:411413", "IDFM:40962", "IDFM:411402", "IDFM:411411", "IDFM:411412", "IDFM:411403", "IDFM:411409", "IDFM:40990", "IDFM:411369", "IDFM:411401", "IDFM:411408", "IDFM:41071" ], "cause": null, "effect": null }, { "messages": [ "Témoin d'une situation qui présente un risque pour votre sécurité ou celle des autres voyageurs, appelez le numéro d'alerte SNCF au 3117 ou envoyez un SMS au 31177." ], "valid_since": null, "valid_until": "2022-12-31 22:50:00", "type": 1, "route_ids": [], "stop_ids": [ "IDFM:40962", "IDFM:411413", "IDFM:411400", "IDFM:411410", "IDFM:411295", "IDFM:411398", "IDFM:411403", "IDFM:411412", "IDFM:411411", "IDFM:411402", "IDFM:41071", "IDFM:411408", "IDFM:411401", "IDFM:411369", "IDFM:40990", "IDFM:411409" ], "cause": null, "effect": null }, { "messages": [ "Travaux RER B, les 26 et 29 mai trafic interrompu entre Gare du Nord / Aulnay sous Bois / Aéroport CDG 2. Bus de substitution mis en place." ], "valid_since": null, "valid_until": "2022-05-26 00:00:00", "type": 0, "route_ids": [], "stop_ids": [ "IDFM:40962", "IDFM:411413", "IDFM:411400", "IDFM:411410", "IDFM:411295", "IDFM:411398", "IDFM:411403", "IDFM:411412", "IDFM:411411", "IDFM:411402", "IDFM:41071", "IDFM:411408", "IDFM:411401", "IDFM:411369", "IDFM:40990", "IDFM:411409" ], "cause": null, "effect": null } ] }

Messages d’information sur l’état du trafic en temps réel par arrêt. Ce service donne l’ensemble des informations concernant les perturbations sur le trafic (incidents, travaux prévus et non prévus...).

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_traffic/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Identifiant de la zone.
Valeurs disponibles: 'idf'.
stop_id STRING REQUIS Identifiant de l'arrêt.
type INTEGER OPTIONNEL Type d'information. Valeurs disponibles:
0: Perturbation,
1: Information,
2: Commercial

Modèle de réponse

{ "success": "Boolean", "result": [ { "messages": [ { "message": "String", "language": "String (code alpha-2)" } ], "valid_since": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "valid_until": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "type": "Integer", "route_ids": "Array of string", "stop_ids": "Array of string", "cause": "Integer", "effect": "Integer" } ] }

Erreurs

Code Message Description
bad_api_key API KEY n'est pas valide
missing_parameter_area Paramètre area manquant.
area_not_found Area envoyé non trouvé.

Get stop next departure perturbations

Exemple de requête:

https://api.visitmoov.com/api/v1/get_stop_next_departure_perturbation/?api_key=API_KEY&area=idf&stop_id=IDFM:22388

Cette requête renvoie un JSON structuré comme ceci:

{ "success": true, "result": [ { "route_id": "IDFM:C01377", "at_stop": false, "expected_arrival_time": "2022-06-13 15:51:22", "expected_departure_time": "2022-06-13 15:51:22", "arrival_delay": null, "departure_delay": null, "status": 0, "direction": null, "direction_name": "LA COURNEUVE-8 MAI 1945", "destination_name": "La Courneuve-8-Mai-1945", "stop_name": "Chaussée d'Antin (La Fayette)", "destination_display": "La Courneuve-8-Mai-1945" }, { "route_id": "IDFM:C01377", "at_stop": false, "expected_arrival_time": "2022-06-13 15:55:13", "expected_departure_time": "2022-06-13 15:55:13", "arrival_delay": null, "departure_delay": null, "status": 0, "direction": null, "direction_name": "LA COURNEUVE-8 MAI 1945", "destination_name": "La Courneuve-8-Mai-1945", "stop_name": "Chaussée d'Antin (La Fayette)", "destination_display": "La Courneuve-8-Mai-1945" }, { "route_id": "IDFM:C01377", "at_stop": false, "expected_arrival_time": "2022-06-13 16:00:33", "expected_departure_time": "2022-06-13 16:00:33", "arrival_delay": null, "departure_delay": null, "status": 0, "direction": null, "direction_name": "LA COURNEUVE-8 MAI 1945", "destination_name": "La Courneuve-8-Mai-1945", "stop_name": "Chaussée d'Antin (La Fayette)", "destination_display": "La Courneuve-8-Mai-1945" }, { "route_id": "IDFM:C01377", "at_stop": false, "expected_arrival_time": "2022-06-13 16:05:17", "expected_departure_time": "2022-06-13 16:05:17", "arrival_delay": null, "departure_delay": null, "status": 0, "direction": null, "direction_name": "LA COURNEUVE-8 MAI 1945", "destination_name": "La Courneuve-8-Mai-1945", "stop_name": "Chaussée d'Antin (La Fayette)", "destination_display": "La Courneuve-8-Mai-1945" } ] }

Permet d'obtenir les prochains horaires estimé de départ des lignes passant par un arrêt. L'avance ou le retard à l'arrêt de la ligne sera renvoyé si cette informations est disponible.

Requète HTTP

GET https://api.visitmoov.com/api/v1/get_stop_next_departure_perturbation/

Paramètres de requête

Paramètre Type Contrainte Description
area STRING REQUIS Identifiant de la zone.
Valeurs disponibles: 'idf'.
stop_id STRING REQUIS Identifiant de l'arrêt.

Modèle de réponse

{ "success": "Boolean", "result": [ { "route_id": "String", "at_stop": "Boolean", "expected_arrival_time": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "expected_departure_time": "String (Datetime format YYYY-MM-DD hh:mm:ss)", "arrival_delay": "Integer (Seconds)", "departure_delay": "Integer (Seconds)", "status": "Integer (0: on time, 1: early, 2: delayed, 3: cancelled, 4: arrived, 5: departed, 6: not expected, 7: no report)", "direction": "Integer", "direction_name": "String", "destination_name": "String", "stop_name": "String", "destination_display": "String" } ] }

Erreurs

Code Message Description
bad_api_key API KEY n'est pas valide
missing_parameter_area Paramètre area manquant.
area_not_found Area envoyé non trouvé.

Widgets

Les widgets permettent d'utiliser l'affichage de Visitmoov pour afficher les données des APIs. Les APIs pertinentes à l'affichage sont disponible en tant que widget. Les widgets ont des urls en /widget/v{version}/... Les widgets ont les paramètres dans les APIs correspondantes et ont des paramètres supplémentaires. Les paramètres suivants sont commun à tout les widgets:

Paramètre Type Contrainte Description
map INTEGER OPTIONNEL 0: Ne pas afficher la carte, 1: Afficher la carte (Défaut: 1)
tile_url STRING OPTIONNEL Url représentant le fond de carte. Permet d'utiliser un autre fond de carte (exemple: OSM).

Les paramètres suivants sont commun à tout les widgets Visitmoov de recherche de POI:

parameter type constraint description
detail STRING OPTIONNEL Permet d'afficher lien vers le detail du POI. 0: Ne pas afficher, 1: Afficher (Défaut: 0)
pagination STRING OPTIONNEL Permet d'afficher la pagination. 0: Ne pas afficher, 1: Afficher (Défaut: 0)

Les paramètres suivant sont utilisé pour le widget magic_tour_extern:

parameter type constraint description
dep_name STRING OPTIONNEL Permet d'indique le nom du point de départ à afficher dans le widget.
arr_name STRING OPTIONNEL Permet d'indique le nom du point d'arrivée à afficher dans le widget.
info_url STRING OPTIONNEL Url d'un fichier json représentant les information supplémentaires à afficher dans le Magic Tour Extern. Ces informations supplémentaires concernent les visites. Il faut que chaque visite a l'id lui correspondant dans les paramètres du Magic Tour Extern "visits".
{
"visits": [
{
"id": "Id correspondant à celui indiqué dans les paramètres du Magic Tour Extern",
"name": "Nom du lieu",
"description": "Description du lieu",
"image_url": "Url de l'image du lieu",
"affluences": "Tableau de 24 valeurs comprise entre 1 et 100",
},
...
]
}

Les paramètres suivants sont commun à tous les widgets Transit d'affichage d'horaire (get_stop_timetable, get_route_timetable):

parameter type constraint description
change_direction INTEGER OPTIONNEL Permet d'afficher la possibilité de changer de direction. 0: Ne pas afficher, 1: Afficher (Défaut: 0)
change_date INTEGER OPTIONNEL Permet d'afficher la possibilité de changer de date. 0: Ne pas afficher, 1: Afficher (Défaut: 0)
next_service INTEGER OPTIONNEL Permet d'afficher un lien vers la prochaine date de service si il n'y a pas de service pour le jour demandé. 0: Ne pas afficher, 1: Afficher (Défaut: 0)

Donnée area_id

La donnée area_id représente l'identifiant de la zone. Dans les requêtes sur Visitmoov cela permet d'obtenir les données appartenant à la zone demandée. Voici les zones disponibles:

Zone Id
Paris 4aefd182a18bf7c7f8e451ae178bd2eac67c8a19
World c484d61e83677ff21b250f85896fffed5120b6b22
Spain 388050c2cab1096b256aebddf7dda44e31a5f976
Selfietour Paris ed0e2042858e2617e7b2751a429a36fbd49c6ae0
Selfietour Nice f5277eb286e2dbdb820dee3f2dcc760a44df4bb8
Selfietour La Grande Motte 9e8d05c954fbb31e1afbc9b959672971b388dcd5
Visitmoov paca 4085ccbe96082693c6e4db683ff156b26b32eaf2
Visitmoov World Amadeus 45dbec8cc5c769a37c6461feede2db70612397b33
Visitmoov Quark IDF 66ba68aee53de54f9b349f36a7419439d673d382

Sous-types de lieu/événement

Les lieux et les événements sont catégorisé de la manière suivante:

Culture:

Sous-type Id
Spectacle b2eac14daba149d4180e7e3876a0151ca95733c9
Musée - Art 061398a58a28fe7638b268702ae80f4d45ed7e96
Musique 0fbaa8724323c1b54e2451016ea0e4d983e4d838
Découverte c7f4b19231189ef0ff2399ed41a88b4269f8ee01
Monument 18e962dfa7e1cce2583c05a7c5b12c2e793b2b20
Lieu de culte 23fe6e8dbcc0dbaeba12bb21e0c5552d2f468918
Culturel d45adb232bf337a2f8f44522c4db227f9d072f7e

Sport:

Sous-type Id
Sport 8acd804a556526777439ab79174e5e8b1ee651a3
Randonnée b9f06a242fca80e10b15cb60d9977a725a6ac93c
Sport d'hiver b72c8602824da2fb2342216aa3303a959941e367

Loisirs:

Sous-type Id
Loisir c739a7ca8d12b23c583981115b1c1cab453f3d1e
Soirée - Rencontre 63e47f9f8ab161b11b9bb2ce84c5a9dce680881b
Association 6d9af2cbb174a95d5aecc78eadbaac47e0415b34

Evénements:

Sous-type Id
Fête - Tradition e198e428e6fa6a96a58cd4614bc0c4e320207976
Famille 24157e4269bb92d3f98ed1b12b782af083bd8acd

Shopping:

Sous-type Id
Commerce 84713ccbe2e264b82e8fd05e735a08b185e2b9c9

Autres:

Sous-type Id
Autre cf3b91787b9beda655b991797d80f7a639d1fa64

Sous-types d'hôtel

Les hôtels sont catégorisé de la manière suivante:

Sous-type Id
Hôtel 44e8d3a418e035c3fe965fb40d9a183bad0cda17
Motel b6b696c54ccaf1a2499e136add6f1393b4ea2e33
Chambre d'hôte (B&B) a49fea11b4df5e8f7b72261a59d025395ecf4642
Auberge de jeunesse 94e7293c88e277ebb09b127357d19b83463fa021
Maison de vacances privée 7af2c6fa81b1b17805cdd1b1a2aa8e52fa4292d0
Résidence hôtelière 732b220a154ad628bc35b3f4b918ec07ec02faaa
Camping 8585f5205f74ca1941eb1d3583891e1b240b7df5
Résidence 91b2cb76ffc1bdd1b31db12e0c279b420ae8288c
Gîte rural 2ea8eb385da6f469826af666dfe7bbb94740dae7
Hôtel-Inconnu b3f51ee9fd0b40d1dd3c785df3e8305cdd5e03f7
Nature 95ff5a4b217796d87f40b4103b113b5e8131a3f4
Insolite e821fd3de14ca81a94b9b423b2ae48af6effce58
Centre d55056aed58dad535a62a4d41404b43094ca179d
Village de vacances 06198210cb446dc5c479a4b79f75fead440b7064
Bivouac ba01dcd4b72623a9c1a1b45eb8ec5622b62aaf4a

Sous-types de restaurant

Les restaurants sont catégorisé de la manière suivante:

Sous-type Id
Restaurant c1800e8299993f98866215134d12e8fd55ea1464
Livraison A Domicile-Plat A Emporter a54e3eb0e765290bc31a4342a2d0b3033f8fd63d
Fast Food - Restauration Rapide 100bb8b60215485e464a48d0567bda3c686f0c76
Cuisinier - A Domicile 01eda4945c3396f23876d189194c72bdce99ebdf
Ferme - Auberge 672b0cc94e203d0602a5f9e26b6f770fdcc6b029
Brasserie 62067ccdaedcaa6a9dcb1e6183f1deb1924e587f
Snack a0f5fad6c71794e1553a83110f120956607a7fab
Pizzeria f5d79ca93ff7fa92b57d1de6d5a3781f11994509
BarAVin e24ac89a532b1eb108fccaf465b90283a16b19fe
Traiteur d43a5049816e9a7b76a4b85bbdbb11e70c6ccfc6
Autre 2b9bd3930cdec8d4b05e0dab47314fdb120a88ed
Végétalien 4abf4e5db13743f56f17293d31566c9f49a48326
Dégustation f6f931fb148f81d2593636fe7ae76f06411f3a5c
Creperie d7a75d2727cca4d560382c866990eda7916f8e8d

Kind

Indique quel type de POI il représente.

Valeur Texte
0 Lieu
1 Restaurant
2 Hôtel
3 Evénement

Types de manœuvre

Une chaîne indiquant le type de manœuvre. De nouveaux identifiants peuvent être introduits sans modification de l'API. Les types inconnus du client doivent être traités comme le type "trun", l'existence de valeurs correctes du "modifier" est garantie.

Valeur Texte
turn un virage de base dans la direction du "modifier"
new name aucun virage n'est pris/possible, mais le nom de la route change. La route peut elle-même prendre un virage, en suivant le "modifier".
depart indique le départ de l'étape
arrive indique la destination de l'étape
merge rejoindre une rue (par exemple : pour rejoindre l'autoroute à partir d'une bretelle, le "modifier" indique la direction de la jonction).
ramp [Obsolète] Remplacé par "on_ramp" et "off_ramp".
on ramp prendre une rampe pour entrer sur une autoroute (direction donnée par le "modifier")
off ramp prendre une bretelle pour sortir d'une autoroute (direction donnée par le "modifier")
fork prendre le côté gauche/droit à une bifurcation en fonction du "modifier"
end of road la route se termine par une intersection en T tourner dans la direction du "modifier"
use lane [Obsolète]. Remplacé par des voies sur toutes les entrées d'intersection
continue tourner dans la direction du "modifier" pour rester sur la même route
roundabout traverse d'un rond-point. Si la route quitte le rond-point, il y aura une propriété supplémentaire "exit" pour le comptage des sorties. Le "modifier" spécifie la direction de l'entrée dans le rond-point.
rotary rond-point en général à plusieurs voies. Bien qu'il soit très similaire à une version plus grande d'un "roundabout", il ne suit pas nécessairement les même règles en matière de droit de passage. Il peut y avoir les propriétés "rotary_name" et/ou "rotary_pronunciation" (dans l'objet parent) en plus du paramètre "exit".
roundabout turn décrit un virage à un petit rond-point qui doit être traité comme un virage normal. Le "modifier" indique la direction du virage (par exemple : au rond-point, tourner à gauche).
notification Il ne s'agit pas d'un virage à proprement dit, mais d'un changement dans les conditions de conduite (par exemple, le mode de déplacement ou les classes). Si la route prend elle-même un virage, le "modifier" indique la direction.
exit roundabout Décrit une manœuvre en sortie de rond-point (généralement précédée d'une instruction "roundabout").
exit rotary Décrit la manœuvre de sortie d'un rond-point (grand rond-point).
uturn indique un changement de direction
sharp right un virage serré à droite
right un virage normal vers la droite
slight right un léger virage à droite
straight pas de changement de direction significatif
slight left un léger virage à gauche
left un virage normal vers la gauche
sharp left un virage serré vers la gauche
exit Un entier optionnel indiquant le numéro de la sortie à prendre. Cette propriété existe pour les rond-points : Numéro de la sortie du rond-point à emprunter. Si la sortie n'est pas définie, la destination se trouve sur le rond-point.

Type d'itinéraire

Le tableau suivant présente les types d'itinéraires proposés.

Valeur Texte
0 tramway ou métro léger. Tout système de métro léger ou circulant sur la chaussée dans une zone métropolitaine.
1 métro. Tout système ferroviaire souterrain circulant au sein d'une zone métropolitaine.
2 train. Utilisé pour les trajets interurbains ou longue distance.
3 bus. Utilisé pour les lignes de bus courte et longue distance.
4 ferry. Utilisé pour le service de bateaux courte et longue distance.
5 tramway à traction par câble. Utilisé pour les systèmes de tramways au niveau de la chaussée dans lesquels le câble passe sous le véhicule, comme c'est le cas à San Francisco.
6 téléphérique. Service de transport par câble où les cabines, voitures, télécabines ou sièges sont suspendus à l'aide d'un ou de plusieurs câbles.
7 funiculaire. Tout système ferroviaire conçu pour les pentes raides.
8 avion
11 trolleybus. Autobus électrique alimenté par des lignes aériennes de contact.
12 monorail. Service de chemin de fer roulant sur une voie constituée d'un rail ou d'une poutre unique.
100 Service de chemin de fer
101 Service de chemin de fer à grande vitesse - TGV (FR), ICE (DE), Eurostar (GB)
102 Grandes lignes de chemin de fer - InterCity/EuroCity
103 Service de chemin de fer transrégional - InterRegio (DE), Cross County Rail (GB)
104 Service de transport de voitures par chemin de fer
105 Service de chemin de fer à couchettes - GNER Sleeper (GB)
106 Service de chemin de fer régional - TER (FR), Regionalzug (DE)
107 Service de chemin de fer touristique - Romney, Hythe & Dymchurch (GB)
108 Navette ferroviaire (au sein d'un complexe) - Gatwick Shuttle (GB), Sky Line (DE)
109 Chemin de fer de banlieue - S-Bahn (DE), RER (FR), S-tog (Copenhague)
110 Service de chemin de fer de substitution
111 Service de chemin de fer spécial
112 Service de transport de camions par chemin de fer
113 Service de chemin de fer (toute catégorie)
114 Service de chemin de fer transnational
115 Service de transport de véhicules par chemin de fer
116 Chemin de fer à crémaillère - Rochers de Naye (CH), Dolderbahn (CH)
117 Service de chemin de fer supplémentaire
200 Service de cars
201 Service de cars internationaux - EuroLine, Touring
202 Service de cars nationaux - National Express (GB)
203 Service de navette par car - Roissy Bus (FR), Reading-Heathrow (GB)
204 Service de cars régionaux
205 Service de cars spéciaux
206 Service de visite touristique en car
207 Service de cars touristiques
208 Service de cars de banlieue
209 Service de cars (toute catégorie)
400 Service de chemin de fer urbain
401 Service de chemin de fer métropolitain - Métro de Paris
402 Service de transport souterrain - London Underground, U-Bahn
403 Service de chemin de fer urbain
404 Service de chemin de fer urbain (toute catégorie)
405 Monorail
700 Service d'autobus
701 Service d'autobus régional - Eastbourne-Maidstone (GB)
702 Service d'autobus express - X19 Wokingham-Heathrow (GB)
703 Service d'autobus desservant des arrêts - 38 London: Clapton Pond-Victoria (GB)
704 Service d'autobus local
705 Service de bus de nuit - Bus avec le préfixe N à Londres (GB)
706 Service de car postal - Maidstone P4 (GB)
707 Service d'autobus pour passagers présentant des besoins spéciaux
708 Service d'autobus pour personnes à mobilité réduite
709 Service d'autobus pour personnes à mobilité réduite (déclarées comme telles)
710 Autobus panoramique
711 Service de navette par autobus - 747 Service de navette entre les aéroports d'Heathrow et de Gatwick (GB)
712 Bus scolaire
713 Bus scolaire et à usage public
714 Service de substitution par autobus (remplacement d'un service de chemin de fer)
715 Service de transport par autobus à la demande
716 Service d'autobus (toute catégorie)
800 Service de trolleybus
900 Service de tramway
901 Service de tramway urbain
902 Service de tramway local - Munich (DE), Bruxelles (BE), Croydon (GB)
903 Service de tramway régional
904 Service de tramway touristique - Blackpool Seafront (GB)
905 Service de navette par tramway
906 Service de tramway (toute catégorie)
1000 Service de transport fluvial
1100 Service de transport aérien
1200 Service de ferry
1300 Service de téléphérique - Telefèric de Montjuïc (ES), Salève (CH), Roosevelt Island Tramway (US)
1301 Service de télécabine
1302 Service de téléphérique
1303 Service de remontée mécanique
1304 Service de télésiège
1305 Service de transport par câbles
1306 Service de télécabine de petite taille
1307 Service de télécabine (toute catégorie)
1400 Service de funiculaire - Rigiblick (Zürich, CH)
1500 Service de taxis
1501 Service de taxis communaux - Marshrutka (RU), dolmuş (TR)
1502 Service de taxi fluvial
1503 Service de taxis en gare de chemin de fer
1504 Service de vélotaxi
1505 Service de taxis réglementé
1506 Service de location de véhicules particuliers
1507 Service de taxis (toute catégorie)
1700 Services divers
1702 Calèche

Causes de perturbation

Liste des valeurs possibles des causes de perturbation pour les APIs de message d'information sur le trafic.

Valeur Texte
0 Cause inconnue
1 Autre cause
2 Problème technique
3 Grève
4 Manifestation
5 Accident
6 Vacance
7 Météo
8 Entretien
9 Construction
10 Activité policière
11 Urgence médicale

Effets de perturbation

Liste des valeurs possibles des effets de perturbation pour les APIs de message d'information sur le trafic.

Valeur Texte
0 Pas de service
1 Service réduit
2 Retards importants
3 Déviation
4 Service supplémentaire
5 Service modifié
6 Autre effet
7 Effet inconnu
8 Arrêt déplacé
9 Aucun effet
10 Problème d'accessibilité

Erreurs

Les erreurs mentionné dans chaque API ne constituent pas une liste exhaustive. Voici les erreurs commune à toute nos API:

Code Message Description
missing_api_key Champ api_key manquant
not_allowed Non autorisé
app_not_allowed Application non autorisé (Voir compte, réglage d'application)
user_limit_call_reached Limite d'appel utilisateur atteinte
group_limit_call_reached Limite d'appel du groupe d'API atteinte
application_limit_call_reached Limite d'appel d'application atteinte (Voir compte, réglage d'application)
domain_not_allowed Domaine non autorisé (Voir compte, réglage d'application)