Haskell bindings for the [Skroutz.gr](https://www.skroutz.gr) product search and comparison service [API v3](http://developer.skroutz.gr/api/v3).
Haskell Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples/example1
src/Web
test
.dockerignore
.gitignore
.stylish-haskell.yaml
.travis-setup.sh
.travis.yml
LICENSE
NOTICE
README.md
Setup.hs
appveyor.yml
changelog.md
package.yaml
skroutz-haskell-api.cabal
stack-lts-6-servant-0.7.1.yaml
stack-lts-6-servant-0.9.0.1.yaml
stack-lts-6.yaml
stack-lts-7-servant-0.7.1.yaml
stack-lts-7-servant-0.9.0.1.yaml
stack-lts-7.yaml

README.md

skroutz-haskell-api

Version v0.1.0.0 License Apache-2.0 Linux and OS X Build Status Windows Build Status

Haskell bindings for the Skroutz.gr product search and comparison service API v3.

Version support

Tested with GHC 7.10.3 (via Stackage LTS 6.21) and 8.0.1 (via Stackage LTS 7.3). The library is based on servant to define the API endpoints and aeson for the API data model serialisation to/from JSON.

Usage

Import the top-level module Web.Skroutz to get all the definitions for both the API data model as well as the definitions for the API endpoints. Import Web.Skroutz.Model for the API data model only and Web.Skroutz.Endpoints for the API endpoints only.

In order to access the web service an API identifier ("client_id") and an API secret ("client_secret") are required, which can be requested using this request form. These should be provided to the Web.Skroutz.Endpoints.Auth.getToken endpoint in order to get a temporary API token, implementing OAuth 2.0 authorisation. This token must be provided to all subsequent API calls (in Web.Skroutz.Endpoints.Model) to authenticate them.

Notes

At this point, some of the API endpoints (mainly those having to do with accessing user data) are not supported due to lack of access permissions for testing them.