Pular para o conteúdo principal

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.