Data / Create suggestions
Task in alpha phase
This Data Factory task is in phase. You can contact the Product-Live team at contact@product-live.com if you want more details and get an early access.
This task allows to create suggestions.
Task name:
Examples
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestion",
"description": "Create a suggestion for a given item",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "INLINE",
"contentType": "application/json",
"model": "default",
"json": {
"operations": [
{
"key": "a",
"element": {
"object": "suggestion_create",
"itemId": "12345",
"screenId": "67890",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"key": "TITLE_EN",
"type": "SINGLE-LINE-TEXT",
"value": {
"data": "Some title better than the original"
}
}
]
}
}
]
}
}
}
}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
37
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
37
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestion_with_fields",
"description": "Create a suggestion with multiple field types",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"failOnError": true,
"request": {
"method": "INLINE",
"contentType": "application/json",
"model": "default",
"json": {
"operations": [
{
"key": "a",
"element": {
"object": "suggestion_create",
"itemId": "12345",
"screenId": "67890",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"key": "TITLE_EN",
"type": "SINGLE-LINE-TEXT",
"value": {
"data": "Updated product title"
}
},
{
"key": "WIDTH_MM",
"type": "NUMBER",
"value": {
"data": 42
}
}
]
}
}
]
}
}
}
}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
37
38
39
40
41
42
43
44
45
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
37
38
39
40
41
42
43
44
45
TIP
See below for more examples using JSON and XML inputs.
Definition
| Property | Type | Required | Description |
|---|---|---|---|
| The name (or type) of the task | |||
| The unique name of the task in your job. It is used to reference this task in the workflow. | |||
| The functional description of this task in your job. | |||
The type of the task. It must be SUB_WORKFLOW. | |||
| : | true: the job continues if there is an error on this task. false: the job fails. | ||
| Input parameters of the task. See below |
Inputs Parameters
| Property | Type | Required | Description |
|---|---|---|---|
| The Product-Live API key. If not provided, an automaticaly generated API key will be used to perform the request on behalf of the current user. If provided, the given API key will be used to perform the request. | |||
| See below | |||
To day, application/json and application/xml are supported. | |||
INLINE: The request body is provided inline in the request object. ATTACHMENT: The request body is provided as an attachment in the request object. | |||
| The request body as a JSON object. | |||
| See below | |||
| A unique key to identify the element in the batch. This key will be associated to the element in the output. | |||
| The element to create or update. See examples below | |||
| Some element may require additional context to be created or updated. | |||
| The request body as a file. | |||
| The outputs of the request. Default: [{"mediaType": "application/json", "outputMode": "INLINE", "outputKey": "json"}]. | |||
The media type of the output. To day, application/json and application/xml are supported. | |||
INLINE: The output is provided inline in the output object. ATTACHMENT: The output is provided as an attachment in the output object. INLINE is only supported for mediaType=application/json | |||
| The key of the output. Either json or xml | |||
Default: DEFAULT. The model/format used in the output. To day, only 'DEFAULT' is supported. |
contentType=application/json
- The expected elements are the entities described in the Product-Live API.
- See examples below for more details.
json
{
"operations": [
{
"key": "a",
"element": {
"...": "..."
}
}
]
}1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
json
{
"operations": [
{
"key": "a",
"element": {
"...": "..."
}
}, {
"key": "b",
"element": {
"...": "..."
}
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Suggestion element properties
| Property | Type | Required | Description |
|---|---|---|---|
Must be suggestion_create | |||
| The ID of the item to create the suggestion for | |||
| The ID of the screen defining which fields are included | |||
Whether the suggestion includes a newly created item. Default: false | |||
| The name of the entity creating the suggestion (e.g., "Product-Live AI agent") | |||
| Array of field values to suggest |
Field object properties
| Property | Type | Required | Description |
|---|---|---|---|
| The key of the field | |||
The field type (e.g., SINGLE-LINE-TEXT, LONG-TEXT, NUMBER, DATE) | |||
| Object containing the field value | |||
| The actual value (string for text, number for NUMBER type) |
contentType=application/xml
- This XML representation follow the one used by the JSON query language of the Product-Live API.
- The expected elements are the entities described in the Product-Live API.
- See examples below for more details.
xml
<?xml version="1.0" encoding="UTF-8"?>
<map xmlns="http://www.w3.org/2005/xpath-functions">
<array key="operations">
<map>
<string key="key">a</string>
<map key="context"></map>
<map key="element">
<string key="...">...</string>
</map>
</map>
</array>
</map>1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
Outputs
| Property | Type | Description |
|---|---|---|
An object containing the outputs of the task. Each output key is the key of the output defined in the outputs[][outputKey] input parameter. |
Example
If your input parameters is as follows:
json
{
"...": "...",
"outputs": [
{
"mediaType": "application/json",
"outputMode": "INLINE",
"outputKey": "json_inline"
},
{
"mediaType": "application/xml",
"outputMode": "ATTACHMENT",
"outputKey": "xml_attachment"
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
The output will be as follows:
json
{
"outputs": {
"json_inline": {
"...": "...",
"...": "..."
},
"xml_attachment": {
"url": "..."
}
}
}1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Json output - outputs[].outputMode=INLINE and outputs[].mediaType=application/json
output.jsonis an array of objects as defined in the suggestions API.jsonis the default output key but may be changed by setting theoutputKeyproperty.
Example output:
json
[
{
"key": "a",
"element": {
"object": "suggestion_create",
"itemId": "12345",
"screenId": "67890",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"key": "TITLE_EN",
"type": "SINGLE-LINE-TEXT",
"value": {
"data": "Some title better than the original"
}
}
]
},
"response": {
"object": "suggestion",
"id": "98765",
"createdAt": "2024-05-17T10:30:00.000Z",
"updatedAt": "2024-05-17T10:30:00.000Z",
"itemId": "12345",
"screenId": "67890",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"isAcknowledged": false
}
}
]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
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
XML output - outputs[].outputMode=ATTACHMENT and outputs[].mediaType=application/xml
Example output:
xml
<?xml version="1.0" encoding="UTF-8"?>
<array xmlns="http://www.w3.org/2005/xpath-functions">
<map>
<string key="key">a</string>
<map key="element">
<string key="object">suggestion_create</string>
<string key="itemId">12345</string>
<string key="screenId">67890</string>
<boolean key="hasCreatedItem">false</boolean>
<string key="emitterName">Product-Live AI agent</string>
<array key="fields">
<map>
<string key="key">TITLE_EN</string>
<string key="type">SINGLE-LINE-TEXT</string>
<map key="value">
<string key="data">Some title better than the original</string>
</map>
</map>
</array>
</map>
<map key="response">
<string key="object">suggestion</string>
<string key="id">98765</string>
<string key="createdAt">2024-05-17T10:30:00.000Z</string>
<string key="updatedAt">2024-05-17T10:30:00.000Z</string>
<string key="itemId">12345</string>
<string key="screenId">67890</string>
<boolean key="hasCreatedItem">false</boolean>
<string key="emitterName">Product-Live AI agent</string>
<boolean key="isAcknowledged">false</boolean>
</map>
</map>
</array>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
Limits and additional notes
- The creation and update of suggestions is limited to 50 suggestions per minute.
Additional examples
Create a single suggestion - XML input & output
job.json
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestion",
"description": "Create a single suggestion",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "ATTACHMENT",
"contentType": "application/xml",
"model": "default",
"file": "@my-request.xml"
},
"outputs": [
{
"mediaType": "application/xml",
"outputMode": "ATTACHMENT",
"outputKey": "xml"
}
]
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my-request.xml
xml
<?xml version="1.1" encoding="UTF-8"?>
<map xmlns="http://www.w3.org/2005/xpath-functions">
<array key="operations">
<map>
<string key="key">a</string>
<map key="context"></map>
<map key="element">
<string key="object">suggestion_create</string>
<string key="itemId">1</string>
<string key="screenId">1</string>
<boolean key="hasCreatedItem">false</boolean>
<string key="emitterName">Product-Live AI agent</string>
<array key="fields">
<map>
<map key="value">
<string key="data">Some title better than the original</string>
</map>
<string key="type">SINGLE-LINE-TEXT</string>
<string key="key">TITLE_EN</string>
</map>
</array>
</map>
</map>
</array>
</map>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
Create many suggestions - XML input & output
job.json
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestions",
"description": "Create many suggestions",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "ATTACHMENT",
"contentType": "application/xml",
"model": "default",
"file": "@my-request.xml"
},
"outputs": [
{
"mediaType": "application/xml",
"outputMode": "ATTACHMENT",
"outputKey": "xml"
}
]
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my-request.xml
xml
<?xml version="1.1" encoding="UTF-8"?>
<map xmlns="http://www.w3.org/2005/xpath-functions">
<array key="operations">
<map>
<string key="key">a</string>
<map key="context"></map>
<map key="element">
<string key="object">suggestion_create</string>
<string key="itemId">1</string>
<string key="screenId">1</string>
<boolean key="hasCreatedItem">false</boolean>
<string key="emitterName">Product-Live AI agent</string>
<array key="fields">
<map>
<map key="value">
<string key="data">Some title better than the original</string>
</map>
<string key="type">SINGLE-LINE-TEXT</string>
<string key="key">TITLE_EN</string>
</map>
</array>
</map>
</map>
<map>
<string key="key">b</string>
<map key="context"></map>
<map key="element">
<string key="object">suggestion_create</string>
<string key="itemId">2</string>
<string key="screenId">2</string>
<boolean key="hasCreatedItem">false</boolean>
<string key="emitterName">Product-Live AI agent</string>
<array key="fields">
<map>
<map key="value">
<string key="data">Some title better than the original</string>
</map>
<string key="type">SINGLE-LINE-TEXT</string>
<string key="key">TITLE_EN</string>
</map>
</array>
</map>
</map>
</array>
</map>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
37
38
39
40
41
42
43
44
45
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
37
38
39
40
41
42
43
44
45
Create a single suggestion - JSON input & output
job.json
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestion",
"description": "Create a single suggestion",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "ATTACHMENT",
"contentType": "application/json",
"model": "default",
"file": "@my-request.json"
},
"outputs": [
{
"mediaType": "application/json",
"outputMode": "ATTACHMENT",
"outputKey": "json"
}
]
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my-request.json
json
{
"operations": [
{
"key": "a",
"context": {},
"element": {
"object": "suggestion_create",
"itemId": "1",
"screenId": "1",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"value": {
"data": "Some title better than the original"
},
"type": "SINGLE-LINE-TEXT",
"key": "TITLE_EN"
}
]
}
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Create many suggestions - JSON input & output
job.json
json
{
"name": "data-suggestion-create",
"taskReferenceName": "create_suggestions",
"description": "Create many suggestions",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "ATTACHMENT",
"contentType": "application/json",
"model": "default",
"file": "@my-request.json"
},
"outputs": [
{
"mediaType": "application/json",
"outputMode": "ATTACHMENT",
"outputKey": "json"
}
]
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my-request.json
json
{
"operations": [
{
"key": "a",
"context": {},
"element": {
"object": "suggestion_create",
"itemId": "1",
"screenId": "1",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"value": {
"data": "Some title better than the original"
},
"type": "SINGLE-LINE-TEXT",
"key": "TITLE_EN"
}
]
}
},
{
"key": "b",
"context": {},
"element": {
"object": "suggestion_create",
"itemId": "2",
"screenId": "2",
"hasCreatedItem": false,
"emitterName": "Product-Live AI agent",
"fields": [
{
"value": {
"data": "Some title better than the original"
},
"type": "SINGLE-LINE-TEXT",
"key": "TITLE_EN"
}
]
}
}
]
}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
37
38
39
40
41
42
43
44
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
37
38
39
40
41
42
43
44