🧩 Product Collections Admin Page
📄 Overview
This feature introduces a new admin page within Magento's backend to manage Builder.io Product Collections. It allows content managers to define dynamic product feeds based on specific criteria (Category, SKU, Condition), which Builder.io can consume via a REST API to build rich content like product carousels.
📁 Location in Admin Panel
Menu Path:
Content > Builder IO > Products
📊 Admin Grid: "Product Collections"
Functionality
- Display a grid of existing Product Collections
- Actions:
- Columns:
- Collection Name
- Type (Category / SKU / Condition)
- Product Count
- Collection URL
- Status (Active/Inactive)
- Date Created / Date Updated
➕ Add/Edit Product Collection Form
Fields
-
Collection Name
-
Collection Type
- Options:
- Category
- SKU
- Condition (Attribute-based logic)
-
Type-Specific Configuration
A. Category
- Select Category (dropdown with tree structure)
- Sort By: Dropdown (
Price, Name, Newest, Best Sellers, Random)
- Limit: Integer input for number of products to return
B. SKU
- Input field for comma-separated SKUs (e.g.
SKU123,SKU456)
- Validation to ensure SKUs exist
C. Condition
- Use Magento Condition Builder
- Allow attribute-based logic (e.g. brand = "Nike" AND price < 100)
🧮 Product Count Preview
- Display the number of products matching the current selection
- Recalculate on field change
🌐 Dynamic Collection URL
- Auto-generated and displayed once saved
- Read-only field
- Format:
/rest/V1/builderio/collections/{collection_id or slug}
📦 API Response Structure
The endpoint will return a list of products in JSON format, suitable for use in Builder.io:
{
"products": [
{
"id": 123,
"sku": "SKU123",
"name": "Product Name",
"price": 99.99,
"image": "https://example.com/media/catalog/product/image.jpg",
"url": "https://example.com/product-url"
// ... other necessary product data
}
],
"count": 12
}
- Only enabled and visible products will be returned
- Results should be cacheable (e.g. with Varnish) with a TTL of 1 hour
builderio_collections (
id INT PRIMARY KEY,
name VARCHAR,
type ENUM('category','sku','condition'),
config JSON,
product_count INT,
url_key VARCHAR,
is_active BOOLEAN,
created_at DATETIME,
updated_at DATETIME
)
🧩 Product Collections Admin Page
📄 Overview
This feature introduces a new admin page within Magento's backend to manage Builder.io Product Collections. It allows content managers to define dynamic product feeds based on specific criteria (Category, SKU, Condition), which Builder.io can consume via a REST API to build rich content like product carousels.
📁 Location in Admin Panel
Menu Path:
Content > Builder IO > Products📊 Admin Grid: "Product Collections"
Functionality
Add NewEditDelete➕ Add/Edit Product Collection Form
Fields
Collection Name
Collection Type
Type-Specific Configuration
A. Category
Price,Name,Newest,Best Sellers,Random)B. SKU
SKU123,SKU456)C. Condition
🧮 Product Count Preview
🌐 Dynamic Collection URL
/rest/V1/builderio/collections/{collection_id or slug}📦 API Response Structure
The endpoint will return a list of products in JSON format, suitable for use in Builder.io:
{ "products": [ { "id": 123, "sku": "SKU123", "name": "Product Name", "price": 99.99, "image": "https://example.com/media/catalog/product/image.jpg", "url": "https://example.com/product-url" // ... other necessary product data } ], "count": 12 }