Requires
read_collection
access scope. More access scope
The Get Collect List API retrieves a list of collect objects, representing the associations between products and collections. This enables users to efficiently manage and display product categorization within collections.This API is especially useful for:
1.Fetching all products within a specific collection.
2.Retrieving collections a specific product belongs to.
3.Managing inventory or marketing strategies based on product categorization.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain), ensuring all updates are applied to the correct store.
Public Request Parameters
Parameter Name | Type | Required | Parameter Location | Parameter Value | Description |
---|---|---|---|---|---|
Access-Token | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | Used to authenticate API requests. Obtain an access token from the Access Token Guide. Pass it in the Authorization header for every request. |
Content-Type | String | Yes | Header | application /json | Indicates the media type of the request body. It tells the server how to parse the request and the client how to interpret the response. For more details, visit Content-Type. |
Public Response Parameters
Parameter Name | Type | Mandatory | Parameter Location | Example Value | Description |
---|---|---|---|---|---|
error | String | No | Response Body | { "error": "store is not active" } | Indicates an error encountered during the process. This field typically appears when the Access Token is missing or invalid. Example: { "error": "store is not active" } . |
errors | Array | No | Response Body | { "errors"["ProductId is required"] } | A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] } . |
Request-Id | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | A unique identifier for each request. It helps in identifying and debugging specific requests. |
Error and Errors Clarification:
Added explanation that the error and errors fields are currently dependent on the API implementation, with plans for future unification.
Request Parameters
Query Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
collection_id | string | No | UUID of the collection to filter collects. | a60fe556-43ad-4e07-9125-507ac1bf71f7 |
product_id | string | No | UUID of the product to filter collects. | 9de53f9726576696b318a8d95c0946cb |
page | integer | No | Page number for paginated results (default: 1 ). | 1 |
limit | integer | No | Maximum number of results per page (default: 10 , max: 250 ). | 20 |
Important Note on Query Parameters
Both collection_id
and product_id
are optional query parameters. It is essential to clarify the query logic when:
-
Both Parameters Are Provided:
- The API will prioritize filtering the results based on both
collection_id
andproduct_id
. This means that only products belonging to the specified collection and matching the given product ID will be returned.
- The API will prioritize filtering the results based on both
-
Neither Parameter Is Provided:
- If neither
collection_id
norproduct_id
is provided, the API will return results based on the default query logic (e.g., all products or collections depending on the endpoint's default behavior). Ensure developers understand this fallback behavior to avoid confusion.
- If neither
-
Only One Parameter Is Provided:
- If only
collection_id
is provided, the API will return all products within the specified collection. - If only
product_id
is provided, the API will return details or results specific to that product.
- If only
Example Scenarios
Scenario | Query Logic |
---|---|
Both collection_id and product_id are provided | Results are filtered by the specified collection_id and product_id . |
Neither collection_id nor product_id is provided | Default query logic applies (e.g., return all products or collections). |
Only collection_id is provided | Return all products within the specified collection. |
Only product_id is provided | Return details/results specific to the given product ID. |
Response Explanation
Successful Response
Field | Type | Example | Description |
---|---|---|---|
collects | array | - | Array of collect objects. |
collects[].id | string | 91d032e7-bbc8-47e4-8668-9ba6fe714de6 | Unique identifier for the collect. |
collects[].product_id | string | 9de53f9726576696b318a8d95c0946cb | UUID of the associated product. |
collects[].collection_id | string | a60fe556-43ad-4e07-9125-507ac1bf71f7 | UUID of the associated collection. |
collects[].position | integer | 1 | Position of the product within the collection. |
collects[].created_at | string | 2024-04-16T10:31:12Z | Timestamp when the collect was created. |
collects[].updated_at | string | 2024-04-16T10:31:12Z | Timestamp when the collect was last updated. |
Error Response
Error responses in the API can be represented using two different fields: errors
and error
. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.
Field | Type | Example | Description |
---|---|---|---|
errors | Array | [ "ProductId is required"] | A list of errors encountered during the request processing. |
Field | Type | Example | Description |
---|---|---|---|
error | Array | "store is not active" | Indicates an error encountered during the process. |
Request Examples
curl --request GET \
--url https://yourshopdomain.myshoplaza.com/openapi/2022-01/collects \
--header 'accept: application/json' \
--header 'access-token: <your-access-token>' \
--data '{
"collection_id": "a60fe556-43ad-4e07-9125-507ac1bf71f7",
"product_id": "9de53f9726576696b318a8d95c0946cb",
"page": 1,
"limit": 20
}'
Success Response Example
{
"collects": [
{
"id": "dec4897f-2537-44a7-91fb-9854f643ad1e",
"collection_id": "a60fe556-43ad-4e07-9125-507ac1bf71f7",
"product_id": "636a07da-39eb-4829-bde9-b65fae1c28b0",
"position": 1,
"created_at": "2024-04-16T10:31:13Z",
"updated_at": "2024-04-16T10:31:13Z"
}
]
}
Error Response Example
{
"errors": [
"ProductID must be a valid UUID"
]
}
{
"error": "store is not active"
}
Error Details
Status Code | Message | Possible Reason | Example Response |
---|---|---|---|
400 | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). | Bad Request |
Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | Unauthorized | |
422 | Invalid or empty product_id or collection_id | missing required product_id , collection_id , or with incorrect UUID types | { "errors": [ "CollectionID must be a valid UUID", "ProductID must be a valid UUID"]} |
product_id not found | The provided product_id does not exist in the database. | { "errors": [ "ProductID must be a valid UUID"]} | |
Invalid pagination parameters | The page or limit parameters are not valid (e.g., page <= 0 , limit <= 0 ). | { "errors": [ "Page must be greater than 0", "Limit must be greater than 0"] } |