pgrimaud / horaires-ratp-api

Webservice pour les horaires et trafic RATP en temps réel
https://api-ratp.pierre-grimaud.fr/v4
MIT License
269 stars 30 forks source link

"Internal Server Error" #104

Closed obook closed 3 years ago

obook commented 3 years ago

Hello, I try to get https://api-ratp.pierre-grimaud.fr/v4/schedules/rers/a/nogent+sur+marne/B and the json returned code is | 500 -- | and -- message | "Internal Server Error".

What is wrong ? Thank for your help.

{ "result": { "code": 500, "message": "Internal Server Error" }, "_metadata": { "call": "GET /schedules/rers/a/nogent+sur+marne/B", "date": "2020-10-01T17:23:25+02:00", "version": 4 } }

pgrimaud commented 3 years ago

Hello @obook

This service is a middleware to use official API RATP to a JSON format. I was whitelisted by the RATP (https://dataratp.opendatasoft.com/page/temps-reel/).

My access to RATP API has been blocked since 9:00 am. I have no idea why, but I just contacted them to get an explanation.

tlissak commented 3 years ago

Pas des nouvelles ? il sont en greve ?

julien290 commented 3 years ago

Une autre solution en attendant, ne serait-elle pas de créer un nouveau compte chez eux "au cas où", comme c'est le cas pour en ce moment ?

pgrimaud commented 3 years ago

Pas des nouvelles ? il sont en greve ?

Non, toujours pas de news... Je viens de relancer.

Une autre solution en attendant, ne serait-elle pas de créer un nouveau compte chez eux "au cas où", comme c'est le cas pour en ce moment ?

D'après les derniers échos que j'ai eu sur la création de compte API temps réel, ils ne répondent pas et le cas échéant, très longtemps après. De plus, ils doivent autoriser une IP manuellement de leur côté.

Je ne sais pas pourquoi mon accès via l'IP de mon serveur a été bloquée...

J'ai un moyen de contournement, illégal cependant. Je vais attendre encore un peu avant d'utiliser ce système...

julien290 commented 3 years ago

Vraiment mystérieux leurs fonctionnement chez eux... à suivre..

Ce moyen de contournement peux-t-il être remonté jusqu'à toi ou ton serveur s'ils enquêtent ? (Bon après vu leurs réactivité, y'a moyen qu'il y ait pas trop de soucis)

pgrimaud commented 3 years ago

J'ai obtenu une réponse de la RATP :

Une opération de relocalisation de nos serveurs Open Data Temps Réels, ce qui rend le service prochains passages hors service. La durée de cette indisponibilité n’est pas connue.

Il semblerait que ça ne soit pas lié à mon IP mais une coupure globale.

obook commented 3 years ago

Hello, For a strange reason, this link return a correct response : https://api-ratp.pierre-grimaud.fr/v4/traffic/rers/a

{ "result": { "line": "A", "slug": "normal_trav", "title": "Travaux", "message": "À partir du lundi 28 septembre 2020, suite à des travaux de rénovation, le trafic est interrompu de 21h30 à fin de service entre les gares Nanterre-Prefecture et Cergy-Le Haut / Poissy sur la ligne A du RER jusqu'au vendredi 2 octobre 2020. Des bus de remplacement sont mis à disposition." }, "_metadata": { "call": "GET /traffic/rers/a", "date": "2020-10-01T17:20:30+02:00", "version": 4 } }

obook commented 3 years ago

J'ai obtenu une réponse de la RATP :

Une opération de relocalisation de nos serveurs Open Data Temps Réels, ce qui rend le service prochains passages hors service. La durée de cette indisponibilité n’est pas connue.

Il semblerait que ça ne soit pas lié à mon IP mais une coupure globale.

C'est une bonne nouvelle, espérons que le service soit rétabli rapidement. Merci pour l'information.

@B

julien290 commented 3 years ago

Effectivement bonne nouvelle, je serais curieux de savoir si ta méthode légèrement border @pgrimaud fonctionnerais quand même durant cette migration ?

Par contre, niveau communication ils peuvent faire mieux.. (pas de préavis, pas d'estimations)

Cqoicebordel commented 3 years ago

Je pense que la solution borderline est de parser directement les résultats du site officiel. Je faisais ça avec le site wap avant que j'apprenne l'existence de l'API ici (encore merci !), et avant qu'ils sabrent leur site wap…

pgrimaud commented 3 years ago

Effectivement bonne nouvelle, je serais curieux de savoir si ta méthode légèrement border @pgrimaud fonctionnerais quand même durant cette migration ?

Oui car :

Je possède 2 accès à leur API temps réel :

Étrangement, mon second accès à l'API fonctionne alors que le premier (le public) ne fonctionne plus... C'est pour cela que je pensais à un bloquage de mon IP.

La solution borderline serait de forward les requêtes des utilisateurs de l'accès 1 vers l'accès 2. Mais si la société X détecte que je détourne les données vers un autre service, je risque potentiellement des poursuites judiciaires...


Je pense que la solution borderline est de parser directement les résultats du site officiel.

J'ai déjà essayé, mais ils ont protégé leur site via Cloudflare (depuis leur dernière refonte) qui a une très bonne détection des bots, ce qui rend le scrapping presque impossible.

Je faisais ça avec le site wap avant que j'apprenne l'existence de l'API ici (encore merci !), et avant qu'ils sabrent leur site wap…

Une petite pensée pour leur site, que je scrappais au debut de ce projet https://github.com/pgrimaud/horaires-ratp-api/commit/927a57c2cbba2b3262c38b9c9107c3c83a91b68c 🙏

pgrimaud commented 3 years ago

Hello, For a strange reason, this link return a correct response : https://api-ratp.pierre-grimaud.fr/v4/traffic/rers/a

{ "result": { "line": "A", "slug": "normal_trav", "title": "Travaux", "message": "À partir du lundi 28 septembre 2020, suite à des travaux de rénovation, le trafic est interrompu de 21h30 à fin de service entre les gares Nanterre-Prefecture et Cergy-Le Haut / Poissy sur la ligne A du RER jusqu'au vendredi 2 octobre 2020. Des bus de remplacement sont mis à disposition." }, "_metadata": { "call": "GET /traffic/rers/a", "date": "2020-10-01T17:20:30+02:00", "version": 4 } }

Oui, car le service de trafic passe par une autre API. https://github.com/pgrimaud/ratp-api-rest/blob/master/src/Client/IxxiApiClient.php#L11

D'ailleurs, si le service n'est pas rétabli sous peu, je vais voir si je ne peux pas me brancher sur cette API pour récupérer les données temps réel.

pgrimaud commented 3 years ago

Par la même occasion, quelqu'un peut me fournir l'APK à jour de l'application RATP? 🤡

julien290 commented 3 years ago

J'ai pas d'Androïd sous la main mais normalement tu peux télécharger l'APK via ce site: https://apkpure.com/fr/ratp-your-daily-co-pilot/com.fabernovel.ratp

tlissak commented 3 years ago

l'API de ile de France mobilité https://portal.api.iledefrance-mobilites.fr Propose un service traffic en temps reel via API REST Et donne un accès gratuit jusqu'à 1M requêtes/ jour (La création de compte est instantané ) Hors je ne métrise pas l'authorisation via oauth2 Pourriez-vous explorer cette piste?

Le jeu. 1 oct. 2020 à 18:15, Pierre Grimaud notifications@github.com a écrit :

Par la même occasion, quelqu'un peut me fournir l'APK à jour de l'application RATP? 🤡

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pgrimaud/horaires-ratp-api/issues/104#issuecomment-702243641, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPFPDIU6QYTMYR2IPT4KLSISTI3ANCNFSM4R537HPA .

Cqoicebordel commented 3 years ago

'PfndhPqWEoI5ERvmlGiw9S3m' ?

pgrimaud commented 3 years ago

J'ai pas d'Androïd sous la main mais normalement tu peux télécharger l'APK via ce site: https://apkpure.com/fr/ratp-your-daily-co-pilot/com.fabernovel.ratp

Parfait, merci !

l'API de ile de France mobilité https://portal.api.iledefrance-mobilites.fr Propose un service traffic en temps reel via API REST Et donne un accès gratuit jusqu'à 1M requêtes/ jour (La création de compte est instantané ) Hors je ne métrise pas l'authorisation via oauth2 Pourriez-vous explorer cette piste?

Je viens d'un jeter un coup d'oeil, ça peut le faire comme solution de remplacement. Je vais regarder ça en détails.

'PfndhPqWEoI5ERvmlGiw9S3m' ?

@Cqoicebordel ? 😄

Cqoicebordel commented 3 years ago

Je me suis dit que t'avais besoin que du token, donc je l'ai donné :)

Je suis en train de tester vite fait l'API IDFM. C'est lent, et leurs systèmes de nommage de ligne et arrêts est super relou.

@tlissak Quand tu vas tester ton compte avec les APIs, il te créé un token que tu peux réutiliser en mode REST, sans OAuth.

pgrimaud commented 3 years ago

Je me suis dit que t'avais besoin que du token, donc je l'ai donné :)

