Carris (API) Localizacão em tempo Real

Olá.
Saber a localização em tempo real dos autocarros da Carris sempre foi algo que muitos clientes da Carris queriam saber e há bem pouco tempo ,foi possível muitos utilizadores terem essa noção através do trabalho fantástico do João de Vasconcelos e de alguns membros do discordd do server Lisboa para pessoas que criou a aplicação da GEOBUS.

Eu entrei em contacto com ele recentemente saber em que ponto estava a situação da API, visto que tinha lido que a carris entretanto alterou algo não disponibilizando a API de forma ofical publicamente
Onde me deu o seu link de github onde se encontrar informação útil para se trabalhar.

Qual a ideia?
A ideia é só mais uma no meio de tantas que já envolveram os membros da CPHA, que é tentarmos saber em tempo real onde andam os autocarros para podermos fazer automações engraçadas no Home Assistant.

Quero aqui servir de ponte, para reunir o máximo de utilizadores com conhecimento em python de forma a que possamos ou pelo menos tentar fazer uma coisa gira com isto.

A titulo pessoal, isto seria fantástico integrar no Home Assistant, para poder colocar a Alexa ou o Google Home a informar que o autocarro estava na paragem X assim a minha filha podia ter uma noção quando devia sair de casa, não estando a perder tempo numa paragem de autocarro quando podia estar a fazer outra coisa.
Actualmente isso é possível saber tanto quanto sei pelo google maps, como outras apps mas a intencão será mesmo ter essa informação no home assistant.

Deixo então o tema em aberto, para que a malta possa discutir esta ideia aqui.

1 Curtiu

Tanto quanto sei a Carris não quer abrir o acesso às APIs portanto embora seja possível fazê-lo contra a vontade deles, na prática pode tornar-se complicado ou pelo menos trabalhoso.

Por outro lado, investir tempo num projecto ao qual a Carris será hostil é capaz de não ser o mais aconselhado. Mas que é possível é. :slight_smile:

1 Curtiu

Bom dia

Esta é uma excelente ideia que gostaria de ver aplicada a outras companhias de transporte, infelizmente para nós em portugal ainda há uma mentalidade do “segredo”. Não se compreende porque é que uma empresa que possui um serviço como este o pode “limitar” e não deixar os seus utilizadores usarem. Aliás, tornar a API pública e acessível só seria vantajoso para eles (ie: clientes satisfeitos, melhores negócios, certo?)

No entanto há aqui alguns incógnitas que me deixam a pensar se vale a pena investir neste “negócio”:

  1. Embora a API seja oficial, esta “Documentação da API” não o é, o que significa que pode “morrer” a qualquer momento.Ou seja, se surgirem breaking changes, será que vamos ter acesso a elas a tempo de actualizar o nosso código? ou só saberemos quando o serviço deixar de funcionar, e ai temos de correr atrás do prejuiso?

  2. A API está protegida por JWT Token (e muito bem), o que significa que “alguem” terá que nos fornecer um acesso válido (se a coisa estiver bem montada, deveriamos ter um clientId + secret). De quem é a responsabilidade de fornecer esse acesso? será um acesso oficial? (se não for nem vale a pena começar)

Posto isto, caso as respostas a estas questões sejam positivas, eu estou disponível/interessado para (ajudar a) desenvolver a parte do backend (em Python).

Forte Abraço,
Rui

1 Curtiu

@luuuis @RuiDias obrigado pelo vosso feedback.
Aprofundei mais o assunto depois de ter lançado a discussão e falei com mais membros de outras comunidades que enfrentam os mesmos problemas de a API estar fechada.
Uma das soluções que me foram apresentadas é enfrentar o desafio estilo “Rogue” mas isso já vocês me disseram por outras palavras que não estão interessados e bem , porque não queremos aqui criar problemas.

Fiquei a saber também que a carris já foi questionada sobre o acesso livre a API mas a resposta foi que não estão disponíveis para a fornecer a desenvolvedores comunitários para já…
O que leva a dizer que é triste, não seguirem o exemplo por exemplo do Metro de Lisboa que é um serviço de transportes também e têm o acesso aberto.

Tentei ir por um caminho alternativo pelo menos para saber o horário do próximo autocarro a passar na paragem que me interessa.
Criei um flow em nodered que utiliza a API da Google que por sua vez a carris diz que todos os seus transportes podem ser consultados lá…

Consegui por a funcionar, contudo aquilo não é nada real… Fui duas vezes à paragem de autocarro e o autocarro a primeira vez passou 7 min atrasado e a segunda 10. Enquanto lá estava olhei para o Google Maps e mostrava te que o autocarro já tinha passado a paragem quando de facto nem tinha lá chegado.

Bom, comentei isso novamente com outra comunidade que está mais ligada a isto , onde me foi dito que a Google usa os dados fornecidos pelo GTFS e que não é em tempo real.
Fico (ficamos) assim com as pernas presas.

Entretanto se alguém tiver uma ideia partilhe.

A documentação é oficial, extraída do servidor da CARRIS.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade