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 enables to create suggestions on items from a list of publications received from partners.
Task name:
For each received publication:
- If an existing item matches the publication's
IDENTIFIER, a suggestion is created on that item. - If no match is found, a new item is created from the publication values, and a suggestion is created on it.
Examples
json
{
"name": "exchange-create-suggestions",
"taskReferenceName": "Collect suggestions",
"description": "Collect suggestions from received publications",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"publications": "${data-publication-find.output.file}",
"screens": ["ALL_PROPERTIES"],
"matching": {
"first": "EAN",
"second": "SKU"
}
}
}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
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 |
|---|---|---|---|
A valid publications input. It can reference the output of a previous task, example: ${previous_taskReferenceName.output.file} , or a user input, example: ${workflow.input.file}.See exchange-create-publications for more information. | |||
| The key of the screen on which to create the suggestions. Each provided publication will generate a distinct suggestion on each provided screen. | |||
| Allows to define reconciliation rules between items that have been published and items present in the target table. The identifier referenced in the first property is used to find a matching item. If the first match is not found then the second, third, fourth and fifth properties are used in this order. If no match is found, the item is considered as new and a new item is created. | |||
| The key of the first identifier to be taken into account when reconciling items | |||
| The key of the second identifier to be taken into account when reconciling items | |||
| The key of the third identifier to be taken into account when reconciling items | |||
| The key of the fourth identifier to be taken into account when reconciling items | |||
| The key of the fifth identifier to be taken into account when reconciling items |
Input publications
See details on the input publications in the Data Factory task exchange-create-publications.
Outputs
| Property | Type | Description |
|---|---|---|
| A XML file as described below. | ||
| The report. | ||
| : | YES: All suggestions has been created. NO: At least one suggestion has not been properly created. | |
An XML file containing a set of logs related to the execution of the task. This output is not available if the input skipReportGeneration=true. |
Output suggestions example
xml
<Suggestions>
<Suggestion suggestionId="22107" toItemId="6590627" screenId="3971" hasCreatedItem="true" fromAccountId="4212"/>
</Suggestions>1
2
3
2
3
| XPath | Description | Occurs |
|---|---|---|
Suggestions | The root element. | 1 |
Suggestions/Suggestion | The publications created | 1..* |
./@suggestionId | The suggestion id | 1..1 |
./@toItemId | The item id on which the suggestion has been created | 1..1 |
./@screenId | The screen id on which the suggestion has been created | 1..1 |
./@hasCreatedItem | Has the suggestion created the item | 1..1 |
./@fromAccountId | The originating partner id of the suggestion | 1..1 |
Output report example
xml
<?xml version="1.0" encoding="UTF-8"?>
<Report task="exchange-create-suggestions" date="2026-04-17T15:01:56.944Z">
<Log type="info" code="SUGGESTION_CREATED">
<Metadata-Collection name="suggestionDefinition">
<Metadata name="suggestionId">22107</Metadata>
<Metadata name="toItemId">6590627</Metadata>
<Metadata name="screenId">3971</Metadata>
<Metadata name="publicationId">22293</Metadata>
<Metadata name="hasCreatedItem">true</Metadata>
<Metadata name="fromAccountId">4212</Metadata>
</Metadata-Collection>
<Message>The suggestion has been created successfully</Message>
</Log>
<Log type="info" code="PUBLICATION_RECEIVED">
<Metadata-Collection name="publicationData">
<Metadata name="publicationId">22293</Metadata>
<Metadata name="status">RECEIVED</Metadata>
</Metadata-Collection>
<Message>Publication has been marked as received</Message>
</Log>
</Report>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
xml
<?xml version="1.0" encoding="UTF-8"?>
<Report task="exchange-create-suggestions" date="2026-04-17T14:34:30.733Z">
<Log type="warning" code="WARNING_PUBLICATION_NOT_SENT">
<Metadata-Collection name="warningData">
<Metadata name="warningMessage">Publication 222821 has status UNKNOWN, expected SENT</Metadata>
<Metadata name="publicationId">222821</Metadata>
<Metadata name="screenId">3971</Metadata>
<Metadata name="screenKey">ALL_TECH</Metadata>
<Metadata name="status">UNKNOWN</Metadata>
</Metadata-Collection>
<Message>Suggestion not created: publication status is not SENT</Message>
</Log>
</Report>1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
xml
<?xml version="1.0" encoding="UTF-8"?>
<Report task="exchange-create-suggestions" date="2026-04-17T14:34:30.733Z">
<Log type="error" code="ERROR_WHEN_SUGGESTION_CREATION">
<Metadata-Collection name="errorData">
<Metadata name="errorMessage">No publications in SENT status to process</Metadata>
<Metadata name="status">500</Metadata>
</Metadata-Collection>
<Message>An error happened during suggestion creation</Message>
</Log>
</Report>1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
| XPath | Description | Occurs |
|---|---|---|
Report | The root element. | 1 |
Report/Log | A log for each publication | 1..* |
./Metadata-Collection[@name="suggestionDefinition"] | The suggestion identification data | 1..1 |
./Metadata[@name="suggestionId"] | The created suggestion id | 1..1 |
./Metadata[@name="toItemId"] | The item id on which suggestion has been created | 1..1 |
./Metadata[@name="screenId"] | The screen id on which suggestion has been created | 1..1 |
./Metadata[@name="publicationId"] | The publication id from which suggestion has been created | 1..1 |
./Metadata[@name="hasCreatedItem"] | Has the suggestion created the item | 1..1 |
./Metadata[@name="fromAccountId"] | The originating partner id of the suggestion | 1..1 |
./Message | The suggestion status message description | 1..1 |
./Metadata-Collection[@name="publicationData"] | If success, all the information about created publication. | 1..1 |
./Metadata[@name="publicationId"] | The publication id from which suggestion has been created | 1..1 |
./Metadata[@name="status"] | The publication status | 1..1 |
./Message | The publication status message description | 1..1 |
./Metadata-Collection[@name='errorData'] | If failed, all the information about the error during publication creation. | 1..1 |
./Metadata[@name="errorMessage"] | The error description | 0..1 |
./Metadata[@name="warningMessage"] | The warning description | 0..1 |
./Metadata[@name="publicationId"] | The provided publication id from which suggestion can not be created | 1..1 |
./Metadata[@name="screenId"] | The screen id on which suggestion can not be created | 1..1 |
./Metadata[@name="screenKey"] | The screen key on which suggestion can not be created | 1..1 |
./Metadata[@name="status"] | The publication status | 1..1 |
./Metadata[@name="status"] | The http response error code | 1..1 |
./Message | The publication status message description | 1..1 |