Domain vocabulary used in vtex.search-session.
| Term | Definition |
|---|---|
vtex.session builder | VTEX IO builder that lets apps register a session namespace (a configuration.json mapping input fields → output fields per namespace). This app declares the search namespace. |
| Session namespace | A scoped configuration in vtex.session/configuration.json describing what session inputs (public, profile, storefront-permissions, etc.) feed into a named output (search.facets, in our case). |
| Storefront facets | The search.facets.value string consumed by vtex.intelligent-search-api and vtex.search-resolver. Format: key=value; pairs joined by ;. |
/transform route | The single HTTP route (/_v/search/session/transform/) declared in node/service.json. Called by the VTEX session pipeline whenever a session namespace value needs to be refreshed. |
| Facets parser/serializer | Pure functions in node/utils.ts: parseFacetsString, parseDeliveryPromisesInput, stringifyFacets. Source of truth for the facet wire format. |
| Delivery Promises Input | The triplet zip-code, country, coordinates extracted from the facets string. Used to compute deliveryZonesHash and pickupPointsHash via the Logistics Shipping API. |
| Delivery Zone Hash | deliveryZonesHash returned by logisticShipping.deliveryZones(...). Appended to the output facets so Intelligent Search can do regionalized lookups. |
| Pickup Points Hash | pickupPointsHash returned by logisticShipping.pickupPoints(...). Same role as deliveryZonesHash but for pickup logistics. |
Region ID (region_id) | Optional base64-encoded string in the format vtex:BRA:0000000. Decoded by parseRegionId to derive postalCode + countryCode when those aren't explicitly in the session. |
| Provider Implementation App | An external app declared by the account that implements the vtex.search-segment-graphql interface. When present, this app uses GraphQL to compute custom segment facets. Detected by checkProviderImplementation middleware (currently hard-coded to vtex.search-segment-graphql@0.1.1 — TODO in code). |
vtex.search-segment-graphql | The GraphQL interface app the session expects when hasImplementationApp is true. Provides a searchSegment(...) query that returns { key, value }[] to override default segment facet computation. |
| Access Control List (ACL) facet | The B2B-mode facet (key: 'accesscontrollist') appended from storefront-permissions.organization.value when present. Used by B2B accounts to filter by organization. |
graphqlServer client | Calls vtex.graphql-server:resolve-graphql to dispatch the searchSegment query. |
checkout client | Used to resolve geocoordinates from a postal code + country (via checkout.getGeocoordinates) when region_id is the only location signal. |
logisticShipping client | Calls the Logistics Shipping API (portal.vtexcommercestable.com.br/api/logistics-shipping/* outbound policy) for deliveryZones and pickupPoints. |