BriefElement
A BriefElement represents a single configured product within a brief and contains the complete client request to produce that product. It embeds all essential specifications including dimensions, materials, decoration, finishes, and quantities. Each BriefElement can have its own manufacturing process details and cost analysis.
Main Purpose
Section titled “Main Purpose”- Define complete product specifications for manufacturing
- Capture dimensions and layout configurations
- Specify materials and material compositions
- Configure decoration and printing requirements
- Define finishing options (lamination, varnish, stamping, embossing)
- Set production quantities per decoration variant
Key Properties
Section titled “Key Properties”Core Properties
Section titled “Core Properties”| Property | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
briefId | UUID | Parent brief reference |
position | number | Order in the brief (0-indexed) - Used to retrieve corresponding BriefElementComputed |
productCategoryId | UUID | Product category |
productId | UUID | Product reference |
Important: The
positionproperty serves as the index to retrieve the corresponding BriefElementComputed from thebriefComputed.briefElementsarray. It’s also used in the/briefs/:id/process/:elementIndexendpoint.
Dimensions
Section titled “Dimensions”| Property | Type | Description |
|---|---|---|
lengthDimension | number | Product length (mm) |
widthDimension | number | Product width (mm) |
heightDimension | number | Product height (mm) |
Materials
Section titled “Materials”| Property | Type | Description |
|---|---|---|
matterId | UUID | Matter type (paper, cardboard, etc.) |
materialTypeId | UUID | Material type |
materialReferenceId | UUID | Specific material reference |
grammage | number | Material weight (g/m²) |
corrugatedMaterialId | UUID | Corrugated material (optional) |
Decoration
Section titled “Decoration”| Property | Type | Description |
|---|---|---|
decorationsCount | DecorationCount[] | Required: Quantities per decoration variant |
wantDecoration | boolean | Decoration requested |
sidePrinted | enum | Printed side (RECTO, VERSO, RECTO_VERSO) |
rectoColorCount | number | Recto total colors |
versoColorCount | number | Verso total colors |
Finishes
Section titled “Finishes”| Property | Type | Description |
|---|---|---|
wantLaminationRecto | boolean | Lamination on recto |
wantVarnishRecto | boolean | Varnish on recto |
wantStampingRecto | boolean | Stamping on recto |
wantEmbossingDebossingRecto | boolean | Embossing on recto |
Main Relationships
Section titled “Main Relationships”| Relationship | Entity | Type | Description |
|---|---|---|---|
brief | Brief | Many-to-One | Parent brief |
product | Product | Many-to-One | Product reference |
productCategory | ProductCategory | Many-to-One | Product category |
matter | Matter | Many-to-One | Material matter |
materialType | MaterialType | Many-to-One | Material type |
materialReference | MaterialReference | Many-to-One | Material reference |
briefElementPrice | BriefElementPrice | One-to-One | Pricing data for this element |
quoteItems | QuoteItem | One-to-Many | Quote items using this element |
articles | Article | One-to-Many | Articles created from this element |
What BriefElement Contains
Section titled “What BriefElement Contains”Each BriefElement is a complete product specification with:
- Dimensions: Length, width, height (mm)
- Materials: Material type, grammage (g/m²), corrugated specs
- Decoration: Printing (CMYK, direct tone, digital), colors, coverage
- Finishes: Lamination, varnish, hot stamping, embossing
- Quantity: Production quantities per decoration variant
The Position Property
Section titled “The Position Property”The position property is critical for data retrieval and serves multiple purposes:
1. Access Computed Data
Section titled “1. Access Computed Data”The position is used as an array index to retrieve the corresponding BriefElementComputed:
// Example: Accessing computed data for a specific elementconst brief = await GET('/briefs/:id/details');const element = brief.briefElements[0]; // BriefElement at position 0const computed = brief.briefComputed.briefElements[0]; // Corresponding BriefElementComputed
// The position property links them:// element.position === 0// computed matches element because they share the same position index2. Access Manufacturing Process
Section titled “2. Access Manufacturing Process”The position is used in the process endpoint:
# Get manufacturing process for element at position 0GET /briefs/:id/process/0
# Get manufacturing process for element at position 1GET /briefs/:id/process/13. Multiple Elements Example
Section titled “3. Multiple Elements Example”A Brief can contain multiple BriefElements, each with a unique position:
Brief (id: "brief-123") ├── BriefElement[position: 0] - Product A (200x150x80mm folding carton) │ └── BriefElementComputed[position: 0] - Computed data for Product A │ └── GET /briefs/brief-123/process/0 - Manufacturing for Product A │ ├── BriefElement[position: 1] - Product B (300x200x100mm display box) │ └── BriefElementComputed[position: 1] - Computed data for Product B │ └── GET /briefs/brief-123/process/1 - Manufacturing for Product B │ └── BriefElement[position: 2] - Product C (custom sleeve) └── BriefElementComputed[position: 2] - Computed data for Product C └── GET /briefs/brief-123/process/2 - Manufacturing for Product CKey Points
Section titled “Key Points”- Position is 0-indexed (starts at 0, not 1)
- Position determines the array index in
briefComputed.briefElements[] - Position is used as
:elementIndexin/briefs/:id/process/:elementIndex - Each BriefElement must have a unique position within its Brief
Schema Types
Section titled “Schema Types”DecorationCount: {quantity: number, decorationIndex: number}
quantity: Order quantity for this decoration variantdecorationIndex: Decoration variant number (0-11)
LayoutCount: {quantity: number, machineId: string}
- Used for die-cut tools and flexo plates
HotStamping: {color: string, coverage: number, width: number, height: number}
EmbossingDebossing: {type: 'EMBOSSING'|'DEBOSSING'|'BRAILLE', width: number, height: number, depth: number}
Related Endpoints
Section titled “Related Endpoints”GET /briefs/:id/process/:elementIndex- Get manufacturing process for specific element
See Also
Section titled “See Also”- Brief - Parent brief entity
- BriefElementPrice - Element pricing
- BriefElementComputed - Computed element data
- Brief Integration Guide - Complete integration documentation