Skip to content

Latest commit

 

History

History
96 lines (73 loc) · 3.49 KB

README.md

File metadata and controls

96 lines (73 loc) · 3.49 KB

ICA inofficiellt API

ICA har en smart app som låter dig se ditt saldo, dina erbjudanden, göra inköpslistor med mera. Appen är backad av ett API som jag har börjat dokumentera här. Börja med att följa kom igång-guiden och ta sedan en titt på API-referensen.

Dokumentationen är långt ifrån komplett och du får gärna hjälpa till, skicka bara en Pull Request.

Kom igång: hämta information om ditt konto

Här visar jag hur du enkelt kommer igång genom att hämta information om ditt konto, saldo och dina rabatter.

Skaffa användarnamn och lösenord

Du behöver ett användarnamn (ditt personnummer) och det lösenord som skickas ut på ditt bonusbesked med tidningen Buffé varje månad. Orkar du inte vänta en månad? Kontakta ICA så skickar de lösenordet med post.

Använd din favorit-klient

När du testar API:et är det smidigt att ha en REST-klient. Jag rekommenderar:

I denna guide använder jag curl för att kunna visa exempel på ett enkelt sätt.

Bas-URL

Du kommer åt API:et över HTTP och HTTPS på domänen api.ica.se.

Skaffa en AuthenticationTicket

Först och främst behövs en AuthenticationTicket som används för att tala om vem du är. Den får du genom ett GET-anrop till /api/login. Skicka med använarnamn och lösenord med hjälp av HTTP Basic authentication.

$ curl -i -u 7001011234:567 https://api.ica.se/api/login/
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
AuthenticationTicket: 8D66EA[..]
SessionTicket: 4F1E80[..]
LogoutKey: 59068e[..]
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sun, 07 Apr 2013 18:44:24 GMT
Content-Length: 55
{"FirstName":"John","LastName":"Doe","Ttl":1200}

Bland svarets response headers hittar du din AuthenticationTicket. Spar den till nästföljande anrop.

Ställ en fråga om ditt konto

Nu ha du allt som behövs för att ställa frågor till API:et. Prova ett GET-anrop till /api/user/minasidor och skicka med din AuthenticationTicket som en request header.

$ curl \
  -H 'AuthenticationTicket: 8D66EA[..]' \
  https://api.ica.se/api/user/minasidor/
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sun, 07 Apr 2013 18:58:17 GMT
Content-Length: 303

{"Saldo":0.0,"YearlyTotalPurchased":10000.00,"AcquiredDiscount":100.00,"AmountSinceLastBonusCheck":0.0,"AmountLeftUntilNextBonusCheck":2000.0,"NextBonusCheckValue":0.0,"AcquiredBonus":150.00,"IcaBankUrl":"http://mobil.icabanken.se","AccountNumber":"123 456 789","AvailableAmount":0.00,"CreditLimit":0.0}

Svaret får du i JSON. Här ser du till exempel hur mycket du har handlat för i år och din intjänade bonus.

Nästa steg

Grattis, nu är du klar med guiden! Titta gärna på API-referensen för att komma vidare. Dokumentationen är under uppbyggnad och du får gärna hjälpa till.