title: Query Product Object List by Conditions
permalink: /pages/open-api/collection/object/SPUObj/query/
# Description
Query a list of product objects based on specified conditions.
# Request Specification
HTTP Method: POST + application/json
Request Path: https://${cloud domain}/cgi/crm/v2/data/query?thirdTraceId=${random string}
Request Headers: Refer to Common Parameters
# Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| data | Map | Yes | Data map |
| dataObjectApiName | String | Yes | Object API name (fixed value: SPUObj) |
| find_explicit_total_num | Boolean | No | Whether to return total count (true → returns total; false → skips total count. Default: true. Setting to false improves response speed) |
| search_query_info | Map | Yes | Query condition specifications |
| limit | Int | Yes | Pagination limit (max: 100) |
| offset | Int | Yes | Offset (starts from 0; must be a multiple of limit) |
| filters | List | Yes | Filter conditions |
| field_name | String | Yes | Field name |
| field_values | List[String] | Yes | Field values |
| operator | String | Yes | Operator (see Operator Parameters below) |
| orders | List | Yes | Sorting conditions |
| fieldName | String | Yes | Field name |
| isAsc | Boolean | Yes | Sort order (true → ascending; false → descending) |
| fieldProjection | List[String] | Yes | Fields to return (use apiName from object fields) |
# Operator Parameters
Operators can be directly used from the object list page. See How to Retrieve Query Conditions.
| Parameter | Meaning | Description | Parameter | Meaning | Description |
|---|---|---|---|---|---|
| EQ | Equal | N | Not Equal | Can query null values | |
| GT | Greater Than | GTE | Greater Than or Equal | ||
| LT | Less Than | LTE | Less Than or Equal | ||
| LIKE | Contains | NLIKE | Not Contains | ||
| IS | Is Null | ISN | Is Not Null | ||
| IN | Belongs To | NIN | Not Belongs To | ||
| BETWEEN | Between | NBETWEEN | Not Between | ||
| STARTWITH | Starts With | ENDWITH | Ends With | ||
| HASANYOF | Has Overlapping Elements | NHASANYOF | No Overlap |
# Request Example
{
"data": {
"find_explicit_total_num": true,
"search_query_info": {
"offset": 0,
"limit": 1,
"orders": [
{
"fieldName": "create_time",
"isAsc": true
}
],
"fieldProjection": [
"name"
],
"filters": [
{
"operator": "EQ",
"field_name": "name",
"field_values": [
"603dabc14ae65400011aec90"
]
}
]
},
"dataObjectApiName": "SPUObj"
},
}
# Response Parameters
| Parameter | Type | Description |
|---|---|---|
| traceId | string | Unique request ID |
| errorDescription | string | Error description |
| data | Map | Detailed parameters (call Object Description API) |
| errorMessage | string | Error message |
| errorCode | Int | Error codes |
# Response Example
{
"traceId": "E-O.827xxxxxx",
"errorDescription": "success",
"data": {
"created_by__r": {},
"lock_status": "0",
"is_deleted": false,
"create_time": 1612247399397,
"name": "xxxxxx",
"_id": "69046aexxxxxxx"
},
"errorMessage": "OK",
"errorCode": 0
}
# Notes
- Do not use the
messagefield in responses for logical judgments, aserrorMessagemay change. - Fields with null values will not be included in the response.