Apex Action — SS_SearchProductsAction
Versión activa (v2). Recibe atributos estructurados del catálogo directamente del agente, que los razona a partir del Knowledge Base y la conversación del cliente.
Parámetros de entrada — SearchRequest
| Campo | Obligatorio | Valores posibles |
|---|
lensType | No | POLARIZED · STANDARD · BLUE_BLOCKING |
style | No | LIFESTYLE · PERFORMANCE · SPORT · SPORTWEAR · FASHION · SKI |
frameShape | No | AVIATOR · RECTANGLE · SQUARE · ROUNDED · BROWLINE · CATEYE · BUTTERFLY · OVAL · MASK |
frameMaterial | No | TR90 · METAL · ACETATE · ECO_ACETATE · PC · BIO_MASS · POLYURETHANE · TRITAN_RENEW |
productType | No | SUNGLASSES · SPORT_SUNGLASSES · BLUE_LIGHT · SKI_GOGGLES · SKI_LENS |
mainColor | No | BLACK · GOLD · SILVER · BROWN · BLUE · GREEN · GREY · PINK · etc. |
gender | No | UNISEX · MALE · FEMALE · KIDS |
collaboration | No | Nombre de la colaboración, ej: ALEX_MARQUEZ |
locale | No | es_ES · en_US · fr_FR · de_DE · etc. (20 soportados; fallback: es_ES) |
Parámetros de salida — SearchResult
| Campo | Tipo | Descripción |
|---|
productResultsJSON | String | Array JSON con los productos. Máximo 5, aleatorizado si hay más de 5. |
resultCount | Integer | Número de productos devueltos (0 a 5). |
Estructura del JSON de respuesta
| Campo JSON | Contenido |
|---|
name · description · type · variantTitle | Identificación del producto |
url | URL del producto en el locale del cliente |
regularPrice · salePrice | Precio regular y de oferta (salePrice puede ser null) |
imageUrl | URL de la imagen principal |
collaboration | Nombre de la colaboración si aplica |
lensType · lensColor · lensCategory · lensAppearance · lensMaterial | Atributos de lente |
frameShape · frameMaterial · frameColor | Atributos de montura |
mainColor · gender · style · targetGroup · productType | Atributos generales |
Lógica de fallback y relajación de filtros
- Búsqueda con todos los filtros activos (AND). Límite: 20 resultados → aleatoriza a 5.
- Si 0 resultados y había filtro de
gender: reintenta sin gender (resto de filtros se mantienen).
- Si sigue sin resultados: devuelve los 20 primeros productos de tipo
Sunglasses (fallback general).
Locales soportados (20)
| | | | |
|---|
es_ES | es_MX | es_CO | es_CL | en_US |
en_GB | en_AU | en_DE | en_NL | en_SE |
en_PL | en_DK | en_CA | fr_FR | fr_BE |
fr_LU | fr_CA | de_DE | it_IT | pt_PT |
el_GR | — | — | — | — |
:::info Fallback de locale
Si el locale recibido no está en el mapa, se usa es_ES por defecto.
:::
v1 — HK_SearchProductsAction (Legado)
Primera versión, ya no está en uso. Reemplazada por SS_SearchProductsAction. Se mantiene en el repositorio como referencia histórica.
| Característica | HK_SearchProductsAction (v1) | SS_SearchProductsAction (v2) |
|---|
| Entrada | searchQuery (texto libre) | 9 atributos estructurados + locale |
| Búsqueda | LIKE en Name, Description, Type, Collaboration | Filtros exactos por atributo (AND) |
| Localización | Solo es_ES (hardcoded) | 20 locales dinámicos |
| Fallback | Top 5 de tipo Sunglasses | Relajación de género + top 20 fallback |
| Aleatorización | No | Sí (hasta 5 de 20 resultados) |
| Test class | No existe | SS_SearchProductsActionTest (~95%) |
| Estado | ❌ LEGADO — no usar | ✅ ACTIVO |