A thread ๐งต of _terrible_ design decisions for the internal APIs of the two Italian high speed train operators, Italo and Trenitalia.
Hardcoded passwords, terrible translations, spelling mistakes, xml in json (but utf8 encoded and transmitted as an array of numbers), it's all here. Enjoy!
Italo's app sends a "Login" request on startup with a hardcoded username and password, which coincidentially also is entirely unnecessary, because the data it fetches with the returned data is available without authentication!
Trenitalia's internal API for getting the real-time travel info for a train has a beautiful translation error: the platform identifier field is called `binary`, because in Italian, platform is "binario".