Ahh ok merci ! J'ai trouvé des accès à leur API en clair sur GitHub aussi. David, si tu passes par là, merci 😂

Je suis en train de tester vite fait l'API IDFM. C'est lent, et leurs systèmes de nommage de ligne et arrêts est super relou.

Oui, les id du genre 1001001012... Au secours. Mais au moins c'est du vrai REST.

Point positif de l'API en SOAP de la RATP. Elle était plutôt permissive, il suffisait de passer le nom d'un arrêt pour récupérer les données. Et elle répondait hyper vite (moins de 40ms !).

@tlissak Quand tu vas tester ton compte avec les APIs, il te créé un token que tu peux réutiliser en mode REST, sans OAuth.

Attention, le token n'est valable qu'une heure.

Cqoicebordel commented 3 years ago

Ah, je savais pas pour le token d'une heure. Encore un truc pour faire chier évidemment… Mais il semblerait qu'on puisse utiliser l'Authorization token (dans la conf de l'appli) directement.

Là, pour info, le temps de réponse c'est entre 15 et 30 secondes. Oui oui, secondes…

Et pour futur références : Liste (d'une partie ?) des arrêts : https://data.iledefrance-mobilites.fr/explore/dataset/perimetre-tr-plateforme-stif/ Il faut utiliser gtfs_stop_id tel quel pour le stop id (au moins quand c'est ViaNavigo la source) Liste des lignes : https://data.iledefrance-mobilites.fr/explore/dataset/referentiel-des-lignes/table/

