Drop Structure
Drop Entity
A drop is a curated collection of products dedicated to collabs within channels. Each drop is recommended by a creator and can contain multiple products with enhancements (notes, media, custom fields) that provide product content fields within the drop.Core Drop Fields
Drop Field Reference
| Field | Type | Description |
|---|---|---|
_id | String | Unique drop identifier |
title | String | Drop name/title |
description | String | Drop description |
creator | String | Creator ID reference |
channels | Array[String] | Channel (Shopify Store) IDs this drop belongs to |
channelHandles | Array[String] | Channel handle identifiers |
products | Array[String/Object] | Product references (IDs or objects) |
enhancements | Array[String/Object] | Enhancement references (product content fields) |
media | Array[Media] | Drop-level media gallery |
custom | Object | Custom fields specific to this drop |
formId | String | Optional form template ID for custom field structure |
Product Structure in Drops
Drop Product
When a product is added to a drop, it includes the base Shopify product plus optional enhancements and custom fields.Drop Product Structure (API)
Enhancement Structure
Enhancement (Product Enhancement)
Enhancements are product content fields within a drop within a collab within a channel. They contain the personalized content that creators add to products. Data Hierarchy: Channel → Collab → Drop → Enhancement → ProductEnhancement Fields
| Field | Type | Description |
|---|---|---|
_id | String | Enhancement unique identifier |
product | String/Object | Product reference |
note | String | Creator’s note/review about the product |
media | Array[Media/String] | Images/videos for this product |
variant | String | Optional specific variant ID |
custom | Object | Custom fields at product level |
formId | String | Optional form template ID |
Shopify Collection Mapping
Drop ↔ Collection Relationship
Each drop (a collection dedicated to a collab within a channel) maps to one Shopify collection:- Drop ID → Shopify Collection GID
- Collection contains all products from the drop
- Products sync automatically when drop is updated
- Drops belong to specific channels (Shopify stores)
Accessing Drop Collections
Drop Data in Metaobject
JSON Structure in Metaobject
Drops are stored in the creator metaobject as JSON indata.value.cc-creator-drops:
Field Naming Convention
Drop fields in metaobject use this pattern:cc-creator-drop-{field}- Drop-level fieldscc-creator-drop-product-{field}- Product-level fieldscc-creator-drop-product-enhancement-{field}- Enhancement fields
Access Patterns
Iterating Drops (Correct Order)
Always iterate JSON first to preserve order:Finding Product Enhancement
Match product ID to find enhancement:Accessing Drop Custom Fields
ID Matching Patterns
Product ID Comparison
Critical: Always convert Shopify IDs to strings for comparison:Collection ID Comparison
Same pattern for collection IDs:Variant ID Matching
When a specific variant is associated with a drop product:Product Enhancement Media
Media Structure
Enhancement media can be:- URL strings - External media URLs
- Media objects - CreatorCommerce-hosted media
Drop Product Lists
Types of Drop Lists
Drops can be displayed as:- All Drop Products - Every product in the drop
- Featured Products - Subset marked as featured
- Curated Lists - Custom-ordered subset
API Operations
Create Drop
Update Drop
Generate Drop Checkout URL
Best Practices
1. Preserve Drop Order
Always iterate JSON drops first, then match to collections:2. Handle Missing Drops
Check for drops existence:3. Type-Safe ID Comparison
Always convert IDs to strings:4. Efficient Lookups
Break loops once matches are found:Related Documentation
- Data Model Overview - High-level architecture
- Creator & Collab Data Model - Creator structures
- Shopify Integration Data Model - Collections
- Custom Fields Reference - Custom field patterns