Create Collect

🔒

Requires write_collection access scope. More access scope

The Create Collect API associates a product with a collection by creating a collect object. For every single product in a collection there's a collect that tracks the ID of both the product and collection. This enables users to organize products into collections for easier management and display.This API is especially useful for:

  1. Add a product to a specific collection.
  2. Organize products for marketing, inventory, or categorization purposes.

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

Body Parameters

FieldTypeRequiredExampleDescription
collect.collection_idstringYesa60fe556-43ad-4e07-9125-507ac1bf71f7Unique identifier of the collection.
collect.product_idstringYesc34da7b1-26af-4c2b-8a7b-3474d73cdab1Unique identifier of the product.

Response Explanation

Successful Response

FieldTypeExampleDescription
collect.idstringf12ab34c-98af-4e76-9b11-05a1dc14bf33Unique identifier of the collect.
collect.collection_idstringa60fe556-43ad-4e07-9125-507ac1bf71f7Identifier of the associated collection.
collect.product_idstringc34da7b1-26af-4c2b-8a7b-3474d73cdab1Identifier of the associated product.
collect.positioninteger1Position of the product in the collection.
collect.created_atstring2024-04-16T10:31:12ZTimestamp when the collect was created.
collect.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 POST \
     --url https://{shopdomain}.myshoplazza.com/openapi/2022-01/collects \
     --header 'accept: application/json' \
     --header 'access-token: {your-access-token}' \
     --header 'content-type: application/json' \
     --data '{
       "collect": {
         "collection_id": "a60fe556-43ad-4e07-9125-507ac1bf71f7",
         "product_id": "c34da7b1-26af-4c2b-8a7b-3474d73cdab1"
       }
     }'
    

Success Response Example

{
  "collect": {
    "id": "c0bcd1a9-8a42-4b8d-b2eb-b8a11b742da6",
    "collection_id": "a60fe556-43ad-4e07-9125-507ac1bf71f7",
    "product_id": "ea8f38ba-a152-4c64-a12c-50ea77ac4245",
    "position": 2,
    "created_at": "2024-04-16T11:34:32Z",
    "updated_at": "2024-04-16T11:34:32Z"
  }
}

Error Response Example

{
  "errors": [
    "ProductId is required"
  ]
}
{
  "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_idmissing required product_id or product_id with incorrect UUID types{ "errors": [ "productId has an invalid UUID"]}
product_id is already linked to the collection.Product is already included in current collection.{ "errors": ["Product is already included in current collection."] }
Product not foundThe product ID provided in the request does not exist.{ "errors": ["Product not found."] }
404Record Not FoundThe database query for retrieving the collect returned no result.{ "errors": ["Record not found"] }
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!