Appearance
Schema Overview
The inRiver PIM exports data via S3 in three file types, each serving a distinct purpose in the e-commerce pipeline.
Export Files
s3://watsco-pim/InRiver/SANDBOX/ECOM/
├── SHARED/
│ └── AttributeFile.json ← Schema metadata (attribute definitions, CVL values)
│
├── {BU}/CHANNEL/
│ └── ChannelStructure_001.jsonl ← Category tree (one per BU)
│
└── {BU}/PRODUCT/YYYY/MM/
├── ecommerce_*_full_*.jsonl ← Full product snapshots
└── ecommerce_*.jsonl ← Incremental deltasEntity Relationships
┌─────────────────────────────────────────────────────────────────────┐
│ AttributeFile.json │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────────────────┐ │
│ │ Attributes │ │ Data Types │ │ AllowedValues (CVL lookup) │ │
│ │ (1,025) │ │ per field │ │ key → display name │ │
│ └─────────────┘ └──────────────┘ └────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│ defines fields for
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Product JSONL (ecommerce_*.jsonl) │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Product │ │
│ │ EntityId, ProductId, Taxonomy, MainSupplier │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────────┐ │ │
│ │ │ Item (1..N per Product) │ │ │
│ │ │ EntityId, Mfg#, Dimensions, Specs, Flags │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │
│ │ │ │ BusinessUnitQualifiers (1..N per Item) │ │ │ │
│ │ │ │ FieldSetId: IBUQCEUS | IBUQCEFL | IBUQBAK | ... │ │ │ │
│ │ │ │ ERP keys, Descriptions, UOMs, EComm flags │ │ │ │
│ │ │ └─────────────────────────────────────────────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │
│ │ │ │ Resources │ │ InboundLinks │ │ OutboundLinks│ │ │ │
│ │ │ │ (images/docs)│ │ (associated) │ │ (bundles) │ │ │ │
│ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │
│ │ └───────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ InboundLinks ──────────────────────────────┐ │ │
│ │ (ChannelNodeProduct) │ │ │
│ └─────────────────────────────────────────────┼───────────────────┘ │
└───────────────────────────────────────────────┼─────────────────────┘
│ references
▼
┌─────────────────────────────────────────────────────────────────────┐
│ ChannelStructure JSONL │
│ │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ ChannelNode (flat list) │ │
│ │ EntityId, ParentId, DisplayName, Path, SortOrder │ │
│ │ Forms a tree: Channel → Category → Subcategory │ │
│ └───────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘File Purposes
| File | Format | Frequency | Purpose |
|---|---|---|---|
AttributeFile.json | JSON | On attribute changes | Field definitions, CVL display values, data types |
ChannelStructure_001.jsonl | JSONL | Full snapshot each run | Category hierarchy for the BU's channel |
ecommerce_*_full_*.jsonl | JSONL | Periodic full loads | Complete product catalog (mark-and-sweep baseline) |
ecommerce_*.jsonl | JSONL | Nightly/on-change | Incremental deltas (changed products only) |
Business Units
| BU Code | Channel | Regions |
|---|---|---|
| GEM | Gemaire | — |
| BAK | Baker | — |
| ECM | East Coast Metal | — |
| CEUS | Carrier Enterprise US | CEFL, CEMA, CESC, CESE, CEST, CENE, CEPR, CECP |
| CIAC | Carrier InterAmerican | — |
| HOM | HOM | — |
Data Flow
AttributeFile.json ─┐
├──→ Pipeline DB (PostgreSQL) ──→ CSV Generator ──→ Heiler CSVs ──→ Blower
ChannelStructure ───┤ │
│ ├── items.csv
Product JSONL ──────┘ ├── itemdataflex.csv
├── media.csv
├── category.csv
├── attributes.csv
├── attributemap.csv
└── structures.csvRelated Documentation
- AttributeFile — Field metadata and CVL values
- BusinessUnitQualifiers — Per-BU/region item data
- ChannelNode — Category tree structure
- Product — Full product/item schema