| GET,PUT,DELETE | /{WorkspaceId}/IntegrationRule/{Id} |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Field2Office.API.Model
Imports Field2Office.API.Model.Integration
Namespace Global
Namespace Field2Office.API.Model
Public Partial Class Action
Public Sub New()
DataTree = New Dictionary(Of String, Object)
DataTypes = New Dictionary(Of String, Object)
End Sub
Public Overridable Property Id As String
Public Overridable Property CallType As String
Public Overridable Property ActionToTake As String
Public Overridable Property Destination As String
Public Overridable Property ExternalId As String
Public Overridable Property ExternalParentId As String
Public Overridable Property DeleteTypeIfNotExists As String
Public Overridable Property DataTree As Dictionary(Of String, Object)
Public Overridable Property Data As String
Public Overridable Property DataTypes As Dictionary(Of String, Object)
End Class
Public Partial Class Condition
Public Overridable Property ValueComparedTo As String
Public Overridable Property ValueToCompare As String
Public Overridable Property ComparisonOperator As PossibleComparisons
Public Enum PossibleComparisons
LTE
LT
GT
GTE
EQ
NE
NULL
NOTNULL
CHG
STARTS
LIKE
End Enum
End Class
Public Partial Class ConditionGroup
Public Overridable Property Condition As Condition
Public Overridable Property Precedence As Integer
Public Overridable Property GroupIdentifier As Integer
Public Overridable Property BooleanOperator As String
End Class
Public Partial Class ConditionGroupItem
Public Sub New()
ConditionGroups = New List(Of ConditionGroup)
End Sub
Public Overridable Property ConditionGroups As List(Of ConditionGroup)
Public Overridable Property Precedence As Integer
Public Overridable Property GroupIdentifier As Integer
Public Overridable Property BooleanOperator As String
End Class
'''<Summary>
'''Represents a set of rules what the system reads to take a particular set of actions. These dtos allow transfer of that data from the client to the server and vice versa.
'''</Summary>
Public Partial Class IntegrationRule
Public Sub New()
Data = New Dictionary(Of String, Object)
ConditionGroupItems = New List(Of ConditionGroupItem)
ActionsToTake = New List(Of Action)
ModulePipeline = New List(Of RuleModuleDefinition)
Teams = New List(Of String)
End Sub
Public Overridable Property WorkspaceId As String
Public Overridable Property Name As String
Public Overridable Property Data As Dictionary(Of String, Object)
Public Overridable Property ObjectType As String
Public Overridable Property Id As String
Public Overridable Property ConditionGroupItems As List(Of ConditionGroupItem)
Public Overridable Property ActionsToTake As List(Of Action)
Public Overridable Property LastUpdated As Date
Public Overridable Property ModulePipeline As List(Of RuleModuleDefinition)
Public Overridable Property Enabled As Boolean
Public Overridable Property WorkdayRestricted As Boolean
Public Overridable Property Teams As List(Of String)
Public Overridable Property AllowProgrammaticTrigger As Boolean
End Class
End Namespace
Namespace Field2Office.API.Model.Integration
Public Partial Class RuleModuleDefinition
Public Sub New()
Prerequisites = New List(Of String)
Parameters = New Dictionary(Of String, Object)
End Sub
Public Overridable Property IsOutputModule As Boolean
Public Overridable Property Name As String
Public Overridable Property Prerequisites As List(Of String)
Public Overridable Property Parameters As Dictionary(Of String, Object)
Public Overridable Property Type As String
Public Overridable Property OutputAction As Action
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /{WorkspaceId}/IntegrationRule/{Id} HTTP/1.1
Host: dev.fieldsquared.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<IntegrationRule xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model">
<ActionsToTake>
<Action>
<ActionToTake>String</ActionToTake>
<CallType>String</CallType>
<Data>String</Data>
<DataTree xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringanyType>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value />
</d4p1:KeyValueOfstringanyType>
</DataTree>
<DataTypes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringanyType>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value />
</d4p1:KeyValueOfstringanyType>
</DataTypes>
<DeleteTypeIfNotExists>String</DeleteTypeIfNotExists>
<Destination>String</Destination>
<ExternalId>String</ExternalId>
<ExternalParentId>String</ExternalParentId>
<Id>String</Id>
</Action>
</ActionsToTake>
<AllowProgrammaticTrigger>false</AllowProgrammaticTrigger>
<ConditionGroupItems>
<ConditionGroupItem>
<BooleanOperator>String</BooleanOperator>
<ConditionGroups>
<ConditionGroup>
<BooleanOperator>String</BooleanOperator>
<Condition>
<ComparisonOperator>LTE</ComparisonOperator>
<ValueComparedTo>String</ValueComparedTo>
<ValueToCompare>String</ValueToCompare>
</Condition>
<GroupIdentifier>0</GroupIdentifier>
<Precedence>0</Precedence>
</ConditionGroup>
</ConditionGroups>
<GroupIdentifier>0</GroupIdentifier>
<Precedence>0</Precedence>
</ConditionGroupItem>
</ConditionGroupItems>
<Data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>value</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">String</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
</Data>
<Enabled>false</Enabled>
<Id>String</Id>
<LastUpdated>0001-01-01T00:00:00</LastUpdated>
<ModulePipeline xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Integration">
<d2p1:RuleModuleDefinition>
<d2p1:IsOutputModule>false</d2p1:IsOutputModule>
<d2p1:Name>String</d2p1:Name>
<d2p1:OutputAction>
<ActionToTake>String</ActionToTake>
<CallType>String</CallType>
<Data>String</Data>
<DataTree xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringanyType>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value />
</d5p1:KeyValueOfstringanyType>
</DataTree>
<DataTypes xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringanyType>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value />
</d5p1:KeyValueOfstringanyType>
</DataTypes>
<DeleteTypeIfNotExists>String</DeleteTypeIfNotExists>
<Destination>String</Destination>
<ExternalId>String</ExternalId>
<ExternalParentId>String</ExternalParentId>
<Id>String</Id>
</d2p1:OutputAction>
<d2p1:Parameters xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringanyType>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value />
</d4p1:KeyValueOfstringanyType>
</d2p1:Parameters>
<d2p1:Prerequisites xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</d2p1:Prerequisites>
<d2p1:Type>String</d2p1:Type>
</d2p1:RuleModuleDefinition>
</ModulePipeline>
<Name>String</Name>
<ObjectType>String</ObjectType>
<Teams xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Teams>
<WorkdayRestricted>false</WorkdayRestricted>
<WorkspaceId>String</WorkspaceId>
<_data>String</_data>
</IntegrationRule>