tlissak commented 3 years ago

Avez vous essayer se connecter votre server via vpn pour voir si le problème d'ip persiste ?

Le jeu. 1 oct. 2020 à 19:32, Cqoicebordel notifications@github.com a écrit :

Ah, je savais pas pour le token d'une heure. Encore un truc pour faire chier évidemment…

Là, pour info, le temps de réponse c'est entre 15 et 30 secondes. Oui oui, secondes…

Et pour futur références : Liste (d'une partie ?) des arrêts : https://data.iledefrance-mobilites.fr/explore/dataset/perimetre-tr-plateforme-stif/ Il faut utiliser gtfs_stop_id tel quel pour le stop idea (au moins quand c'est ViaNavigo la source) Liste des lignes : https://data.iledefrance-mobilites.fr/explore/dataset/referentiel-des-lignes/table/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pgrimaud/horaires-ratp-api/issues/104#issuecomment-702287237, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPFPBRO2RAPFPEIM6SNZDSIS4J7ANCNFSM4R537HPA .

lnazar commented 3 years ago

Avez vous essayer se connecter votre server via vpn pour voir si le problème d'ip persiste ?

La RATP doit autoriser spécifiquement l'IP publique du serveur qui fera les requêtes, la changer n'est donc pas une option.

pgrimaud commented 3 years ago

En effet. De plus, l'API est désormais HS sur mes 2 serveurs.

lnazar commented 3 years ago

"Suite à un incident technique, le trafic sur notre API est complètement interrompu."

tlissak commented 3 years ago

On dirait le RER bloqué :) sans plus d'informations quand ca va débloquer..

Le ven. 2 oct. 2020 à 10:20, lnazar notifications@github.com a écrit :

"Suite à un incident technique, le trafic sur notre API est complètement interrompu."

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pgrimaud/horaires-ratp-api/issues/104#issuecomment-702594648, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPFPEMSUKEW6AZEMSPUXLSIWELHANCNFSM4R537HPA .

pgrimaud commented 3 years ago

RIP, ça commence à faire long.

image

https://p.datadoghq.com/sb/b933ad64d-3d03339edc63b8ba89556675024d64fd

julien290 commented 3 years ago

De plus, l'API est désormais HS sur mes 2 serveurs.

Aussi pour l'API privatisé pour une société ?

pgrimaud commented 3 years ago

Aussi pour l'API privatisé pour une société ?

C'est variable, ça marche 1 coup sur 2. Et quand j'ai une réponse de leur API, c'est généralement assez long (5 à 10 secondes)...

J'ai eu un retour de l'ancien responsable Open Data RATP, qui m'a confirmé que je ne suis pas le seul à l'avoir contacté à ce sujet.

Il ne reste plus qu'à être patient, mais le weekend arrive et je ne suis pas sûr que l'IT travaille samedi ou dimanche...

pgrimaud commented 3 years ago

image 🤡😰

julien290 commented 3 years ago

On est plus que l'on ne le pense dans l'attente enfaite 😅

Cqoicebordel commented 3 years ago

"Horaires Me !" sur Android fonctionne bien par contre. Je sais pas ce qu'ils utilisent.

Cqoicebordel commented 3 years ago

Sinon, l'API du site Vianavigo ne semble pas utiliser la moindre authentification (mais je peux me planter) :
https://api-iv.iledefrance-mobilites.fr/lines/line:0:100110003:3/stops/stop_area:0:SA:59434/realTime

pgrimaud commented 3 years ago

Mail du support Open Data RATP :

Pour information et pour faire suite à notre mail de jeudi dernier, le service Temps Réels de la RATP devrait revenir à la normale aujourd’hui. Désolée pour la gêne occasionnée

obook commented 3 years ago

Super ! bon ce n’est pas encore revenu, mais c'est une bonne nouvelle, mes élèves étaient très déçus que leur projet s'arrête. ... wait and see.

pgrimaud commented 3 years ago

L'API est de nouveau fonctionnelle. Merci de votre patience 😄

vjau commented 3 years ago

Merci pour tout le travail effectué sur cette api.

julien290 commented 3 years ago

Merci beaucoup en tout cas @pgrimaud pour ton implication dans la résolution de ce problème dû aux services de la RATP, et pour cette superbe API que tu proposes 👌