External Api request

Hello everyone I have a small problem with my api and appinventor I want to make a request to the idelis server (a bus network in the city of Pau France) but when I make a request with the web component I have this

 Forbidden error code (403)
CSRF verification failed. The request was terminated.

You are seeing this message because this HTTPS site requires the web browser to send a "Referer" header, which it did not do. This header is required for security reasons, to ensure that the browser has not been hijacked by an external party.

If you have disabled your browser from sending “Referer” headers, please re-enable them, at least for this site or for HTTPS connections, or for same-origin requests.

If you use the <meta name="referrer" content="no-referrer"> tag or include the "Referrer-Policy: no-referrer" header, it is best to remove them. CSRF protection requires the `Referer` header to perform strict referrer control. If you care about privacy, use alternatives like <a rel="noreferrer" …> for links to third-party sites.

can you help me I can't find a solution on my own (there is documentation attached)
Doc_API_IDELIS_v1.0.0.pdf (481.1 KB)

api_idelis_test.aia (7.9 KB)
ask me privately to get an api key

Do you have an English pdf?

I guess that's going to be hard for a French bus system.
So let's see if this board can translate what I copy and paste from your French pdf:

(edit - well, I tried.)

Documentation API IDELIS
Version 1.0.0
05 Octobre 2019
IDELIS Mise à jour : 05 Octobre 2019
Système d’Information IDELIS - Page | I
Table des matières

  1. Démarche ........................................................................................................................................................................... 1
  2. Architecture ................................................................................................................................................................. 1
  3. Les Web Services......................................................................................................................................................... 2
    3.1.1. GetStopMonitoring ................................................................................................................................................. 2
    3.1.1.1. Présentation ........................................................................................................................................................ 2
    3.1.1.2. Requête .......................................................................................................................................................... 2
    3.1.1.3. Format de réponse ......................................................................................................................................... 2
  4. AroundMe .................................................................................................................................................................... 4
    4.1.1. Présentation ............................................................................................................................................................. 4
    4.1.2. Requête ................................................................................................................................................................... 4
    4.1.3. Format de réponse ................................................................................................................................................... 4
  5. AutoComplete .............................................................................................................................................................. 6
    5.1.1. Présentation ............................................................................................................................................................. 6
    5.1.2. Requête ................................................................................................................................................................... 6
    5.1.3. Format de réponse ................................................................................................................................................... 6

IDELIS
Mise à jour : 05 Octobre 2019

  1. Démarche
    Les API IDELIS sont des services gratuits permettant de lire les données générées par les différents outils internes de la
    STAP. Ces données sont également utilisées par les services de la STAP pour exploiter le réseau de bus.
    D’abord développés pour des besoins internes et pour la construction du nouveau site internet et de la nouvelle application
    mobile, les API IDELIS ont été également mises à disposition publiquement dans un esprit d’ouverture et de transparence du
    fonctionnement du réseau de transport de l’Agglomération Paloise.
    Les services sous leur forme d’API sont inspirés de l’architecture REST (Representational State Transfer) et sont accessible
    au format JSON.
    Ces services s’adressent avant tout aux développeurs, il permet de simplement et rapidement récupérer toutes les
    informations composant le Système d’Information de la STAP.
    Le but de cette démarche est de créer une communauté autour des outils de transports IDELIS et de favoriser l’ouverture de
    l’information numérique sur la mobilité dans l’Agglomération Paloise. N’hésitez pas à participer au développement ou à la
    documentation des outils existants via le GitHub IDELIS (idelis (IDELIS) · GitHub). Vous pouvez également développer vos
    propres applications reposant sur ces API !
    Enfin pour toutes informations ou suggestions contactez-nous via le site Inscription à la newsletter - Idelis ou par e-mail à si@idelis.fr.

  2. Architecture
    Les différentes API IDELIS décrites dans ce document sont des interfaces entre le SAEIV (Système d’Aide à l’Exploitation
    et d’Information Voyageur) et Internet. Toutes les informations sont extraites de bases de données via le protocole SIRI
    (Service Interface for Real time Information) protocole d’échange d’information temps réel pour les transports collectifs (au
    format XML).
    Système d’Information IDELIS - Page | 1
    IDELIS Mise à jour : 05 Octobre 2019
    Système d’Information IDELIS - Page | 2

