getAllDiscounts
Obtener todos los descuentos.
Descripción
Obtiene descuentos con paginación y un filtro opcional por type. Se resuelve en un IDiscountsResponse: los descuentos están en items y el recuento en total.
.getAllDiscounts(
,
,
,
);
Esquema de parámetros
Esquema
langCode: cadena
Código de idioma. Predeterminado: el langCode pasado a defineOneEntry ("en_US" si no se pasó ninguno).
ejemplo: "en_US"
offset: number
Número de registros que se omiten. Predeterminado: 0. offset + limit no debe superar 200; una ventana mayor se rechaza con 400.
ejemplo: 0
limit: number
Número máximo de registros que se devuelven. Predeterminado: 30.
ejemplo: 30
type: IDiscountType
Tipo de descuento por el que filtrar: DISCOUNT, BONUS o PERSONAL_DISCOUNT.
Límite de registros. Si el permiso del grupo de usuarios para este método solo permite lectura restringida, la API devuelve como máximo el número de registros configurado en los ajustes del proyecto (10 por defecto), sin importar el limit que pases. Con acceso de lectura completo, limit funciona con normalidad. Consulta Module permissions (abre en una nueva pestaña).
Ejemplos
Ejemplo mínimo
const response = await Discounts.getAllDiscounts();
Ejemplo con parámetros opcionales
const response = await Discounts.getAllDiscounts('en_US', 0, 30);
Ejemplo de respuesta
{
"items": [
{
"id": 1,
"type": "DISCOUNT",
"attributeSetId": 31,
"conditionLogic": "AND",
"discountValue": {
"value": 10,
"maxAmount": 5,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_PRODUCT"
},
"exclusions": null,
"gifts": null,
"giftsReplaceCartItems": false,
"userGroups": null,
"userExclusions": null,
"localizeInfos": {
"title": "Example discount"
},
"version": 0,
"identifier": "example_discount",
"startDate": "2026-03-14T14:55:19.928Z",
"endDate": "2026-07-31T13:55:24.647Z",
"attributeValues": {
"example_discount": {
"type": "string",
"value": "test value",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
}
},
"conditions": [],
"bonusEvent": null,
"position": 1
},
{
"id": 2,
"type": "PERSONAL_DISCOUNT",
"attributeSetId": null,
"conditionLogic": "AND",
"discountValue": {
"value": 15,
"maxAmount": null,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_ORDER"
},
"exclusions": null,
"gifts": null,
"giftsReplaceCartItems": false,
"userGroups": null,
"userExclusions": null,
"localizeInfos": {
"title": "Personal discount"
},
"version": 2,
"identifier": "personal_discount",
"startDate": "2026-04-21T18:26:19.815Z",
"endDate": "2028-03-21T19:26:24.741Z",
"attributeValues": {},
"conditions": [],
"bonusEvent": null,
"position": 2
}
],
"total": 2
}
Esquema de respuesta
Esquema: IDiscountsResponse
items: IDiscountsEntity[]
Descuentos de esta respuesta.
items.id: número
ID del descuento.
items.attributeSetId: number | null
ID del conjunto de atributos vinculado al descuento, o null si no hay ninguno.
items.localizeInfos: ILocalizeInfo
Nombre localizado del descuento.
items.version: number
Número de versión del descuento.
items.identifier: string
Marcador del descuento.
items.type: IDiscountType
El tipo del descuento.
items.startDate: string
La fecha de inicio del descuento.
items.endDate: string
Fecha de finalización del descuento.
items.discountValue: IDiscountValue
Valor del descuento con su tipo y límites de importe.
items.conditionLogic: string
Cómo se combinan las condiciones: AND u OR.
items.conditions: IDiscountCondition[]
Condiciones del descuento.
items.exclusions: Record<string, unknown> | null
Exclusiones del descuento.
items.gifts: Record<string, unknown> | null
Regalos del descuento.
items.giftsReplaceCartItems: boolean
Si los regalos reemplazan los artículos del carrito.
items.userGroups: Record<string, unknown> | null
Grupos de usuarios a los que se aplica el descuento.
items.userExclusions: Record<string, unknown> | null
Usuarios excluidos del descuento.
items.attributeValues: IAttributeValues
Valores de atributos del descuento.
items.attributeSetIdentifier: string
Marcador del conjunto de atributos.
items.bonusEvent: Record<string, unknown>
Configuración del evento de bonificación.
items.position: number
Posición usada para ordenar.
ejemplo: 1
items.total: number | string
Recuento interno de filas que la API devuelve por error ("1" en un único descuento). No te bases en él.
ejemplo: "1"
items.distance: number
Distancia coseno a la consulta. El endpoint de búsqueda semántica (vectorial) la devuelve en cada elemento.
ejemplo: 0.12
total: número
Número total de descuentos.