Så ser du vilka APIer mobilappar använder

Som SJ, Handelsbanken och ICA redan har märkt så är det enkelt att ta reda på vilka API-anrop mobilappar använder sig av. Det är inte svårt att göra och något som alla som utvecklare APIer för mobilappar måste vara väl medvetna om. Jag har precis skrivit ett längre inlägg om detta på Nordic APIs blogg, detta är en något förkortad version.

Använd datorn som proxy

För att komma åt trafiken mellan telefonen och servern så kopplar man samman telefonen med datorn och kör all trafik via en proxy på datorn. Med några SSL certifikat på datorn och telefonen så kan man även utan problem läsa HTTPS-trafik.

Personligen så föredrar jag att använda Charles Proxy som är rätt billigt (50 USD), enkelt att konfigurera och enkelt att använda. Denna artikel har en bra beskrivning på hur man sätter upp det hela.

Genom att leka med Charles Proxy så kan man ta reda på en hel del intressanta saker, som tex att Toca Boca använder Mixpanel för att föra statistik från sina eminenta iPhone appar och att Skånetrafikens iPhone app använder SOAP för att hämta resdata (vilket stämmer med deras publicerade API).

Vad innebär detta?

Det innebär att alla kan se ditt API, så du måste behandla ditt “privata” API precis som om det är publikt. Dels handlar det om designen av APIet men framförallt handlar det om säkerheten. Alla API-nycklar, lösenord etc som skickas med i en API request kan enkelt läsas i klartext och därmed så kan vem som helst använda ditt API genom att använda dessa nycklar/lösenord.

Om någon tar en titt på ditt “privata” app API och sedan dokumenterar det på GitHub så se det absolut inte som ett hot, utan som en fantastisk möjlighet. Det är gratis market research som bevisar att det finns ett intresse för ditt API utanför din egen organisation, dessutom så vet du vem som är intresserad av det. Att hitta användare till ett API är en riktig utmaning och om du kan publicera ett officiellt publikt API med vetskapen att du redan från dag ett kommer att ha användare så är det en gigantisk konkurrensfördel.

UPPDATERING: Givetvis skulle jag ha länkat till Jonas Lejons inlägg Så analyserar och använder du iPhone Appars API från 2011 och uppföljaren Apple iPhone/iPad och Remote Virtual Interfaces. Förlåt för den missen Jonas!