User Collections
The User Collections feature enables storefront users to create, manage, and share collections of products. Users can set collections as either public or private, with the default setting being private. Public collections are accessible to all users, including anonymous ones, via a specific URL, whereas private collections are only accessible to the collection owner.
Features:
Create Collections: Users can create new collections and define their visibility status.
Manage Collections: Users can update, rename, or change the visibility status of their collections.
Product Management: Users can add or remove products from their collections.
POST Create a Collection
POST Create a CollectionThis endpoint allows users to create a new user collection.
Path: https://{commerce_url}/wishlists/user-collections/
Body Parameters
name
string
mandatory
The name of the collection.
status
string
optional
Visibility status of the collection (public or private). Defaults to private.
Example Request
{
"name": "Test Collection",
"status": "public"
}Example Response (201 Created)
{
"count": 2,
"previous": null,
"next": null,
"results": [
{
"pk": 3,
"status": "public",
"name": "Test Collection",
"slug": "test-collection-22958e2e492d428caXXXbbc346793860",
"items": [
{
"pk": 3,
"note": "Product note 1",
"product": {
"pk": 10,
"sku": "190XX919",
"attributes_kwargs": {},
"data_source": null,
"product_type": "0",
"name": "Test Product",
"parent": 2,
"is_seller_product": false,
"listing_code": null,
"absolute_url": "/product/10/",
"is_form_required": false,
"is_active": true,
"extra_attributes": {},
"is_listable": false,
"custom_attribute_set": null,
"attribute_set": null,
"group_products": [],
"attributes": {},
"base_code": null,
"productimage_set": []
},
"created_date": "2024-10-21T06:57:28.647606Z"
},
],
"public_url": "/wishlists/user-collection/test-collection-22958e2e492d428caXXXbbc346793860/"
}
]
}GET List Collections
GET List CollectionsRetrieve a list of collections created by the user. Collections can be filtered by name or product ID.
Path: https://{commerce_url}/wishlists/user-collections/
Request Parameters
search
string
Filter collections by name.
product_id
integer
Filter collections that contain a specific product ID.
Example Response (200 OK)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"pk": 1,
"status": "private",
"name": "Test Collection",
"slug": "test-collection",
"items": [],
"public_url": null
}
]
}PATCH Update a Collection
PATCH Update a CollectionThis endpoint allows users to rename or change the visibility status of a collection.
Path: https://{commerce_url}/wishlists/user-collections/
Body Parameters
name
string
No
The new name for the collection.
status
string
No
New visibility status (public or private).
Example Request
{
"name": "Public Collection",
"status": "public"
}Example Response (200 OK)
{
"pk": 1,
"status": "public",
"name": "Public Collection",
"slug": "test-collection-2",
"items": [],
"public_url": "/wishlists/user-collection/test-collection-2/"
}GET Retrieve a Collection
GET Retrieve a CollectionRetrieve the details of a specific user collection by its primary key (pk).
Path: https://{commerce_url}/wishlists/user-collections/<pk>/
Example Response (200 OK)
{
"pk": 1,
"status": "public",
"name": "Public Collection",
"slug": "test-collection-2",
"items": [],
"public_url": "/wishlists/user-collection/test-collection-2/"
}DELETE Delete a Collection
DELETE Delete a CollectionThis endpoint allows users to delete a specific user collection by its primary key (pk).
Path: https://{commerce_url}/wishlists/user-collections/<pk>/
Example Response (204 No Content)
204 No Content successful response status code indicates that a user collection has been deleted.
POST Add a Product to a Collection
POST Add a Product to a CollectionAllows users to add a product to a specific collection, along with an optional note.
Path: https://{commerce_url}/wishlists/user-collection-items/
Body Parameters
product_id
integer
Yes
The ID of the product to add.
usercollection_id
integer
Yes
The ID of the collection.
note
string
No
An optional note associated with the product in the collection.
Example Request
{
"product_id": 3239,
"usercollection_id": 1,
"note": "Test Note"
}Example Response (201 Created)
{
"pk": 1,
"product": {
"pk": 3239,
"name": "2-Li Aile Çerçevesi 13x18cm",
"base_code": "1KCERX07XX",
"sku": "26728XX0785XX",
"product_type": "0",
"is_active": true,
"parent": null,
"attributes": {
"boyut": "13x18 CM",
"uretim_yeri": "ÇİN",
"renk": "STD",
"integration_ProductCode": "1KCERV0784139",
"integration_ProductHierarchyLevel01": "TEKSTİL DIŞI",
"integration_ProductHierarchyLevel02": "Dekoratif",
"integration_ProductAtt13Desc": "Dekoratif - %50+%50",
"integration_ProductAtt12Desc": "%50 + %20 PROMOSYON",
},
"attributes_kwargs": {
"integration_ProductHierarchyLevel01": {
"value": "TEKSTİL DIŞI",
"label": "TEKSTİL DIŞI"
},
"integration_ProductHierarchyLevel02": {
"value": "Dekoratif",
"label": "Dekoratif"
}
"renk": {
"value": "STD",
"label": "STD"
},
},
"extra_attributes": {},
"group_products": [],
"productimage_set": [
{
"pk": 978,
"status": "active",
"image": "https://cdn-xxxx.akinon.net/products/2017/01/23/2022/ce59ad7a-15f8-44d6-9c0d-XXf0fe5405ba.jpg",
"order": 0,
"created_date": "2017-01-24T10:38:10.663088Z",
"specialimage_set": []
},
],
"attribute_set": 62,
"custom_attribute_set": null,
"is_listable": true,
"listing_code": null,
"data_source": null
},
"created_date": "2021-09-21T08:15:50.875425Z",
"note": "Test Note"
}DELETE Remove a Product from a Collection
DELETE Remove a Product from a CollectionThis endpoint allows users to remove a product from a specific collection using the collection item’s primary key (pk).
Path: https://{commerce_url}/wishlists/user-collection-items/<pk>/
Example Response (204 No Content)
204 No Content successful response status code indicates that a product has been removed from a collection.
GET Retrieve a Public User Collection
GET Retrieve a Public User CollectionAllows anyone to retrieve the details of a public user collection using the collection's slug.
Path: https://{commerce_url}/wishlists/user-collection/<slug>/
Example Response (200 OK)
{
"status": "public",
"name": "Test Coll",
"items": [
{
"note": "test note",
"pk": 6,
"product": {
"sku": "19051919",
"attributes_kwargs": {},
"data_source": null,
"product_type": "1",
"name": "test-prodc",
"parent": null,
"is_seller_product": false,
"listing_code": null,
"absolute_url": "/product/30/",
"is_form_required": false,
"is_active": true,
"extra_attributes": {},
"is_listable": false,
"custom_attribute_set": null,
"attribute_set": null,
"group_products": [],
"attributes": {},
"base_code": null,
"pk": 30,
"productimage_set": []
},
"created_date": "2024-10-11T14:49:42.254439Z"
}
],
"public_url": "/wishlists/user-collection/test-coll/",
"pk": 4,
"slug": "test-coll"
}Was this helpful?

