Wishlists
Wishlists allow your customers to create (anonymous) lists of items they like to save for later viewing and purchasing. These lists are also accessible to employees.
Anonymous wishlists are by default wiped after two days of inactivity, but the number of days can be changed by means of the setting Wishlists:ExpireAnonymousWishlistsAfterXDays
. The value cannot be lower than 1 nor higher than 7. This setting in turn influences the WishlistCleanupTask
task which runs every day.
There are 3 ways to access wishlists; as anonymous, as user and as employee. These require their own sets of services.
Anonymous wishlists
An anonymous wishlist supports Get
, Create
, Update
, Delete
, Add
- and Remove
products. This is all bound by the token that is returned from the Create
call.
{
"CustomFields" : [ /* Default 'CustomFieldKeyValue' objects */]
}
{
"Token": "123-34afadf345a"
}
{
"Token": "123-34afadf345a",
"CustomFields" : [ /* Default CustomFieldKeyValue objects */]
}
Response is empty
{
"Token": "123-34afadf345a"
}
Response is empty
{
"Token": "123-34afadf345a",
"ProductIDs" : [1,2,3,4]
}
Response is empty
{
"Token": "123-34afadf345a",
"ProductIDs" : [1,2,3,4]
}
Response is empty
{
"Token": "123-34afadf345a"
}
{
"CustomFields": [ /* Default `CustomFieldResponse` objects */ ],
"Products" : [ /* Default `IProductSearchItem` objects */ ]
}
{
"Token": "123-34afadf345a",
"Name" : "A unique name",
"Description": "My wishlist"
}
Response is empty
User-attached wishlists
Users can List
, Get
, Create
, Update
, Delete
, Add-
and Remove
products. The logged in user will automatically attached to the wishlist. All other services are bound to the logged in user, so the service only accept IDs of wishlists that are owned by the logged in user.
{
"Name" : "A unique name",
"Description": "My wishlist",
"CustomFields" : [ /* Default 'CustomFieldKeyValue' objects */]
}
{
"ID": 1
}
{
"ID": "1",
"Name" : "A unique name", // Maybe type
"Description": "My wishlist", // Maybe type
"CustomFields" : [ /* Default CustomFieldKeyValue objects */] // Maybe type
}
Response is empty
{
"ID": "1",
}
Response is empty
{
"ID": "1",
"ProductIDs" : [1,2,3,4]
}
Response is empty
{
"ID": "1",
"ProductIDs" : [1,2,3,4]
}
Response is empty
{
"InitialPageConfig": {
"Filter": {
"Name" : "test",
}
}
}
This is a page token service
{
"Results": [
{
"ID": "1",
"Name" : "A unique name",
"Description": "My wishlist"
},
...
]
}
{
"Results": [
{
"ID": "1"
},
...
]
}
{
"CustomFields": [ /* Default `CustomFieldResponse` objects */ ]
"Products" : [ /* Default `IProductSearchItem` objects */ ]
}
Employee
Employees can only read user-bound wishlists (so anonymous wishlists aren’t returned from the List
and aren’t accessible to Get
either).
{
"InitialPageConfig": {
"Filter": {
"UserID": 1,
"Name" : "test",
}
}
}
This is a page token service
{
"Results": [
{
"ID": "1",
"UserID": 1,
"UserFullName": "My name",
"Name" : "A unique name",
"Description": "My wishlist",
"CreatedOn": "01-01-2023 12:00:00.000",
"LastReadTime": "01-01-2023 12:00:00.000",
},
...
]
}
{
"ID": "1",
}
{
"ID": "1",
"UserID": 1,
"UserFullName": "My name",
"Name" : "A unique name",
"Description": "My wishlist",
"CreatedOn": "01-01-2023 12:00:00.000",
"LastModifiedOn": "01-01-2023 12:00:00.000",
"LastReadTime": "01-01-2023 12:00:00.000",
"CustomFields": [ /* Default `CustomFieldResponse` objects */ ]
"Products" : [ /* Default `IProductSearchItem` objects */ ]
}