getProductsEmptyPage
Pesquise todos os objetos de produto com paginação que não têm uma categoria.
Descrição
Este método pesquisa objetos de página de produto com paginação que não têm uma categoria, com base nos parâmetros de consulta fornecidos (userQuery). Ele retorna uma Promise que resolve para um objeto IProductsResponse.
Produtos.getProductsEmptyPage(
langCode,
userQuery
);
Esquema de parâmetros
Esquema
body: objeto
Corpo da solicitação. Padrão:
exemplo:
{}
langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"
userQuery: IProductsQueryBase
Conjunto opcional de parâmetros de consulta
exemplo:
{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"signPrice": "orders"
}
userQuery.offset(obrigatório): número
Parâmetro para paginação. Padrão: 0.
userQuery.limit(obrigatório): número
Parâmetro para paginação. Padrão: 30.
userQuery.sortOrder(obrigatório): string
Ordem de classificação "DESC" | "ASC". Padrão: "DESC".
userQuery.sortKey(obrigatório): string
Campo para ordenação (padrão - null). Valores possíveis: "id", "position", "title", "date", "price". Padrão: null.
userQuery.signPrice: string
Marcador de armazenamento de pedido para fixação de preço. Se o parâmetro estiver definido, o preço é fixado por um determinado tempo.
veja: Fixação do preço
Por padrão, você pode recuperar 10 objetos. Isso se deve ao limite de registro nas configurações de permissões do módulo.
Para que a paginação funcione corretamente, você precisa configurar as Permissões do módulo de acordo com suas necessidades na seção correspondente.
💲
signPricebloqueia o preço retornado por um tempo limitado — defina-o como seu marcador de armazenamento de pedido. Veja Fixação do preço (signPrice).
Exemplos
Exemplo mínimo
const response = await Products.getProductsEmptyPage();
Exemplo com atributos
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsEmptyPage('en_US', userQuery);
Use filtros para encontrar produtos específicos:
attributeMarker: O identificador de texto do atributo indexado pelo qual os valores são filtrados. conditionMarker: O tipo de condição a ser aplicada ao valor do atributo.
| Marcador | Significado | Exemplo |
|---|---|---|
| eq | Igual | statusId = 1 (apenas ativo) |
| neq | Não igual | role ≠ "Viewer" |
| in | Contém (um dos) | role in ["Editor", "Manager"] |
| nin | Não contém | email not in ["@temp.com"] |
| exs | Existe (tem valor) | Tem lastLogin |
| nexs | Não existe | Nunca fez login |
| pat | Corresponde ao padrão | identificador corresponde a "man" |
| same | Corresponde exatamente ao valor | identificador é exatamente "admin1" |
| same_part | Corresponde a uma parte do valor exatamente | parte do identificador é exatamente "adm" |
conditionValue: O valor a ser comparado.
Exemplo de resposta
{
"total": 15,
"items": [
{
"localizeInfos": {
"title": "Товар"
},
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"id": 1764,
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"statusLocalizeInfos": {
"title": "Товар"
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"additionalFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1,
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"formModuleConfigs": [
{
"id": 1,
"formIdentifier": "reg",
"moduleIdentifier": "user",
"entityIdentifiers": [],
"isGlobal": true,
"isClosed": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"formDataCount": 0,
"entityFormDataCount": {},
"exceptionIds": [
"shop"
],
"nestedEntityIdentifiers": [
"avto-aksessuary",
"fm-moduliatory",
"avtomobilnye-derzhateli",
"videoregistratory-radiolokatory"
],
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true
}
],
"discountConfig": {
"discounts": [
{
"id": 5,
"identifier": "summer-sale",
"type": "DISCOUNT",
"localizeInfos": {
"title": "Summer Sale"
},
"startDate": "2026-01-01T06:32:19.736Z",
"endDate": "2026-01-28T06:32:22.632Z",
"discountValue": {
"value": 30,
"maxAmount": 0,
"discountType": "FIXED_PRICE",
"applicability": "TO_PRODUCT"
},
"exclusions": [
{
"id": 2
}
],
"position": 3,
"conditionLogic": "OR",
"gifts": [
{
"id": 3,
"localizeInfos": {
"title": "hhh222"
},
"attributeSetIdentifier": "attr-set-1",
"statusIdentifier": null,
"statusLocalizeInfos": {},
"templateIdentifier": null,
"price": 90,
"sku": null,
"attributeValues": {
"price1": {
"type": "integer",
"value": "90",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
},
"isVisible": true
}
],
"conditions": [
{
"conditionType": "PRODUCT",
"entityIds": [
{
"id": 4,
"isNested": false
},
{
"isNested": false
}
],
"value": null
},
{
"conditionType": "ATTRIBUTE",
"entityIds": [
{
"isNested": false
}
],
"value": {
"value": "100",
"condition": "eq"
}
}
]
}
],
"discountPrice": 90,
"settings": {
"allowStacking": true,
"maxDiscountValue": 30,
"allowGiftStacking": false
}
}
},
{
"localizeInfos": {
"title": "Товар"
},
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"id": 1764,
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"statusLocalizeInfos": {
"title": "Товар"
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"additionalFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1,
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"formModuleConfigs": [
{
"id": 1,
"formIdentifier": "reg",
"moduleIdentifier": "user",
"entityIdentifiers": [],
"isGlobal": true,
"isClosed": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"formDataCount": 0,
"entityFormDataCount": {},
"exceptionIds": [
"shop"
],
"nestedEntityIdentifiers": [
"avto-aksessuary",
"fm-moduliatory",
"avtomobilnye-derzhateli",
"videoregistratory-radiolokatory"
],
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true
}
],
"discountConfig": {
"discounts": [
{
"id": 5,
"identifier": "summer-sale",
"type": "DISCOUNT",
"localizeInfos": {
"title": "Summer Sale"
},
"startDate": "2026-01-01T06:32:19.736Z",
"endDate": "2026-01-28T06:32:22.632Z",
"discountValue": {
"value": 30,
"maxAmount": 0,
"discountType": "FIXED_PRICE",
"applicability": "TO_PRODUCT"
},
"exclusions": [
{
"id": 2
}
],
"position": 3,
"conditionLogic": "OR",
"gifts": [
{
"id": 3,
"localizeInfos": {
"title": "hhh222"
},
"attributeSetIdentifier": "attr-set-1",
"statusIdentifier": null,
"statusLocalizeInfos": {},
"templateIdentifier": null,
"price": 90,
"sku": null,
"attributeValues": {
"price1": {
"type": "integer",
"value": "90",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
},
"isVisible": true
}
],
"conditions": [
{
"conditionType": "PRODUCT",
"entityIds": [
{
"id": 4,
"isNested": false
},
{
"isNested": false
}
],
"value": null
},
{
"conditionType": "ATTRIBUTE",
"entityIds": [
{
"isNested": false
}
],
"value": {
"value": "100",
"condition": "eq"
}
}
]
}
],
"discountPrice": 90,
"settings": {
"allowStacking": true,
"maxDiscountValue": 30,
"allowGiftStacking": false
}
}
}
]
}
Esquema de resposta
Esquema: IProductsResponse
attrValue: string
Valor do atributo.
items: IProductsEntity[]
Array de entidades de produto.
items.id: número
O identificador único.
exemplo: 12345
items.localizeInfos: ILocalizeInfo
O nome dos produtos, levando em conta a localização.
exemplo:
{}
items.statusIdentifier: string | null
Identificadores de status da página do produto (podem ser nulos).
exemplo: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo:
{ "title": "Sale" }
items.attributeSetIdentifier: string | null
Conjunto de id de atributos.
exemplo: "set_12345"
items.position: número
Número do item (para ordenação).
exemplo: 1
items.price: número | null
O valor do preço da página do produto retirado do índice.
exemplo: 150.00
items.additional: objeto
Valor adicional do índice.
exemplo:
{
"prices": {
"min": 5,
"max": 150
}
}
items.sku: string | null
SKU do produto (Unidade de Manutenção de Estoque), pode ser nulo.
exemplo: "SKU_12345"
items.isSync: boolean
Indicação de indexação da página.
exemplo: true
items.attributeValues: IAttributeValues
Array de valores de atributos do índice, representados.
exemplo:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
Categorias de produtos.
exemplo:
[
1,
2,
3
]
items.isVisible: boolean
Um sinal de visibilidade da página.
exemplo: true
items.moduleFormConfigs: Array<IFormConfig>
Configurações de formulário do módulo (opcional).
items.rating: IRating
Dados de avaliação.
items.isPositionLocked: boolean
Indicador de bloqueio da posição de ordenação (opcional).
exemplo: false
items.relatedIds: número[]
Ids de páginas de produtos relacionadas.
exemplo:
[
12345,
67890
]
items.paymentStages: desconhecido
Dados das etapas de pagamento (podem ser nulos).
exemplo: null
items.distance: número
Distância de relevância da busca vetorial (semântica). Presente apenas nos resultados da busca vetorial.
exemplo: 0.42
items.discountConfig: Record<string, unknown>
Objeto de configuração de desconto.
exemplo:
{}
items.templateIdentifier: string | null
Id do usuário do template vinculado.
exemplo: "template_12345"
items.shortDescTemplateIdentifier: string | null
Id do usuário do template vinculado para uma descrição curta.
exemplo: "short_desc_template_12345"
items.signedPrice: string
O preço assinado do produto é obtido junto com os dados do produto quando signPrice é definido.
veja: Preço fixo do produto
exemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
items.productPages: IProductPageRef[]
Array de referências de páginas de produtos vinculando o produto às suas páginas.
exemplo:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
items.blocks: string[]
Array de identificadores de bloco.
exemplo:
[
"block_12345",
"block_67890"
]
productIds: string[]
Array de ids de produtos.
total: número
Contagem total.
🔒
signedPriceé o token assinado que carrega o preço bloqueado — passe-o de volta quando você criar um pedido. Veja Preço fixo do produto (signedPrice).