Saltar al contenido principal

getDiscountsByVectorSearch

Búsqueda semántica (vectorial) de descuentos.

Descripción​

Este método realiza una búsqueda semántica (vectorial) de descuentos a partir de una consulta en lenguaje natural: coincide en significado en lugar de palabras clave exactas. Devuelve una Promesa que se resuelve en un objeto IDiscountsResponse: un contenedor con items (los descuentos) y total.

.getDiscountsByVectorSearch(

, , ,

);

Esquema de parámetros​

Esquema

body(required): IDiscountsVectorSearch
Cuerpo de búsqueda vectorial
ejemplo:

{ queryText: "winter sale" }

body.queryText(required): string
Consulta de búsqueda en lenguaje natural.
ejemplo: "venta de invierno"

body.vectorDistanceThreshold: number
Anulación del umbral de distancia coseno (0..2).
ejemplo: 0.3

body.maxHits: number
Candidatos Top-K obtenidos antes de la paginación. Predeterminado: 100. Máx: 500.
ejemplo: 10

body.debug: boolean
Cuando es verdadero, cada elemento devuelto obtiene un campo distance.
ejemplo: false

langCode: string
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"

offset: number
Parámetro para paginación. Predeterminado: 0
ejemplo: 0

limit: number
Parámetro para paginación. Predeterminado: 30
ejemplo: 30

Ejemplos​

Ejemplo mínimo​

const response = await Discounts.getDiscountsByVectorSearch({ queryText: 'winter sale' });

Ejemplo con atributos​

const response = await Discounts.getDiscountsByVectorSearch(
{
queryText: 'winter sale',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);

Ejemplo de respuesta​

{
"items": [],
"total": 0,
"indexReady": false
}

Esquema de respuesta​

Esquema: IDiscountsResponse

items: IDiscountsEntity[]
Array de entidades de descuento.

items.id: number
El identificador único del descuento.

items.attributeSetId: number | null
El identificador del conjunto de atributos vinculado al descuento, o null cuando no hay conjunto vinculado.

items.localizeInfos: ILocalizeInfo
El nombre del descuento.

items.version: number
La versión del descuento.

items.identifier: string
El identificador del descuento.

items.type: IDiscountType
El tipo de descuento.

items.startDate: string
La fecha de inicio del descuento.

items.endDate: string
La fecha de finalización del descuento.

items.discountValue: IDiscountValue
El valor del descuento, incluyendo su tipo y límites de cantidad.

items.conditionLogic: string
La lógica del descuento. Los valores posibles son "AND" | "OR".

items.conditions: IDiscountCondition[]
Las condiciones del descuento.

items.exclusions: Record<string, unknown> | null
Las exclusiones del descuento.

items.gifts: Record<string, unknown> | null
Los regalos del descuento.

items.giftsReplaceCartItems: boolean
Si los regalos reemplazan los artículos del carrito.

items.userGroups: Record<string, unknown> | null
Los grupos de usuarios del descuento.

items.userExclusions: Record<string, unknown> | null
Las exclusiones de usuarios del descuento.

items.attributeValues: IAttributeValues
Los valores de atributos del descuento.

items.attributeSetIdentifier: string
El identificador del conjunto de atributos.

items.bonusEvent: Record<string, unknown>
Configuración del evento de bonificación.

items.position: number
Número de posición para ordenación.
ejemplo: 1

items.total: number | string
Total de entradas relacionadas.
ejemplo: "1"

items.distance: number
Distancia coseno a la consulta. Devuelto solo por el punto final de búsqueda semántica (vectorial) cuando se pasa debug: true en el cuerpo de búsqueda.
ejemplo: 0.12

total: number
Número total de descuentos.

ℹ️ La búsqueda semántica coincide en significado, no en el texto literal. Para coincidencias de palabras clave en todos los tipos de entidades a la vez, utiliza globalSearch().