Skip to main content

getProductsEmptyPage

Search all product objects with pagination that do not have a category.

Description

This method searches for product page objects with pagination that do not have a category, based on the provided query parameters (userQuery). It returns a Promise that resolves to an object IProductsResponse.

Products.getProductsEmptyPage( langCode, userQuery );

Parameters schema

Schema

langCode: string
Language code. Default: "en_US"
example: "en_US"

userQuery: IProductsQuery
Optional set query parameters
example:

{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}

userQuery.offset(required): number
Parameter for pagination. Default: 0.

userQuery.limit(required): number
Parameter for pagination. Default: 30.

userQuery.sortOrder(required): string
Sort order "DESC" | "ASC". Default: "DESC".

userQuery.sortKey(required): string
Field for sorting (default - null). Possible values: "id", "position", "title", "date", "price". Default: null.

userQuery.templateMarker: string | null
Product page template marker, default null.
example: "template_12345"

userQuery.statusMarker: string | null
Product page status marker, default null.
example: "in_stock"

userQuery.conditionValue: string | null
The value that is being searched for, default null.
example: "new"

userQuery.attributeMarker: string | null
The text identifier of the indexed attribute by which values are filtered, default null.
example: "color"

userQuery.conditionMarker: string | null
Marker of the filter condition by which the values are filtered, default null.
example: "equals"

By default, you can retrieve 10 objects. This is due to the record limit in the module's permissions settings.
For pagination to work correctly, you need to configure Module permissions according to your needs in the corresponding section.

Examples

Minimal example

const response = await Products.getProductsEmptyPage();

Example with attributes

const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};

const response = await Products.getProductsEmptyPage('en_US', userQuery);
Use filters to find specific products:

attributeMarker: The text identifier of the indexed attribute by which values are filtered. conditionMarker: The type of condition to apply to the attribute value.

MarkerMeaningExample
eqEqualstatusId = 1 (active only)
neqNot equalrole ≠ "Viewer"
inContains (one of)role in ["Editor", "Manager"]
ninNot containsemail not in ["@temp.com"]
exsExists (has value)Has lastLogin
nexsDoes not existNever logged in

conditionValue: The value to compare against.

Example response

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

Response schema

Schema: IProductsResponse

total: number
The total number of products found.
example: 100

items: IProductsEntity[]
An array of product entities.
example:

[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]

items.id: number
The unique identifier.
example: 12345

items.localizeInfos: ILocalizeInfo
The name of the products, taking into account localization.
example:

items.statusIdentifier: string | null
Product page status identifiers (may be null).
example: "in_stock"

items.statusLocalizeInfos: any
JSON description of the item status object, taking into account the language.
example:

items.attributeSetIdentifier: string | null
Set of attributes id.
example: "set_12345"

items.position: number
Item number (for sorting).
example: 1

items.templateIdentifier: string | null
User id of the linked template.
example: "template_12345"

items.shortDescTemplateIdentifier: string | null
User id of the linked template for a short description.
example: "short_desc_template_12345"

items.price: number
The value of the product page price taken from the index.
example: 150

items.additional: object
Additional value from the index.
example:

{
"en": "In Stock",
"de": "Auf Lager"
}

items.sku: string | null
Product SKU (Stock Keeping Unit), may be null.
example: "SKU_12345"

items.isSync: boolean
Indication of page indexing.
example: true

items.attributeValues: AttributeType
Array of attribute values from the index, represented.
example:

[
{
"id": "color",
"value": "red"
}
]

items.categories: string[]
Product categories.
example:

[
1,
2,
3
]

items.isVisible: boolean
A sign of page visibility.
example: true

items.productPages: any
Array of product pages or a single product page object.
example: []

items.blocks: string[]
Array of block identifiers.
example:

[
"block_12345",
"block_67890"
]

items.isPositionLocked: boolean
Sorting position lock indicator (optional).
example: false

items.relatedIds: number[]
Ids of related product pages.
example:

[
12345,
67890
]