Sign In
Create a FREE account
Wishpot makes it easy to:
- Share registries and wish lists
- Save money with price alerts
- Discover new products and gift ideas
- Find the best prices online
- Bookmark gift ideas as you shop
The Wishpot REST API is an XML-based interface that gives third party developers the ability to write applications that interact with user wishlists. Before using this API, you must obtain a developer key.
The API is fully compatible with Microsoft Silverlight applications and provides an appropriate client access policy.
BypassSig=1 which you can pass to bypass the
requirements to sign calls to the API. This is useful when debugging
problems that arise around generating valid signatures, and lets you
browse some of the API responses conveniently in a web browser.
When the Access Token is returned for you, you are expected to persist it and use it for future sessions involving that user. If you lose the access token, you may re-request it (by going through the steps above) and it will be re-issued.
At the conclusion of step 3, in addition to getting an access token and token secret, Wishpot also returns the user id of the user who had just authenticated, for your reference. The user id is useful for building links, in addition to making certain API calls.
When using an OAuth library, these are the standard configuration elements. For example, here is how you would set up a client using the Ruby OAuth library:
POST request
to the User Authorization URL, along with the Request Token and the following additional parameters:
EmailAddress and Password. At that point, assuming authentication passes, you can request
and Authorization token. You are not permitted to store the user's credentials - you should simply store the Access Token,
as above.
Example Ruby code for logging a user in via the alternate method:
Content-Type: application/x-www-form-urlencoded HTTP header.POST requests. When retreiving resources, GET is used.Resourcename.Propertyname. For example, to update a List's name, the parameter you would send will be labeled List.Name.GET /restapi/UserCall to get details on the currently signed-in user, including all of their lists, and if the user is a vendor, information on their vendor-specific social syndication settings.
GET /restapi/User/Details/{UserId *or* EmailAddress}Returns the same as above, but for the target user. Standard privacy settings apply. You will be able to see no more and no less than the logged in user (ex. Private lists are not accessible).
Notes:oauth_consumer_key is still required.POST /restapi/User/CreateThis call is used to create a user. Returns a serialized user as shown above.
Notes:User.FirstName, User.LastName, User.EmailAddress, User.PasswordUser.PartnerUserId - you can pass any string or number here to represent the unique Id of the user in your system. This attribute is useful for tying users together, and is also required to make use of some whitelabel features.User.IsVendor to "true".POST /restapi/User/Edit/{UserId}This call is used to modify a user. It will only work for modifying the logged-in user. Attempting to modify another user will return an error.
Notes:User.IsVendor to true.GET /restapi/VendorCall to get details on the currently signed-in user, including all of their lists, and information on their vendor settings (if the user is a vendor).
POST /restapi/Vendor/Details/{UserId *or* EmailAddress}Returns the same as above, but for the target user. Standard privacy settings apply.
Notes:POST /restapi/Vendor/Edit/{UserId}This call is used to modify a user's vendor settings. It will only work for modifying the logged-in user. Attempting to modify another user will return an error.
Notes:User.RssFeedURL. An exception will be thrown if the update is not successful.Vendor.FeedProviderId, Vendor.FeedFilePrefix. You may set one individually, but the feed will not be fully configured until both values are provided.Vendor.FeedProviderId are as follows:
Vendor.AlertPercentDrop must be an integral value from 0 to 100. Floats or decimals are not supported. GET /restapi/List/Details/{ListId}Call to get details of the list with the provided Id. This call can be used to get the details of other user's lists as well, subject to the visibility of the logged-in user.
POST /restapi/List/CreateList.Name=My Wishlist.
POST /restapi/List/Edit/{ListId}GET /restapi/List/{ListId}/WishesRetrieve a list of all of the wishes on a given list.
GET /restapi/Wish/Details/{WishId}Retrieve the details of an individual list.
InitialPrice is the price the wish was at the time of creation. DisplayPrice is the current price of the wish, which could be user-entered.POST /restapi/Wish/Edit/{WishId}Wish.Name=My New Wish Name.
POST /restapi/Wish/Delete/{WishId}POST /restapi/Wish/CreateEdit call, above. Wishes can be created one of two ways:
Wish.ASIN - An Amazon.com identifier.Wish.SDCP - A Shopping.com Product IdentifierWish.SDCO - A Shopping.com Offer IdentifierWish.ProductId - A pointer to one of the other products already on Wishpot.Wish.ListId - The Id of the list the wish is being added to.Wish.Title - This is only required if the wish is being created without an identifier.POST /restapi/Wish/ReserveTo identify the wish, one of the following is required:
Wish.Id - The Id of the wish to reserve. This is the most common mechanism.Wish.Sku and Wish.PartnerUserId. For White Label customers only, this is how you can reserve one of your own user's wishes. Just send us the Id of the recipient (in terms of your Id) and the Sku of the item (in your system) and we'll look up the Wish. If there is more than one wish, we'll reserve the first one.To identify the reserver, one of the following is required:
WishReserve.ReserverEmailAddress, and preferably a friendly display name as well:
WishReserve.ReserverName. When unauthenticated users make reservations, they are never surprises. Because the user is unauthenticated, the list owner will be
alerted that a reservation was made, and will have the opportunity to unreserve any of the items. Also, the reserver will receive an e-mail confirmation with a special link,
giving them the ability to unreserve if they change their mind. (NOTE: for White Label customers this behavior is disabled by default)
WishReserve.IsSurprise - True if a wish is a surprise, false otherwise. Anonymous users will not be allowed to reserve surprise wishes. Default is false.WishReserve.Quantity - How many to reserve. Defaults to 1. If an owner is reserving their own wish, this is ignored (see below).The response will differ depending on who is making the reservation. If the reservation is not being made by the owner on his/her own list, the response will be a WishReserve object. This is the normal case. If the reservation is being made by the owner of the wish, the response will simply be the wish. This is because, in Wishpot, we don't support a list owner making partial reservations for themselves (they can simply decrement how many they want by editing the wish). So when an owner reserves their own Wish, we mark the whole thing as reserved, and do not create separate WishReserve entities.
GET /restapi/WishPicture/Details/{WishPictureId}Retrieve the details of an individual wish picture.
POST /restapi/WishPicture/CreateWishPicture.RemoteUrl#, WishPicture.Width#, WishPicture.Height# - these fields represent versions of the same image in different sizes. We support up to 3 sizes for a given image. If you have only one version, just fill in the first set of parameters (# = 0).WishPicture.WishId - The ID of the wish to assign the picture to. Must belong to the logged-in user, and must not already have a picture.WishPicture.RemoteUrl0, WishPicture.Width0, WishPicture.Height0 OR you can upload an image by passing a binary image in the WishPicture.Image parameter in multipart/form-data format (similar to Twitter's update_profile_image API call).
GET /restapi/WishReserve/Details/{WishReserveId}GET /restapi/Category/When errors occur in the processing of operations to the API, an appropriate 4xx or 5xx HTTP Status code will be returned. A program-readable error will be serialized as follows:
There are a few response codes, which you can rely upon in your code.
| Code | Meaning |
|---|---|
| 3020 | You attempted to create a user with an e-mail address that already exists in Wishpot, using a password that didn't match their Wishpot password. |