image

  1. Les Web Services
    3.1.1. GetStopMonitoring
    3.1.1.1. Présentation
    Le web service GetStopMonitoring vous permet d’obtenir les informations en temps réel des prochains passages pour un
    arrêt donné. Cette information peut également être filtrée sur une ligne lors de la requête.
    3.1.1.2. Requête
    La requête d’interrogation est de type GET à l’adresse qui vous sera communiquée après création du Compte Utilisateur.
    Vous recevrez un mail avec les détails vous permettant de lancer la requête.
    Cette dernière doit comporter plusieurs éléments :
     Dans le Header :
    Clé Valeur Type Obligatoire
    X-AUTH-TOKEN Clé d’API fournis par IDELIS après inscription String Oui
    Content-Type Application/json String Non

 Dans le Body :
Clé Valeur Type Signification Obligatoire
code Code Hastus de l’arrêt String Les codes des arrêts sont disponibles sur
data.idelis.fr Oui
ligne Nom de la ligne String Les noms des lignes sont disponibles sur
data.idelis.fr Non
next Nombre de passage(s) Integer Nombre de prochain(s) passage(s) à afficher Oui

image

Exemple :

{ 
    "code":"F-EBOS_A", 
    "ligne":"F", 
    "next":"3" 
} 

3.1.1.3. Format de réponse
La réponse à la requête est au format JSON. Elle contient les informations suivantes :
Clé Valeur Type Signification
ligne Nom de la ligne String Nom court de la ligne disponible sur data.idelis.fr
destination Terminus de la ligne String Nom court de la ligne disponible sur data.idelis.fr
pmr Arrêt accessible Boolean Arrêt accessible ou non
passages Liste des prochains
passages Table Liste des prochains passages à l’arrêt pour la ligne
arrivee
Nombre de minute
avant prochain
passage
String Nombre de minutes avant le prochain passage. Peut
afficher l’heure si le temps d’attente excède 59 minutes
type Type de temps String
Précise si le temps est réel en fonction de la vitesse du
bus ou si le temps est théorique comme affiché sur les
fiches horaires
premier Premier passage Boolean Premier passage de la journée
dernier Dernier passage Boolean Dernier passage de la journée

image

Exemple :
IDELIS Mise à jour : 05 Octobre 2019
Système d’Information IDELIS - Page | 3

{ 
    "SIRI_IDELIS:Line::T2:LOC_SIRI_IDELIS:StopPoint:BP:LPSU_12:LOC": { 
        "ligne": "T2", 
        "destination": "LONS Perlic Sud", 
        "pmr": true, 
        "passages": [ 
            { 
                "arrivee": "29min", 
                "type": "theorique", 
                "premier": false, 
                "dernier": false 
            }, 
            { 
                "arrivee": "12:33", 
                "type": "theorique", 
                "premier": false, 
                "dernier": false 
            }, 
            { 
                "arrivee": "13:23", 
                "type": "theorique", 
                "premier": false, 
                "dernier": false 
            } 
        ] 
    }, 
    "SIRI_IDELIS:Line::T3:LOC_SIRI_IDELIS:StopPoint:BP:LSOLEI_O:LOC": { 
        "ligne": "T3", 
        "destination": "LESCAR Soleil", 
        "pmr": true, 
        "passages": [ 
            { 
                "arrivee": "29min", 
                "type": "reel", 
                "premier": false, 
                "dernier": false 
            }, 
            { 
                "arrivee": "12:33", 
                "type": "theorique", 
                "premier": false, 
                "dernier": false 
            }, 
            { 
                "arrivee": "13:23", 
                "type": "theorique", 
                "premier": false, 
                "dernier": false 
            } 
        ] 
    } 
}  

IDELIS Mise à jour : 05 Octobre 2019
Système d’Information IDELIS - Page | 4
4. AroundMe
4.1.1. Présentation
AroundMe vous permet d’obtenir une liste des arrêts les plus proches de votre position en WGS84 (EPSG 4326).
4.1.2. Requête
La requête d’interrogation est de type GET à l’adresse qui vous sera communiquée après création du Compte Utilisateur.
Vous recevrez un mail avec les détails vous permettant de lancer la requête.
Cette dernière doit comporter plusieurs éléments :
 Dans le Header :
Clé Valeur Type Obligatoire
X-AUTH-TOKEN Clé d’API fournis par IDELIS après inscription String Oui
Content-Type Application/json String Non

 Dans le Body :
