Data / Create partner invitations
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 you to create partner invitations. A partner invitation represents a pending or completed invitation sent to another organization to establish a partnership in Product-Live. Invitations let you build your partner network programmatically by inviting other accounts to collaborate on shared tables and data exchanges.
Task name:
Examples
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitation",
"description": "Create partner invitations",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "INLINE",
"contentType": "application/json",
"model": "default",
"json": {
"operations": [
{
"key": "a",
"element": {
"toAccountName": "Supplier A",
"toUserEmail": "contact@supplier-a.com"
}
}
]
}
}
}
}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
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitation",
"description": "Create partner invitations",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"request": {
"method": "ATTACHMENT",
"contentType": "application/xml",
"model": "default",
"file": "@my-request.xml"
}
}
}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 |
|---|---|---|---|
| The Product-Live API key. If not provided, an automatically 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 | |||
Today, 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 operation. 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. Today, 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. Today, only default is supported. |
contentType=application/json
- The expected elements are the entities described in the Product-Live API or the Data Factory API depending on the task.
- 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
Partner invitation element properties
| Property | Type | Required | Description |
|---|---|---|---|
| The display name of the organization to invite | |||
| The email address of the user receiving the invitation | |||
| The ID of the user sending the invitation. If omitted, it is inferred from the API key context |
contentType=application/xml
- This XML representation follows 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 or the Data Factory API depending on the task. This task performs a full replacement of the target entity. All properties must be provided in each operation; any field omitted will be reset to its default value.
- 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 result 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
{
"result": {
"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 partner invitations API.jsonis the default output key but may be changed by setting theoutputKeyproperty.
Example output:
json
[
{
"key": "a",
"response": {
"object": "partner_invitation",
"id": "789",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"accountId": "4203",
"fromUserId": "9224",
"toAccountName": "Supplier A",
"toUserEmail": "contact@supplier-a.com",
"status": "PENDING"
}
}
]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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="response">
<string key="object">partner_invitation</string>
<string key="id">789</string>
<string key="createdAt">2024-01-15T10:30:00.000Z</string>
<string key="updatedAt">2024-01-15T10:30:00.000Z</string>
<string key="accountId">4203</string>
<string key="fromUserId">9224</string>
<string key="toAccountName">Supplier A</string>
<string key="toUserEmail">contact@supplier-a.com</string>
<string key="status">PENDING</string>
</map>
</map>
</array>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Limits and additional notes
When the
outputMode=INLINEis selected, the maximum number of elements returned by this task is limited to1000. If more elements are to be returned, the task ends with an error. To export up to the maximum of elements, use thelimitinput parameter to limit the number of elements return.The creation of partner invitations is limited to 50 requests per minute.
Additional examples
Create a single partner invitation - XML input & output
job.json
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitation",
"description": "Create a single partner invitation",
"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="element">
<string key="toAccountName">Supplier A</string>
<string key="toUserEmail">contact@supplier-a.com</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
Create many partner invitations - XML input & output
job.json
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitations",
"description": "Create many partner invitations",
"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="element">
<string key="toAccountName">Supplier A</string>
<string key="toUserEmail">contact@supplier-a.com</string>
</map>
</map>
<map>
<string key="key">b</string>
<map key="element">
<string key="toAccountName">Supplier B</string>
<string key="toUserEmail">contact@supplier-b.com</string>
</map>
</map>
</array>
</map>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Create a single partner invitation - JSON input & output
job.json
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitation",
"description": "Create a single partner invitation",
"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",
"element": {
"toAccountName": "Supplier A",
"toUserEmail": "contact@supplier-a.com"
}
}
]
}1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Create many partner invitations - JSON input & output
job.json
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitations",
"description": "Create many partner invitations",
"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",
"element": {
"toAccountName": "Supplier A",
"toUserEmail": "contact@supplier-a.com"
}
},
{
"key": "b",
"element": {
"toAccountName": "Supplier B",
"toUserEmail": "contact@supplier-b.com"
}
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Create partner invitation with inline JSON
job.json
json
{
"name": "data-partner-invitation-create",
"taskReferenceName": "create_partner_invitation",
"description": "Create partner invitation with inline JSON",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"failOnError": true,
"request": {
"method": "INLINE",
"contentType": "application/json",
"model": "default",
"json": {
"operations": [
{
"key": "a",
"element": {
"toAccountName": "Supplier A",
"toUserEmail": "contact@supplier-a.com"
}
}
]
}
}
}
}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
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