Appearance
Questions and Clarifications
Open questions and concerns about the inRiver export format that need clarification from Aperture Labs.
Data Structure Concerns
ChannelNode OutboundLinks Scalability
Issue: ChannelNode entities contain OutboundLinks arrays listing all products in that category.
Observed: Sample ChannelNode (50714) has 9 products in OutboundLinks array.
Concern:
- Production categories could have thousands of products
- Large OutboundLinks arrays could cause:
- Memory issues when parsing
- Slow processing times
- Network transfer overhead
- Difficulty with incremental updates
Questions:
- What is the expected maximum number of products per category?
- Are there categories with 1000+ products?
- Is there a pagination or chunking strategy for large categories?
- Would it be more efficient to:
- Only include InboundLinks on Products (not OutboundLinks on ChannelNodes)?
- Provide a separate ChannelNode-Product mapping file?
- Paginate large OutboundLinks arrays?
Impact: E-commerce systems need to plan for memory and processing requirements based on maximum category sizes.
Status: ⏳ Awaiting response from Aperture Labs
Delivery and Updates
Delta Update Strategy
Question: How are deletions handled in delta updates?
Context: Technical spec mentions "Delta updates only" for entity exports.
✅ RESOLVED (April 15, 2026): Deletions are communicated via "Deleted": true flag on the entity record. Deleted products have null Attributes, empty Items/Resources/InboundLinks arrays. ETL should remove these products from the target system.
json
{"EntityTypeId": "Product", "EntityId": 647401, "Deleted": true}Confirmed: All 1,788 empty products in Gemaire sample had Deleted: true. No false positives.
Remaining questions:
- How are removed category assignments (link deletions) communicated?
- Are item-level deletions handled the same way?
Status: ✅ Partially resolved
File Format
AttributeFile Frequency
Confirmed: Daily system-wide AttributeFile delivery
Questions:
- What time of day is the AttributeFile delivered?
- Should consumers wait for AttributeFile before processing entity updates?
- How are new attributes communicated mid-day if entities use them?
Status: ⏳ Awaiting response
Business Unit Organization
Sub-Business Unit File Separation
Question: Are inRiver exports separated by sub-business units?
Context: Watsco has business units with sub-units:
- Baker Distributing (BK) - single unit
- Gemaire (GM) - single unit
- East Coast Metal Distributors (EC) - single unit
- Carrier Enterprise with sub-units:
- Carrier Enterprise Florida (CEFL)
- Carrier Enterprise Mid-Atlantic (CEMA)
- Carrier Enterprise Southeast (CESE)
✅ PARTIALLY RESOLVED (April 15, 2026): Gemaire BU-specific export received in gemaire/ subdirectory with its own JSONL files. This confirms BU-level separation exists.
Observations:
- Gemaire export: 3,969 products (2,181 active + 1,788 deleted)
- Naming convention differs from non-BU exports (no channel ID, includes milliseconds)
- BU exports appear to be in separate directories
Remaining questions:
- Will all BUs follow the same directory/naming pattern?
- How are Carrier Enterprise sub-units handled?
- What determines the naming convention difference?
Status: ✅ Partially resolved
Last Updated: April 15, 2026
Contact: Brandon Spor (Aperture Labs)