Clé Valeur Type Obligatoire Commentaire
latitude Latitude de la position (ex. :
41.40338) Decimal Oui En WGS84 (EPSG 4326) au format
anglo-saxon
longitude Longitude de la position (ex. :
2.17403) Decimal Non En WGS84 (EPSG 4326) au format
anglo-saxon

image

Exemple :
{
"latitude":"43.29772",
"longitude":"-0.36569"
}

4.1.3. Format de réponse
La réponse à la requête est au format JSON. Elle contient les informations suivantes :
Clé Valeur Type Signification
id ID de l’arrêt Int Id de l’arrêt dans la base de
libelle Nom de l’arrêt String Noms des arrêts disponibles sur data.idelis.fr
ligne Nom des lignes s’arrêtant à cet
arrêt String Nom court des lignes desservant cet arrêt
direction Direction des lignes s’arrêtant
à cet arrêt String Nom de la destination des lignes desservant cet arrêt
timeo Numéro Timeo de l’arrêt Int Numéro TIMEO affecté à cet arrêt
hastus Code Hastus de l’arrêt String Code HASTUS affecté à cet arrêt
latitude Latitude de l’arrêt Decimal En WGS84 (EPSG 4326) au format anglo-saxon
longitude Longitude de l’arrêt Decimal En WGS84 (EPSG 4326) au format anglo-saxon
pmr Arrêt accessible au PMR Int Précise si l’arrêt est accessible aux Personnes à Mobilité
Réduite (0 pour non, 1 pour oui)
distance Distance à laquelle se trouve
l’arrêt Decimal Distance à laquelle se trouve l’arrêt de la position déclarée

IDELIS Mise à jour : 05 Octobre 2019
Système d’Information IDELIS - Page | 5

image

Exemple :

[ 
    { 
        "id": "177", 
        "libelle": "Bosquet Quai C", 
        "ligne": "A", 
        "direction": "PAU Eauze", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": "43.297664388338", 
        "longitude": "-0.365682348629", 
        "pmr": "1", 
        "distance": "0.00620900575556128" 
    }, 
    { 
        "id": "178", 
        "libelle": "Bosquet Quai C", 
        "ligne": "A", 
        "direction": "PAU Bosquet", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": "43.297664388338", 
        "longitude": "-0.365682348629", 
        "pmr": "1", 
        "distance": "0.00620900575556128" 
    }, 
    { 
        "id": "179", 
        "libelle": "Bosquet Quai C", 
        "ligne": "B", 
        "direction": "PAU Porte des Pyrénées", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": "43.297664388338", 
        "longitude": "-0.365682348629", 
        "pmr": "1", 
        "distance": "0.00620900575556128" 
    }, 
    { 
        "id": "180", 
        "libelle": "Bosquet Quai C", 
        "ligne": "B", 
        "direction": "PAU Bosquet", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": "43.297664388338", 
        "longitude": "-0.365682348629", 
        "pmr": "1", 
        "distance": "0.00620900575556128" 
    } 
]  

IDELIS
Mise à jour : 05 Octobre 2019
5. AutoComplete
5.1.1. Présentation
Le service AutoComplete vous permet d’obtenir une liste des arrêts suivant les caractères entrés.
5.1.2. Requête
La requête d’interrogation est de type GET à l’adresse qui vous sera communiquée après création du Compte Utilisateur.
Vous recevrez un mail avec les détails vous permettant de lancer la requête.
Cette dernière doit comporter plusieurs éléments :

Dans le Header :
Clé
Valeur
X-AUTH-TOKEN
Type
Clé d’API fournis par IDELIS après inscription
Obligatoire
Content-Type
String
Application/json
Oui
String

Dans le Body :
Clé
Valeur
Type
Obligatoire
Non
search
Commentaire
Premiers caractères de l’arrêt
String
Oui

image

Exemple :
{
3 caractères minimum sont nécessaires
afin de pouvoir lancer la recherche
"search":"BOS"
}
5.1.3. Format de réponse
La réponse à la requête est au format JSON. Elle contient les informations suivantes :
Clé
Valeur
Type
Signification

libelle | Nom de l’arrêt | String | Noms des arrêts disponibles sur data.idelis.fr

ligne | Nom des lignes s’arrêtant à cet arrêt | String | Nom court des lignes desservant cet arrêt

