Skip to content

Storeitemvalues

Version: v1 (minor version 2) Scope: per-tenant+store (one record per item per store) Owning service: item-registry

Storeitemvalues represents a single store item flattened to a generic key-value map. It strips away the typed protobuf model in favour of string-valued properties that renderers and rule evaluators can process without knowledge of the store's specific schema. The record also carries the item's Store Item Codes (SICs) — alternative identifiers such as secondary barcodes or supplier codes — and exposes a by_sic alias that lets consumers look up the same record by any of those codes instead of the canonical item ID.

ID pattern

t/{tenantid}/s/{storeid}/items/{itemid}/values

Segment Meaning
t/{tenantid} Tenant scope
s/{storeid} Store scope
items/{itemid} The canonical item identifier (e.g. items/ABC123)
values Fixed suffix distinguishing this DTO from other per-item records

Example: t/10001/s/S001/items/ABC123/values

Schema

Field Type Description
id string Full resource name following the ID pattern above
custom_properties repeated PropertyEntry All key-value properties for this item. Keys are the exact Storeitem field names or custom property keys as defined in Itemproperties. Values are stringified. Must be sorted alphabetically by key for consistent serialisation.
sics repeated string Store Item Codes associated with this item. Alternative identifiers (e.g. secondary barcodes, supplier codes) that resolve to this item. Must be sorted alphabetically for consistent serialisation.

PropertyEntry message

Field Type Description
key string Property name, matching a name in the store's Itemproperties catalogue
value string Stringified property value

Note on stripping

Depending on the consuming context, custom_properties may be a subset of all item properties. For example, when producing records for the renderer, properties not referenced by any active design or rule may be omitted. Consumers must therefore not assume completeness of the property map.

Aliases

by_sic

Alias name by_sic
Alias pattern t/{tenantid}/s/{storeid}/itemsics/{sic}/values
Alias expression t/{tenantid}/s/{storeid}/itemsics/{.sics[]}/values

The by_sic alias creates one additional lookup path per SIC in the sics list. A consumer that knows only a barcode (SIC) can resolve it to the full Storeitemvalues record without first mapping the SIC to the canonical item ID.

Example: t/10001/s/S001/itemsics/8710447016023/values resolves to the same record as t/10001/s/S001/items/ABC123/values if 8710447016023 is one of ABC123's SICs.

Consumed by

Service Why
studio-renderer Resolves the item's property values to fill in design template variables and evaluate design selection conditions
studio-link-evaluator Uses item properties (alongside link properties) to evaluate CEL/rule conditions in Communicationpack scenarios and determine the correct design for an ESL
ecc-image-render-service Reads item values during ECC rendering; uses the by_item alias to find all ECC links affected by an item update
  • itemproperties — defines the property catalogue; custom_properties keys are the name values from that catalogue
  • itemprocessingparameters — controls how SICs are appended or replaced when item updates arrive; sic_append and sic_allow_moving_sic directly affect the sics list in this DTO