Collect List

🔒

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 NameTypeRequiredParameter LocationParameter ValueDescription
Access-TokenStringYesHeaderBx-_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-TypeStringYesHeaderapplication
/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 NameTypeMandatoryParameter LocationExample ValueDescription
errorStringNoResponse 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" }.
errorsArrayNoResponse Body{ "errors"["ProductId is required"] }A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] }.
Request-IdStringYesHeaderBx-_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

ParameterTypeRequiredDescriptionExample
collection_idstringNoUUID of the collection to filter collects.a60fe556-43ad-4e07-9125-507ac1bf71f7
product_idstringNoUUID of the product to filter collects.9de53f9726576696b318a8d95c0946cb
pageintegerNoPage number for paginated results (default: 1).1
limitintegerNoMaximum 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:

  1. Both Parameters Are Provided:

    • The API will prioritize filtering the results based on both collection_id and product_id. This means that only products belonging to the specified collection and matching the given product ID will be returned.
  2. Neither Parameter Is Provided:

    • If neither collection_id nor product_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.
  3. 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.

Example Scenarios

ScenarioQuery Logic
Both collection_id and product_id are providedResults are filtered by the specified collection_id and product_id.
Neither collection_id nor product_id is providedDefault query logic applies (e.g., return all products or collections).
Only collection_id is providedReturn all products within the specified collection.
Only product_id is providedReturn details/results specific to the given product ID.

Response Explanation

Successful Response

FieldTypeExampleDescription
collectsarray-Array of collect objects.
collects[].idstring91d032e7-bbc8-47e4-8668-9ba6fe714de6Unique identifier for the collect.
collects[].product_idstring9de53f9726576696b318a8d95c0946cbUUID of the associated product.
collects[].collection_idstringa60fe556-43ad-4e07-9125-507ac1bf71f7UUID of the associated collection.
collects[].positioninteger1Position of the product within the collection.
collects[].created_atstring2024-04-16T10:31:12ZTimestamp when the collect was created.
collects[].updated_atstring2024-04-16T10:31:12ZTimestamp 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.

FieldTypeExampleDescription
errorsArray[ "ProductId is required"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorArray "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 CodeMessagePossible ReasonExample Response
400Bad RequestInvalid input format or request structure (e.g., missing required fields or incorrect data types).Bad Request
UnauthorizedThe request is missing valid authentication credentials or the credentials provided are invalid.Unauthorized
422Invalid or empty product_id or collection_idmissing 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 foundThe provided product_id does not exist in the database.{ "errors": [ "ProductID must be a valid UUID"]}
Invalid pagination parametersThe 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"] }

API Structure Overview

Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!