using RestSharp;
var options = new RestClientOptions("http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"WorkflowTriggerId\": 123,\n \"WorkflowId\": 123,\n \"RestrictionGroups\": [\n {\n \"Name\": \"<string>\",\n \"Description\": \"<string>\",\n \"Rank\": 123,\n \"Restrictions\": [\n {\n \"Name\": \"<string>\",\n \"Operator\": \"<string>\",\n \"Values\": [\n \"<string>\"\n ],\n \"DisplayValues\": [\n \"<string>\"\n ],\n \"ColumnInfo\": {\n \"DisplayName\": \"<string>\",\n \"DisplayTooltip\": \"<string>\",\n \"DisplayType\": \"<string>\",\n \"CanOrderBy\": true,\n \"Name\": \"<string>\",\n \"CanRestrictBy\": true,\n \"RestrictionType\": \"<string>\",\n \"RestrictionListName\": \"<string>\",\n \"IsVisible\": true,\n \"ExtraInfo\": \"<string>\",\n \"Width\": \"<string>\",\n \"IconHint\": \"<string>\",\n \"HeadingIconHint\": \"<string>\"\n },\n \"IsActive\": true,\n \"SubRestrictions\": \"<array>\",\n \"InterParenthesis\": 123,\n \"UniqueHash\": 123\n }\n ]\n }\n ],\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
WorkflowTriggerId: 123,
WorkflowId: 123,
RestrictionGroups: [
{
Name: '<string>',
Description: '<string>',
Rank: 123,
Restrictions: [
{
Name: '<string>',
Operator: '<string>',
Values: ['<string>'],
DisplayValues: ['<string>'],
ColumnInfo: {
DisplayName: '<string>',
DisplayTooltip: '<string>',
DisplayType: '<string>',
CanOrderBy: true,
Name: '<string>',
CanRestrictBy: true,
RestrictionType: '<string>',
RestrictionListName: '<string>',
IsVisible: true,
ExtraInfo: '<string>',
Width: '<string>',
IconHint: '<string>',
HeadingIconHint: '<string>'
},
IsActive: true,
SubRestrictions: '<array>',
InterParenthesis: 123,
UniqueHash: 123
}
]
}
],
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
})
};
fetch('http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "53294",
CURLOPT_URL => "http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'WorkflowTriggerId' => 123,
'WorkflowId' => 123,
'RestrictionGroups' => [
[
'Name' => '<string>',
'Description' => '<string>',
'Rank' => 123,
'Restrictions' => [
[
'Name' => '<string>',
'Operator' => '<string>',
'Values' => [
'<string>'
],
'DisplayValues' => [
'<string>'
],
'ColumnInfo' => [
'DisplayName' => '<string>',
'DisplayTooltip' => '<string>',
'DisplayType' => '<string>',
'CanOrderBy' => true,
'Name' => '<string>',
'CanRestrictBy' => true,
'RestrictionType' => '<string>',
'RestrictionListName' => '<string>',
'IsVisible' => true,
'ExtraInfo' => '<string>',
'Width' => '<string>',
'IconHint' => '<string>',
'HeadingIconHint' => '<string>'
],
'IsActive' => true,
'SubRestrictions' => '<array>',
'InterParenthesis' => 123,
'UniqueHash' => 123
]
]
]
],
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger"
payload = {
"WorkflowTriggerId": 123,
"WorkflowId": 123,
"RestrictionGroups": [
{
"Name": "<string>",
"Description": "<string>",
"Rank": 123,
"Restrictions": [
{
"Name": "<string>",
"Operator": "<string>",
"Values": ["<string>"],
"DisplayValues": ["<string>"],
"ColumnInfo": {
"DisplayName": "<string>",
"DisplayTooltip": "<string>",
"DisplayType": "<string>",
"CanOrderBy": True,
"Name": "<string>",
"CanRestrictBy": True,
"RestrictionType": "<string>",
"RestrictionListName": "<string>",
"IsVisible": True,
"ExtraInfo": "<string>",
"Width": "<string>",
"IconHint": "<string>",
"HeadingIconHint": "<string>"
},
"IsActive": True,
"SubRestrictions": "<array>",
"InterParenthesis": 123,
"UniqueHash": 123
}
]
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
WorkflowTriggerId: 123,
WorkflowId: 123,
RestrictionGroups: [
{
Name: '<string>',
Description: '<string>',
Rank: 123,
Restrictions: [
{
Name: '<string>',
Operator: '<string>',
Values: ['<string>'],
DisplayValues: ['<string>'],
ColumnInfo: {
DisplayName: '<string>',
DisplayTooltip: '<string>',
DisplayType: '<string>',
CanOrderBy: true,
Name: '<string>',
CanRestrictBy: true,
RestrictionType: '<string>',
RestrictionListName: '<string>',
IsVisible: true,
ExtraInfo: '<string>',
Width: '<string>',
IconHint: '<string>',
HeadingIconHint: '<string>'
},
IsActive: true,
SubRestrictions: '<array>',
InterParenthesis: 123,
UniqueHash: 123
}
]
}
],
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
})
};
fetch('http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"WorkflowTriggerId": 123,
"WorkflowId": 123,
"TriggerType": "None",
"RestrictionGroups": [
{
"Name": "<string>",
"Description": "<string>",
"Rank": 123,
"Restrictions": [
{
"Name": "<string>",
"Operator": "<string>",
"Values": [
"<string>"
],
"DisplayValues": [
"<string>"
],
"ColumnInfo": {
"DisplayName": "<string>",
"DisplayTooltip": "<string>",
"DisplayType": "<string>",
"CanOrderBy": true,
"Name": "<string>",
"CanRestrictBy": true,
"RestrictionType": "<string>",
"RestrictionListName": "<string>",
"IsVisible": true,
"ExtraInfo": "<string>",
"Width": "<string>",
"IconHint": "<string>",
"HeadingIconHint": "<string>"
},
"IsActive": true,
"SubRestrictions": "<array>",
"InterParenthesis": 123,
"InterOperator": "None",
"UniqueHash": 123
}
]
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}Save Workflow Trigger
Updates the existing WorkflowTrigger or creates a new WorkflowTrigger if the id parameter is 0.
NsApiSlow threshold: 1000 ms.
using RestSharp;
var options = new RestClientOptions("http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"WorkflowTriggerId\": 123,\n \"WorkflowId\": 123,\n \"RestrictionGroups\": [\n {\n \"Name\": \"<string>\",\n \"Description\": \"<string>\",\n \"Rank\": 123,\n \"Restrictions\": [\n {\n \"Name\": \"<string>\",\n \"Operator\": \"<string>\",\n \"Values\": [\n \"<string>\"\n ],\n \"DisplayValues\": [\n \"<string>\"\n ],\n \"ColumnInfo\": {\n \"DisplayName\": \"<string>\",\n \"DisplayTooltip\": \"<string>\",\n \"DisplayType\": \"<string>\",\n \"CanOrderBy\": true,\n \"Name\": \"<string>\",\n \"CanRestrictBy\": true,\n \"RestrictionType\": \"<string>\",\n \"RestrictionListName\": \"<string>\",\n \"IsVisible\": true,\n \"ExtraInfo\": \"<string>\",\n \"Width\": \"<string>\",\n \"IconHint\": \"<string>\",\n \"HeadingIconHint\": \"<string>\"\n },\n \"IsActive\": true,\n \"SubRestrictions\": \"<array>\",\n \"InterParenthesis\": 123,\n \"UniqueHash\": 123\n }\n ]\n }\n ],\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
WorkflowTriggerId: 123,
WorkflowId: 123,
RestrictionGroups: [
{
Name: '<string>',
Description: '<string>',
Rank: 123,
Restrictions: [
{
Name: '<string>',
Operator: '<string>',
Values: ['<string>'],
DisplayValues: ['<string>'],
ColumnInfo: {
DisplayName: '<string>',
DisplayTooltip: '<string>',
DisplayType: '<string>',
CanOrderBy: true,
Name: '<string>',
CanRestrictBy: true,
RestrictionType: '<string>',
RestrictionListName: '<string>',
IsVisible: true,
ExtraInfo: '<string>',
Width: '<string>',
IconHint: '<string>',
HeadingIconHint: '<string>'
},
IsActive: true,
SubRestrictions: '<array>',
InterParenthesis: 123,
UniqueHash: 123
}
]
}
],
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
})
};
fetch('http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "53294",
CURLOPT_URL => "http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'WorkflowTriggerId' => 123,
'WorkflowId' => 123,
'RestrictionGroups' => [
[
'Name' => '<string>',
'Description' => '<string>',
'Rank' => 123,
'Restrictions' => [
[
'Name' => '<string>',
'Operator' => '<string>',
'Values' => [
'<string>'
],
'DisplayValues' => [
'<string>'
],
'ColumnInfo' => [
'DisplayName' => '<string>',
'DisplayTooltip' => '<string>',
'DisplayType' => '<string>',
'CanOrderBy' => true,
'Name' => '<string>',
'CanRestrictBy' => true,
'RestrictionType' => '<string>',
'RestrictionListName' => '<string>',
'IsVisible' => true,
'ExtraInfo' => '<string>',
'Width' => '<string>',
'IconHint' => '<string>',
'HeadingIconHint' => '<string>'
],
'IsActive' => true,
'SubRestrictions' => '<array>',
'InterParenthesis' => 123,
'UniqueHash' => 123
]
]
]
],
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger"
payload = {
"WorkflowTriggerId": 123,
"WorkflowId": 123,
"RestrictionGroups": [
{
"Name": "<string>",
"Description": "<string>",
"Rank": 123,
"Restrictions": [
{
"Name": "<string>",
"Operator": "<string>",
"Values": ["<string>"],
"DisplayValues": ["<string>"],
"ColumnInfo": {
"DisplayName": "<string>",
"DisplayTooltip": "<string>",
"DisplayType": "<string>",
"CanOrderBy": True,
"Name": "<string>",
"CanRestrictBy": True,
"RestrictionType": "<string>",
"RestrictionListName": "<string>",
"IsVisible": True,
"ExtraInfo": "<string>",
"Width": "<string>",
"IconHint": "<string>",
"HeadingIconHint": "<string>"
},
"IsActive": True,
"SubRestrictions": "<array>",
"InterParenthesis": 123,
"UniqueHash": 123
}
]
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
WorkflowTriggerId: 123,
WorkflowId: 123,
RestrictionGroups: [
{
Name: '<string>',
Description: '<string>',
Rank: 123,
Restrictions: [
{
Name: '<string>',
Operator: '<string>',
Values: ['<string>'],
DisplayValues: ['<string>'],
ColumnInfo: {
DisplayName: '<string>',
DisplayTooltip: '<string>',
DisplayType: '<string>',
CanOrderBy: true,
Name: '<string>',
CanRestrictBy: true,
RestrictionType: '<string>',
RestrictionListName: '<string>',
IsVisible: true,
ExtraInfo: '<string>',
Width: '<string>',
IconHint: '<string>',
HeadingIconHint: '<string>'
},
IsActive: true,
SubRestrictions: '<array>',
InterParenthesis: 123,
UniqueHash: 123
}
]
}
],
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
})
};
fetch('http://localhost:53294/api/v1/Agents/Workflow/SaveWorkflowTrigger', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"WorkflowTriggerId": 123,
"WorkflowId": 123,
"TriggerType": "None",
"RestrictionGroups": [
{
"Name": "<string>",
"Description": "<string>",
"Rank": 123,
"Restrictions": [
{
"Name": "<string>",
"Operator": "<string>",
"Values": [
"<string>"
],
"DisplayValues": [
"<string>"
],
"ColumnInfo": {
"DisplayName": "<string>",
"DisplayTooltip": "<string>",
"DisplayType": "<string>",
"CanOrderBy": true,
"Name": "<string>",
"CanRestrictBy": true,
"RestrictionType": "<string>",
"RestrictionListName": "<string>",
"IsVisible": true,
"ExtraInfo": "<string>",
"Width": "<string>",
"IconHint": "<string>",
"HeadingIconHint": "<string>"
},
"IsActive": true,
"SubRestrictions": "<array>",
"InterParenthesis": 123,
"InterOperator": "None",
"UniqueHash": 123
}
]
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}Authorizations
SuperOffice username:password are passed in Base64-encoded.
You can also pass inn an unencoded ticket 7T:abc== with the HTTP Authenticate header.
SuperOffice SuperId OAuth implicit flow. You need to issue a request to the SuperId authorization URL https://online.superoffice.com/login/common/oauth/authorize?response_type=token &client_id=670734e0-4c5a-11e3-be9e-a171392e81db &redirect_uri=https://example.com/spa/
passing in the application id and redirect URL.
SuperId will log the user in, and redirect to the requested redirect URL with a #payload containing the access token and claims. (The redirect URL must be registered with SuperId in advance)
https://example.com/spa#access_token=8A%3aCust12227.AXRrCITpPBvQX3UbIohb &token_type=bearer &state= &expires_in=3600 &ctx=Cust12227 &netserver_url=https%3a%2f%2fsod.superoffice.com%2fCust12227%2fRemote%2fServices82%2f
You can take the #access_token value and pass it as the Authenticate HTTP header as a BEARER token.
- Authorization URL
- https://online.superoffice.com/login/common/oauth/authorize
Headers
Convert string references and multi-language values into a specified language (iso2) code.
Convert string references and multi-language values into a specified language (iso2) code. Overrides Accept-Language value.
Number, date formatting in a specified culture (iso2 language) code. Partially overrides SO-Language/Accept-Language value. Ignored if no Language set.
Specify the timezone code that you would like date/time responses converted to.
The application token that identifies the partner app. Used when calling Online WebAPI from a server.
Body
The WorkflowTrigger that is saved
Workflow trigger carrier Carrier object for WorkflowTrigger. Services for the WorkflowTrigger Carrier is available from the Workflow Agent.
Primary key
The flow this trigger belongs to
The workflow trigger type
None, PersonCreated, PersonUpdated, AddedToProject, CreatedRequest, LinkClicked, AddedToSelection, FormSubmitted, AddedMessage, StartedChat, OrderPlaced, SaleCreated, SaleSold, SaleLost The restrictions (can be multiple groups) that make up the Workflow trigger criteria
Show child attributes
Show child attributes
Wraps a table right together with an explanatory reason. Code can indicate why access is restricted.
Show child attributes
Show child attributes
Field property dictionary mapping field names to field access rights.
Show child attributes
Show child attributes
Response
OK
Workflow trigger carrier Carrier object for WorkflowTrigger. Services for the WorkflowTrigger Carrier is available from the Workflow Agent.
Primary key
The flow this trigger belongs to
The workflow trigger type
None, PersonCreated, PersonUpdated, AddedToProject, CreatedRequest, LinkClicked, AddedToSelection, FormSubmitted, AddedMessage, StartedChat, OrderPlaced, SaleCreated, SaleSold, SaleLost The restrictions (can be multiple groups) that make up the Workflow trigger criteria
Show child attributes
Show child attributes
Wraps a table right together with an explanatory reason. Code can indicate why access is restricted.
Show child attributes
Show child attributes
Field property dictionary mapping field names to field access rights.
Show child attributes
Show child attributes