Find request
The Find API is in phase and is not yet available to users. You can contact the Product-Live team at contact@product-live.com if you want more details and get an early access.
Introduction
To facilite the search of entities with the Product-Live APIs, the Find APIs enable you to get a list of entities matching one or multiple criteria. You can apply the same filtering logic on multiple endpoints:
Find query body
Depending on the number of filters you want to apply, you need to write the query body as below. When you want to apply multiple criterias, you can define if you want all of the criteria to be matched (AND
), or one or the other set of criterias (OR
).
json
{
"type": "search",
"caseSensitive": true,
"field": "name",
"value": "RETAIL"
}
1
2
3
4
5
6
2
3
4
5
6
json
{
"type": "and",
"queries": [
{
"type": "search",
"caseSensitive": true,
"field": "name",
"value": "RETAIL"
},
{
"type": "greaterOrEqual",
"caseSensitive": true,
"field": "createdAt",
"value": "2021-12-30T10:17:29.000Z"
}
]
}
```json[Multiple criterias (or)]
{
"type": "or",
"queries": [
{
"type": "eq",
"caseSensitive": true,
"field": "name",
"value": "RETAILX"
},
{
"type": "eq",
"caseSensitive": true,
"field": "name",
"value": "BRANDX"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Property | Type | Description |
---|---|---|
type | enumeration | Mandatory if multiples criteria are defined Either and or or |
queries.type | enumeration | Mandatory The search operator See the list of operators here |
queries.caseSensitive | boolean | Is the search is casesenstive or not By default : false |
queries.field | string | Mandatory The field key of the entity to search for See more detail for each entity here |
queries.value | object/string/number | Mandatory Depending on the operator See more details here |
Operators
Operator | Expected field value | Description |
---|---|---|
eq | string/number/boolean | Check if the entity field value is exactly the value |
search | string | Check if the entity field value contains the value Use % to prefix and/or suffix the searched value |
in | object | Check if the entity field value is exactly one of the value If the list of value is empty, an error is returned |
true | none | Returns all results no matter what |
false | non | Returns no results no mater what |
greater | string/number | Check if the entity field value is exactly greater than the value |
greaterOrEqual | string/number | Check if the entity field value is greater or equal to the value |
lower | string/number | Check if the entity field value is exactly lower than the value |
lowerOrEqual | string/number | Check if the entity field value is exactly lower or equal to the value |
json
{
"type": "eq",
"field": "EAN",
"value": "0193015344471"
}
1
2
3
4
5
2
3
4
5
json
{
"type": "eq",
"field": "PRICE",
"value": "89,99"
}
1
2
3
4
5
2
3
4
5
json
/**
* search for all entities containing the word "WHOOL" in the COMPOSITION field.
* By default the search is case sensitive
*/
{
"type": "search",
"field": "COMPOSITION",
"value": "WHOOL"
}
// search for all entities starting with "WHOOL" in the COMPOSITION field. the search is not case sensitive.
{
"type": "search",
"caseSensitive": false
"field": "COMPOSITION",
"value": "WHOOL%"
}
// search for all entities ending with "WHOOL" in the COMPOSITION field. the search is sensitive.
{
"type": "search",
"caseSensitive": true
"field": "COMPOSITION",
"value": "%WHOOL"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
json
{
"type": "in",
"field": "COLOR",
"value": ["YELLOW","GOLD"]
}
1
2
3
4
5
2
3
4
5
json
{
"type": "greater",
"field": "HEIGHT",
"value": 100
}
1
2
3
4
5
2
3
4
5
TIP
When searching for an entity on an exact createdAt or updatedAt date, you must use the "caseSensitive": true
parameter.
Accounts
More details on the Content Management Accounts API here.
json
{
"object": "account",
"id": "2490",
"createdAt": "2021-12-30T10:17:29.000Z",
"updatedAt": "2021-12-30T10:17:29.000Z",
"key": "2e729b23-f04b-447d-ba7b-4ecb72d804f9",
"name": "RETAILX"
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Searchable field | Supported operator | Example |
---|---|---|
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2021-12-30T10:17:29.000Z"} |
id | eq/search/in | {"type": "eq","field": "id","value": "2490"} {"type": "search","field": "id","value": "2490"} {"type": "in","field": "id","value": ["2490"]} |
key | eq/search/in | {"type": "eq","field": "key","value": "2e729b23-f04b-447d-ba7b-4ecb72d804f9"} {"type": "in","field": "key","value": ["2e729b23-f04b-447d-ba7b-4ecb72d804f9"]} |
name | eq/search/in | {"type": "eq","field": "name","value": "RETAILX"} {"type": "in","field": "name","value": ["RETAILX"]} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2021-12-30T10:17:29.000Z"} |
Comment Threads
More details on the Content Management Comment Threads API here.
json
{
"comments": [
{
"creationDate": "2023-11-27T13:12:29.947Z",
"type": "TEXT",
"id": "656495bdea57cd0db4b0682d",
"accountName": "RETAILX",
"userId": "5443",
"message": "Good morning,\nWould it be possible to clarify the product description?\nTHANKS"
}
],
"type": "DEFAULT",
"object": "comment_thread",
"id": "170",
"createdAt": "2023-11-27T13:12:29.000Z",
"updatedAt": "2023-11-27T13:12:29.000Z",
"accountAssigneesId": [
"2490"
],
"subscribersId": [
"39"
],
"isClosed": false,
"accountId": "2482",
"userId": "5443",
"targetId": "13675",
"targetType": "suggestion"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Searchable field | Supported operator | Example |
---|---|---|
accountId | eq/search/in | {"type": "eq","field": "accountId","value": "2482"} {"type": "search","field": "accountId","value": "2482"} {"type": "in","field": "accountId","value": ["2482"]} |
assigneeId | eq/search/in | {"type": "eq","field": "assigneeId","value": "2490"} {"type": "search","field": "assigneeId","value": "2490"} {"type": "in","field": "assigneeId","value": ["2490"]} |
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2021-12-30T10:17:29.000Z"} |
id | eq/search/in | {"type": "eq","field": "id","value": "170"} {"type": "search","field": "id","value": "170"} {"type": "in","field": "id","value": ["170"]} |
isclosed | eq/in | {"type": "eq","field": "isclosed","value": "false"} {"type": "in","field": "isclosed","value": ["false"]} |
subscribersId | eq/search/in | {"type": "eq","field": "subscribersId","value": "39"} {"type": "search","field": "subscribersId","value": "39"} {"type": "in","field": "subscribersId","value": ["39"]} |
targetId (suggestionId) | eq/search/in | {"type": "eq","field": "id","value": "13675"} {"type": "search","field": "id","value": "13675"} {"type": "in","field": "id","value": ["13675"]} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2021-12-30T10:17:29.000Z"} |
userId | eq/search/in | {"type": "eq","field": "userId","value": "5443"} {"type": "search","field": "userId","value": "5443"} {"type": "in","field": "userId","value": ["5443"]} |
Comment Thread Subscribers
More details on the Content Management Comment Thread Subscribers API here.
json
{
"object": "comment_thread_subscriber",
"id": "39",
"updatedAt": "2023-11-27T13:12:29.000Z",
"createdAt": "2023-11-27T13:12:29.000Z",
"accountId": "2482",
"userId": "5443",
"commentThreadId": "170"
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Searchable field | Supported operator | Example |
---|---|---|
accountId | eq/search/in | {"type": "eq","field": "accountId","value": "2482"} {"type": "search","field": "accountId","value": "2482"} {"type": "in","field": "accountId","value": ["2482"]} |
commentThreadId | eq/search/in | {"type": "eq","field": "commentThreadId","value": "170"} {"type": "search","field": "commentThreadId","value": "170"} {"type": "in","field": "commentThreadId","value": ["170"]} |
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2021-12-30T10:17:29.000Z"} |
id | eq/search/in | {"type": "eq","field": "id","value": "39"} {"type": "search","field": "id","value": "39"} {"type": "in","field": "id","value": ["39"]} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2021-12-30T10:17:29.000Z"} |
userId | eq/search/in | {"type": "eq","field": "userId","value": "5443"} {"type": "search","field": "userId","value": "5443"} {"type": "in","field": "userId","value": ["5443"]} |
Items
More details on the Content Management Items API here.
json
{
"fields": [
{
"key": "EAN",
"type": "IDENTIFIER",
"value": {
"data": "3610011803438"
}
},
{
"key": "TYPOLOGY",
"type": "CLASSIFICATION",
"value": {
"data": "FRIDGE"
}
}
],
"parent": null,
"children": null,
"object": "item",
"id": "391432",
"createdAt": "2021-01-25T08:57:13.000Z",
"updatedAt": "2021-01-26T15:35:33.000Z",
"itemMetadata": {
"createdAt": "2021-01-25T08:57:13.000Z",
"updatedAt": "2021-01-26T15:35:33.000Z",
"tableId": "154",
"tableKey": "A06_PRODUCTS",
"tableOwnerAccountId": "69",
"levelId": "170",
"levelKey": "PRODUCT",
"partitionId": "280"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Searchable field | Supported operator | Example |
---|---|---|
id | eq/search/in | {"type": "eq","field": "id","value": "391432"} {"type": "search","field": "id","value": "391432"} {"type": "in","field": "id","value": ["391432"]} |
item.fields | see below | {"type": "eq","field": {"target": "item.fields","key": "EAN"},"value": "8710103533825"} {"type": "search","field": {"target": "item.fields","key": "EAN"},"value": "8710103533825"} {"type": "in","field": {"target": "item.fields","key": "EAN"},"value": ["8710103533825"]} |
Field type | Operator |
---|---|
IDENTIFIER | eq/search/in |
CONDITIONAL-FORMATTING | eq/search/in |
CONDITIONAL-FORMATTING "use": "isDefault" | eq/in |
CLASSIFICATION | eq/search/in |
SINGLE-LINE-TEXT | eq/search/in |
LONG-TEXT | eq/search/in |
HTML-TEXT | eq/search/in |
SINGLE-SELECT | eq/search/in |
NUMBER | eq/in/greater/greaterOrEqual/lower/lowerOrEqual |
NUMBER "use": "suffix" | eq/search/in |
DATE | eq/greater/greaterOrEqual/lower/lowerOrEqual |
DATE-TIME | eq/greater/greaterOrEqual/lower/lowerOrEqual |
WARNING
Take care when filtering items on HTML-TEXT
fields, the html tags are taken into account. The displayed value may not be exactly the real value, it may contain invisible html tags.
Use the search
operator with %
around the shortest value you are looking for.
WARNING
You can search for items using fields key and value on all kind of fields except MULTIPLE-SELECT
, MULTIPLE-SELECT-QUANTIFIED
and MULTIPLE-SELECT-QUANTIFIED-WITH-COMMENT
yet.
Item Links
More details on the Content Management Item Links API here.
json
{
"object": "item_link",
"id": "88",
"updatedAt": "2024-07-17T15:42:11.000Z",
"createdAt": "2024-07-17T15:42:11.000Z",
"fromItemId": "90684",
"toItemId": "90688"
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Searchable field | Supported operator | Example |
---|---|---|
id | eq/search/in | {"type": "eq","field": "id","value": "88"} {"type": "search","field": "id","value": "88"} {"type": "in","field": "id","value": ["88"]} |
fromItemId | eq/search/in | {"type": "eq","field": "fromItemId","value": "90684"} {"type": "search","field": "fromItemId","value": "90684"} {"type": "in","field": "fromItemId","value": ["90684"]} |
toItemId | eq/search/in | {"type": "eq","field": "toItemId","value": "90688"} {"type": "search","field": "toItemId","value": "90688"} {"type": "in","field": "toItemId","value": ["90688"]} |
Job Executions
More details on the Content Management Job Executions API here.
json
{
"object": "list",
"data": [
{
"object": "job_execution",
"jobId": "65819ba43ad5b963658ab35d",
"id": "658445e23ad5b929948ab731",
"pipelineId": "6582b5fb7bcba4a7a1147473",
"createdAt": "2023-12-21T14:04:18.511Z",
"endedAt": "2023-12-21T14:04:34.359Z",
"input": {
"context": {
"jobAccountId": "2629",
"jobId": "65819ba43ad5b963658ab35d",
"userShardId": "2629",
"userAccountId": "2629",
"userId": "5443"
}
},
"startedAt": "2023-12-21T14:04:18.469Z",
"status": "COMPLETED",
"output": {
"subWorkflowId": "0cc9caaa-01f7-44cc-be89-2e34181d248e",
"report": {
"url": "https://app.product-live.com/data-factory/2629/download/98d345609f420b36b4296849498f5692fe655518110e7b174456d921ab32b4e2/report.xml",
"filename": "report.xml"
}
},
"info": {
"title": "Import Schema"
}
}
],
"totalElements": 12
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Searchable field | Supported operator | Example |
---|---|---|
jobId | eq/search/in | {"type": "eq","field": "id","value": "1"} {"type": "in","field": "id","value": ["1", "2"]} |
id | eq/search/in | {"type": "eq","field": "id","value": "658445e23ad5b929948ab731"} {"type": "search","field": "id","value": "1"} {"type": "in","field": "id","value": ["1", "2"]} |
pipelineId | eq/search/in | {"type": "eq","field": "pipelineId","value": "6582b5fb7bcba4a7a1147473"} {"type": "search","field": "pipelineId","value": "1"} {"type": "in","field": "pipelineId","value": ["1", "2"]} |
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "greater","field": "createdAt","value": "2024-04-17T00:00:00.000Z"} |
status | eq/search/in | {"type": "eq","field": "status","value": "COMPLETED"} {"type": "in","field": "status","value": ["COMPLETED"]} |
Publications
More details on the Content Management Publications API here.
json
{
"object": "publication",
"id": "38643",
"updatedAt": "2024-05-17T07:39:23.000Z",
"createdAt": "2024-05-17T07:38:54.000Z",
"sentAt": "2024-05-17T07:38:54.000Z",
"fromItemId": "80303",
"toAccountId": "6326",
"tableId": "1353",
"partitionId": "2342",
"screenId": "7421",
"status": "RECEIVED",
"fields": [
{
"key": "EAN",
"type": "IDENTIFIER",
"value": {
"data": "3610011803438"
}
},
{
"key": "TYPOLOGY",
"type": "CLASSIFICATION",
"value": {
"data": "FRIDGE"
}
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Searchable field | Supported operator | Example |
---|---|---|
createdAt | greater/greaterOrEqual/lower/lowerOrEqual | {"type": "greaterOrEqual","field": "createdAt","value": "2024-05-17T07:39:23.000Z"} |
id | eq/search/in | {"type": "eq","field": "id","value": "38643"} {"type": "search","field": "id","value": "38643"} {"type": "in","field": "id","value": ["38643"]} |
fromItemId | eq/in | {"type": "eq","field": "fromItemId","value": "80303"} {"type": "in","field": "fromItemId","value": ["80303"]} |
partitionId | eq/in | {"type": "eq","field": "partitionId","value": "2342"} {"type": "in","field": "partitionId","value": ["2342"]} |
screenId | eq/in | {"type": "eq","field": "screenId","value": "7421"} {"type": "in","field": "screenId","value": ["7421"]} |
sentAt | greater/greaterOrEqual/lower/lowerOrEqual | {"type": "greaterOrEqual","field": "sentAt","value": "2024-05-17T07:39:23.000Z"} |
status | eq/search/in | {"type": "eq","field": "status","value": "RECEIVED"} {"type": "search","field": "status","value": "RECEIVED"} {"type": "in","field": "status","value": ["SENT","RECEIVED","REJECTED"]} |
tableId | eq/in | {"type": "eq","field": "tableId","value": "1353"} {"type": "in","field": "tableId","value": ["1353"]} |
toAccountId | eq/search/in | {"type": "eq","field": "toAccountId","value": "6326"} {"type": "search","field": "toAccountId","value": "6326"} {"type": "in","field": "toAccountId","value": ["6326"]} |
updatedAt | greater/greaterOrEqual/lower/lowerOrEqual | {"type": "greaterOrEqual","field": "updatedAt","value": "2024-05-17T07:38:54.000Z"} |
TIP
Depending on whether you are the emitter or receiver of publications, you will be able to see publications of specific status.
If you are the sender of publications, you can see "SENT", "RECEIVED" and "REJECTED" publications you have sent. If you are the receiver of publications, you can only see "SENT" publications you have received.
Suggestions
More details on the Content Management Suggestions API here.
json
{
"object": "suggestion",
"id": "2185",
"updatedAt": "2022-05-13T07:54:59.000Z",
"createdAt": "2022-05-13T07:54:55.000Z",
"toItemId": "1958624",
"hasCreatedItem": true,
"isAcknowledged": false,
"fromAccountId": "3568",
"fields": [
{
"key": "EAN",
"type": "IDENTIFIER",
"value": {
"data": "8710103533825"
}
},
{
"key": "LENGTH",
"type": "NUMBER",
"value": {
"data": 42,
"suffix": "cm"
}
}
],
"deletedFields": [
{
"key": "DESIGNATION",
"type": "SINGLE_LINE_TEXT"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Searchable field | Supported operator | Example |
---|---|---|
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2021-12-30T10:17:29.000Z"} |
fromAccountId | eq/search/in | {"type": "eq","field": "fromAccountId","value": "3568"} {"type": "search","field": "fromAccountId","value": "3568"} {"type": "in","field": "fromAccountId","value": ["3568"]} |
id | eq/search/in | {"type": "eq","field": "id","value": "2185"} {"type": "search","field": "id","value": "2185"} {"type": "in","field": "id","value": ["2185"]} |
hasCreatedItem | eq | {"type": "eq","field": "hasCreatedItem","value": true} |
isAcknowledged | eq | {"type": "eq","field": "isAcknowledged","value": false} |
toItemId | eq/search/in | {"type": "eq","field": "toItemId","value": "1958624"} {"type": "search","field": "toItemId","value": "1958624"} {"type": "in","field": "toItemId","value": ["1958624"]} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2021-12-30T10:17:29.000Z"} |
Users
More details on the Content Management Users API here.
json
{
"object": "user",
"id": "5443",
"createdAt": "2021-09-15T13:14:41.000Z",
"updatedAt": "2024-02-07T10:54:15.000Z",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@retailx.com",
"status": "ACTIVE",
"role": "EDITOR"
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Searchable field | Supported operator | Example |
---|---|---|
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2021-09-15T13:14:41.000Z"} |
id | eq/search/in | {"type": "eq","field": "id","value": "5443"} {"type": "search","field": "id","value": "5443"} {"type": "in","field": "id","value": ["5443"]} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2024-02-07T10:54:15.000Z"} |
status | eq/in | {"type": "eq","field": "status","value": "ACTIVE"} {"type": "in","field": "status","value": ["ACTIVE"]} |
firstName | eq/search/in | {"type": "eq","field": "firstName","value": "John"} {"type": "search","field": "firstName","value": "John"} {"type": "in","field": "firstName","value": ["John"]} |
lastName | eq/search/in | {"type": "eq","field": "lastName","value": "Doe"} {"type": "search","field": "lastName","value": "Doe"} {"type": "in","field": "lastName","value": ["Doe"]} |
eq/search/in | {"type": "eq","field": "email","value": "john.doe@retailx.com"} {"type": "search","field": "email","value": "john.doe@retailx.com"} {"type": "in","field": "email","value": ["john.doe@retailx.com"]} |
Variables
More details on the Data Factory Variables API here.
json
{
"status": "ACTIVE",
"object": "variable",
"id": "<REDACTED>",
"createdAt": "2020-01-01T12:00:00.000Z",
"updatedAt": "2020-01-02T12:00:00.000Z",
"name": "string",
"key": "string",
"value": "<REDACTED>",
"secret": true
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Searchable field | Supported operator | Example |
---|---|---|
status | eq/in | {"type": "eq","field": "status","value": "ACTIVE"} {"type": "in","field": "status","value": ["ACTIVE"]} |
id | eq/search/in | {"type": "eq","field": "id","value": "126"} {"type": "search","field": "id","value": "126"} {"type": "in","field": "id","value": ["126"]} |
createdAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "createdAt","value": "2020-01-01T12:00:00.000Z"} |
updatedAt | eq/greater/greaterOrEqual/lower/lowerOrEqual | {"type": "eq","field": "updatedAt","value": "2020-01-01T12:00:00.000Z"} |
name | eq/search/in | {"type": "eq","field": "name","value": "FTP Host"} {"type": "in","field": "name","value": ["FTP Host"]} |
key | eq/search/in | {"type": "eq","field": "key","value": "ftp_host"} {"type": "in","field": "key","value": ["ftp_host"]} |
value | eq/search/in | {"type": "eq","field": "value","value": "my_host.com"} {"type": "in","field": "value","value": ["my_host.com"]} |
secret | eq/in | {"type": "eq","field": "secret","secret": "true"} {"type": "in","field": "secret","value": ["true"]} |