Skip to content

👛 Ett försök att dokumentera det API som backar ICA Handla-appen.

Notifications You must be signed in to change notification settings

hebbea/ica-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

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.

About

👛 Ett försök att dokumentera det API som backar ICA Handla-appen.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published