getAllDiscounts
Obter todos os descontos.
Descrição
Busca descontos com paginação e um filtro type opcional. Resolve para um IDiscountsResponse: os descontos ficam em items, e a contagem, em total.
.getAllDiscounts(
,
,
,
);
Esquema de parâmetros
Esquema
langCode: string
Código do idioma. Padrão: o langCode passado para defineOneEntry ("en_US" se nenhum for passado).
exemplo: "en_US"
offset: number
Número de registros a pular. Padrão: 0. offset + limit não pode ultrapassar 200; uma janela maior é rejeitada com 400.
exemplo: 0
limit: number
Número máximo de registros a retornar. Padrão: 30.
exemplo: 30
type: IDiscountType
Tipo de desconto para filtrar: DISCOUNT, BONUS ou PERSONAL_DISCOUNT.
Limite de registros. Se a permissão do grupo de usuários para este método permitir apenas leitura restrita, a API retorna no máximo o número de registros definido nas configurações do projeto (10 por padrão), seja qual for o limit informado. Com acesso total de leitura, limit funciona normalmente. Veja Module permissions (abre em uma nova aba).
Exemplos
Exemplo mínimo
const response = await Discounts.getAllDiscounts();
Exemplo com parâmetros opcionais
const response = await Discounts.getAllDiscounts('en_US', 0, 30);
Exemplo de resposta
{
"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 resposta
Esquema: IDiscountsResponse
items: IDiscountsEntity[]
Descontos nesta resposta.
items.id: number
ID do desconto.
items.attributeSetId: number | null
ID do conjunto de atributos vinculado ao desconto, ou null quando nenhum conjunto está vinculado.
items.localizeInfos: ILocalizeInfo
Nome localizado do desconto.
items.version: number
Número da versão do desconto.
items.identifier: string
Marcador do desconto.
items.type: IDiscountType
O tipo do desconto.
items.startDate: string
A data de início do desconto.
items.endDate: string
Data de término do desconto.
items.discountValue: IDiscountValue
Valor do desconto com seu tipo e limites de valor.
items.conditionLogic: string
Como as condições se combinam: AND ou OR.
items.conditions: IDiscountCondition[]
Condições do desconto.
items.exclusions: Record<string, unknown> | null
Exclusões do desconto.
items.gifts: Record<string, unknown> | null
Brindes do desconto.
items.giftsReplaceCartItems: boolean
Se os presentes substituem os itens do carrinho.
items.userGroups: Record<string, unknown> | null
Grupos de usuários aos quais o desconto se aplica.
items.userExclusions: Record<string, unknown> | null
Usuários excluídos do desconto.
items.attributeValues: IAttributeValues
Valores de atributos do desconto.
items.attributeSetIdentifier: string
Marcador do conjunto de atributos.
items.bonusEvent: Record<string, unknown>
Configuração do evento bônus.
items.position: number
Posição usada para ordenação.
exemplo: 1
items.total: number | string
Contagem interna de linhas que a API retorna por engano ("1" em um único desconto). Não dependa dela.
exemplo: "1"
items.distance: number
Distância do cosseno até a consulta. Retornada em todos os itens pelo endpoint de busca semântica (vetorial).
exemplo: 0.12
total: number
Número total de descontos.