Skip to content

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 deltas

Entity 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

FileFormatFrequencyPurpose
AttributeFile.jsonJSONOn attribute changesField definitions, CVL display values, data types
ChannelStructure_001.jsonlJSONLFull snapshot each runCategory hierarchy for the BU's channel
ecommerce_*_full_*.jsonlJSONLPeriodic full loadsComplete product catalog (mark-and-sweep baseline)
ecommerce_*.jsonlJSONLNightly/on-changeIncremental deltas (changed products only)

Business Units

BU CodeChannelRegions
GEMGemaire
BAKBaker
ECMEast Coast Metal
CEUSCarrier Enterprise USCEFL, CEMA, CESC, CESE, CEST, CENE, CEPR, CECP
CIACCarrier InterAmerican
HOMHOM

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.csv