direction | Direction des lignes s’arrêtant à cet arrêt | String | Nom de la destination des lignes desservant cet arrêt

timeo | Numéro Timeo de l’arrêt | Code Hastus de l’arrêt | Int | Numéro TIMEO affecté à cet arrêt

hastus | String | Latitude de l’arrêt | Code HASTUS affecté à cet arrêt

latitude | Decimal | Longitude de l’arrêt |En WGS84 (EPSG 4326) au format anglo-saxon

longitude | Decimal | En WGS84 (EPSG 4326) au format anglo-saxon

pmr | Arrêt accessible au PMR | Int | Précise si l’arrêt est accessible aux Personnes à Mobilité Réduite (0 pour non, 1 pour oui)

Système d’Information IDELIS - Page | 6
IDELIS Mise à jour : 05 Octobre 2019
Système d’Information IDELIS - Page | 7

image

Exemple :

 [ 
    { 
        "libelle": "Bosquet Quai C", 
        "ligne": "A", 
        "direction": "PAU Eauze", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": 43.297664388338, 
        "longitude": -0.365682348629, 
        "pmr": true 
    }, 
    { 
        "libelle": "Bosquet Quai C", 
        "ligne": "A", 
        "direction": "PAU Bosquet", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": 43.297664388338, 
        "longitude": -0.365682348629, 
        "pmr": true 
    }, 
    { 
        "libelle": "Bosquet Quai C", 
        "ligne": "B", 
        "direction": "PAU Porte des Pyrénées", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": 43.297664388338, 
        "longitude": -0.365682348629, 
        "pmr": true 
    }, 
    { 
        "libelle": "Bosquet Quai C", 
        "ligne": "B", 
        "direction": "PAU Bosquet", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": 43.297664388338, 
        "longitude": -0.365682348629, 
        "pmr": true 
    }, 
    { 
        "libelle": "Bosquet Quai C", 
        "ligne": "11", 
        "direction": "GAN Mairie", 
        "timeo": "3032", 
        "hastus": "BOSQUE_C", 
        "latitude": 43.297664388338, 
        "longitude": -0.365682348629, 
        "pmr": true 
    } 
] 
 

Are you sure your URL is
https://data.idelis.fr/api/explore/v2.1/
?

This is the response that URL gets in a browser:
{"links": [{"rel": "self", "href": "https://data.idelis.fr/api/explore/v2.1"}, {"rel": "catalog", "href": "https://data.idelis.fr/api/explore/v2.1/catalog"}, {"rel": "monitoring", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring"}, {"rel": "opendatasoft", "href": "https://data.idelis.fr/api/explore/v2.1/opendatasoft"}]}

Their pdf mentions a URL that was emailed to you.
Maybe you should post that here?

Hi to answer your question about the links I did not receive any link by email to use the api but it is mentioned something on the website to use the api here are some links

API Management ( Idelis account required)

https://api.idelis.fr/

Documentation and other APIs on
API et Codes Sources IDELIS — OpenData IDELIS

Link of GetStopMornitoring Donate for its use

https://data.idelis.fr/api/explore/v2.1/

Thank you !for helping me

I can't test with out a key, so this will take a while.

In the meantime, some thoughts.

Remove whitespace from the JSON

Use http instead of https

They want parameters in the body of a Web Get. Not sure how to do that in the AI2 web component, and this is discouraged in search results as archaic.

This is like a restaurant where the waiters take your requests and come back only with more menues.

This is a close as I could get:
api_idelis_test (1).aia (8.7 KB)

I don't care if any one else uses my api-key.

I suspect I might not have checked enough API options at signup time.

I was using this site to form my Get requests:

it doesn't work for me it doesn't matter because this project is way too difficult to be done with ai2 thanks anyway you were a great help to me Every time I get the same message {"links": [{"rel": "self", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports"}, {"rel": "csv", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/csv"}, {"rel": "json", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/json"}, {"rel": "data.json", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/data.json"}, {"rel": "rdf", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/rdf"}, {"rel": "ttl", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/ttl"}, {"rel": "dcat", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/dcat"}, {"rel": "rss", "href": "https://data.idelis.fr/api/explore/v2.1/monitoring/exports/rss"}, {"rel": "sitemap", "href": "https://data.idelis.fr/api/explore/v2.1/moni