Wishlist API v2

REST API for a User's wishlist(s). OAuth must be setup before making these API calls. See the OAuth 2.0 page for more details.

This REST API supports JSON format.


Request format

http://www.shoppable.com/api/v2/mylists/:mylists_id?access_token=YOUR_ACCESS_TOKEN

Example

Ruby example using OAuth2 and HTTParty.

  # After the user authorizes your app to access their account,
  # they will be redirected to your callback with :code in the parameter
  # e.g. http://your_app_.com/wishlists?code=cffa52c26f24ff1aba5c8140a27fa98b5a08bab69a6a5fc2ba0469bf4576edd82343
  access_grant_code = params[:code]

  # For sake of this example, we hard code these in. You should store them more securely and elegantly
  app_id = "a9105b229a2b5b4ff6b63b9a7d19c42027b904db745e51a03c5730f79ef8a117"
  secret = "eb2f359b00a2b3dd346418af6b374c9bd95a07f28ee2f5ed1577758fedb5f1de"

  # Instantiate a new OAuth2 client
  client = OAuth2::Client.new(app_id, secret, site: "http://www.shoppable.com/")

  # Get the access token
  access = client.auth_code.get_token(code, redirect_uri: "http://your_app.com/wishlists")

  # You should save this token for the user
  # And use this token for future API calls.
  token = access.token
  api_url = "http://www.shoppable.com/api/v2/wishlists?access_token=" + token

  # returns a JSON object of all user's wishlists
  wishlists = HTTParty.get(api_url, :options => { :headers => { 'Content-Type' => 'application/json' } })

REST Actions

Action Description Method URL Parameters
Index Get all wishlists of the user GET http://www.shoppable.com/api/v2/mylists
  • access_token
Show Get a single wishlist of the user GET http://www.shoppable.com/api/v2/mylists/:wishlist_id
  • access_token
  • wishlist_id
Create Create a new wishlist POST http://www.shoppable.com/api/v2/mylists
  • access_token
  • Wishlist Object
Update Update an existing wishlist PUT http://www.shoppable.com/api/v2/mylists
  • access_token
  • Wishlist Object
Delete Delete a wishlist DELETE http://www.shoppable.com/api/v2/mylists/:wishlist_id
  • access_token
  • wishlist_id

Request parameters

Parameter Type Description
access_token

REQUIRED

URL Param Access token provided through the OAuth service.
wishlist_id

REQUIRED

URL Param The id of the wishlist you are looking for.
mylist[title]

REQUIRED

Data Param

Title of a wishlist put in the params. Please note the outer nested data is "mylist" and not wishlist. cURL example:

curl 'http://www.shoppable.com/api/v2/mylists?access_token=2189aea40fb4c7ffc4ce09ce5b1e7c60cf93857a27442f7fac940a3eeb706f34' -d 'mylists[title]=My Amazing Wishlist' -d 'mylists[description]=Amazing products I find across the webz.'

mylist[description] Data Param

Description of a wishlist put in the params.

mylist[notifications] Data Param

Whether user should receive email alerts for items in this list. Boolean (true/false).

mylist[notification_frequency] Data Param

Frequency of notifications, if notifications are on. Options are: 'daily', '3 per week', 'weekly', 'never'.

Example response

All the wishlists of User with id 130.

[
  {
    "created_at":"2015-02-04T22:03:56Z",
    "description":"",
    "id":176,
    "notification_frequency":"3 per week",
    "notifications":true,
    "private":false,
    "title":"dfgdfgdsfgdfs",
    "updated_at":"2015-02-04T22:03:56Z",
    "user_id":130
  },
  {
    "created_at":"2015-02-04T22:04:02Z","description":"",
    "id":177,
    "notification_frequency":"3 per week",
    "notifications":true,
    "private":false,
    "title":"dfgdsfgdsf",
    "updated_at":"2015-02-04T22:04:02Z",
    "user_id":130
  },
  {
    "created_at":"2015-02-05T15:54:42Z",
    "description":null,
    "id":178,
    "notification_frequency":"3 per week",
    "notifications":true,
    "private":null,
    "title":"made via api",
    "updated_at":"2015-02-05T15:54:42Z",
    "user_id":130
  }
]