| GET | /{Workspace}/API/Document/Schema | ||
|---|---|---|---|
| GET, PUT, POST, DELETE | /{Workspace}/API/Document/{Id} | ||
| GET, PUT, POST, DELETE | /{Workspace}/API/Document | ||
| GET | /{Workspace}/API/Document/Schema/{DocumentType} |
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Field2Office.API.Model.PublicApi.Documents
Imports Field2Office.API.Model.Documents
Imports Field2Office.API.Model
Imports Field2Office.API.Model.Teams
Imports Field2Office.DomainObjects.Model
Imports Field2Office.Core.Model.Task
Namespace Global
Namespace Field2Office.API.Model
Public Partial Class Address
Public Overridable Property Street As String
Public Overridable Property Unit As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property Zip As String
Public Overridable Property ContactTitle As String
Public Overridable Property ContactName As String
Public Overridable Property ContactPhone As String
Public Overridable Property ContactEmail As String
Public Overridable Property Location As Location
Public Overridable Property SiteName As String
Public Overridable Property GeocodeFailed As Boolean
Public Overridable Property Country As String
End Class
Public Partial Class ClassedItem
Public Sub New()
Ancestors = New List(Of String)
End Sub
Public Overridable Property ObjectId As String
Public Overridable Property [Class] As String
Public Overridable Property VersionId As String
Public Overridable Property Ancestors As List(Of String)
Public Overridable Property Type As String
End Class
Public Partial Class DomainItem
Public Overridable Property Workspace As String
Public Overridable Property ObjectId As String
Public Overridable Property VersionId As String
Public Overridable Property LastUpdated As String
End Class
Public Partial Class EventItem
Public Overridable Property ObjectId As String
Public Overridable Property [Date] As String
Public Overridable Property Location As Location
Public Overridable Property Barcode As String
Public Overridable Property Details As String
Public Overridable Property Type As String
Public Overridable Property IsScan As Boolean
Public Overridable Property User As String
Public Overridable Property SelectedBy As String
Public Overridable Property Status As String
Public Overridable Property StatusType As String
Public Overridable Property DateCreated As String
Public Overridable Property Automatic As Boolean
End Class
Public Partial Class Location
Public Overridable Property y As Double
Public Overridable Property x As Double
End Class
End Namespace
Namespace Field2Office.API.Model.Documents
'''<Summary>
'''Represents a document associated with a task or user. To return multiple documents, call /{Workspace}/Document and pass in query parameter ids = comma separated list of document ids.
'''</Summary>
Public Partial Class Document
Public Sub New()
Data = New Dictionary(Of String, Object)
SecondaryOwners = New List(Of ClassedItem)
RangeExceptions = New List(Of RangeExceptionItem)
End Sub
Public Overridable Property Workspace As String
Public Overridable Property AssignedWorkspace As String
Public Overridable Property ObjectId As String
Public Overridable Property VersionId As String
Public Overridable Property BasedOn As String
Public Overridable Property Created As String
Public Overridable Property ExternalId As String
Public Overridable Property LastUpdated As String
Public Overridable Property Type As String
Public Overridable Property Name As String
Public Overridable Property Title As String
Public Overridable Property Data As Dictionary(Of String, Object)
Public Overridable Property Owner As ClassedItem
Public Overridable Property SecondaryOwners As List(Of ClassedItem)
Public Overridable Property Location As Location
Public Overridable Property [Date] As String
Public Overridable Property CreatedBy As String
Public Overridable Property PercentComplete As Double
Public Overridable Property PercentTotal As Integer
Public Overridable Property PercentDone As Integer
Public Overridable Property RangeExceptions As List(Of RangeExceptionItem)
Public Overridable Property Submitted As Boolean
Public Overridable Property Schema As String
Public Overridable Property OwnerData As DocumentOwnerData
End Class
Public Partial Class DocumentOwnerData
Public Overridable Property OwnerType As String
Public Overridable Property TaskData As DocumentOwnerDataTask
Public Overridable Property AssetData As DocumentOwnerDataAsset
End Class
Public Partial Class DocumentOwnerDataAsset
Public Sub New()
CustomDataFields = New List(Of CustomDataField)
End Sub
Public Overridable Property ObjectId As String
Public Overridable Property Name As String
Public Overridable Property AssetType As String
Public Overridable Property LastUpdated As Date
Public Overridable Property Created As Date
Public Overridable Property Address As AddressBasic
Public Overridable Property CustomDataFields As List(Of CustomDataField)
End Class
Public Partial Class DocumentOwnerDataTask
Public Sub New()
CustomDataFields = New List(Of CustomDataField)
End Sub
Public Overridable Property ObjectId As String
Public Overridable Property Name As String
Public Overridable Property Status As String
Public Overridable Property TaskType As String
Public Overridable Property LastUpdated As Date
Public Overridable Property Created As Date
Public Overridable Property Priority As Nullable(Of Integer)
Public Overridable Property Rank As Decimal
Public Overridable Property FirstTeam As Team
Public Overridable Property Address As Address
Public Overridable Property CustomDataFields As List(Of CustomDataField)
End Class
Public Partial Class RangeExceptionItem
Public Overridable Property Binding As String
Public Overridable Property Message As String
Public Overridable Property Type As String
Public Overridable Property ClassName As String
End Class
End Namespace
Namespace Field2Office.API.Model.PublicApi.Documents
<DataContract>
Public Partial Class PublicDocument
Public Sub New()
Documents = New List(Of Document)
End Sub
<DataMember>
Public Overridable Property Id As String
<DataMember>
Public Overridable Property Workspace As String
<DataMember>
Public Overridable Property DocumentType As String
<DataMember>
Public Overridable Property Document As Document
<DataMember>
Public Overridable Property Documents As List(Of Document)
End Class
End Namespace
Namespace Field2Office.API.Model.Teams
'''<Summary>
'''Represents a DTO for a team in a workspace. Calls without an ObjectId will retrieve an array of all team objects for the workspace.
'''</Summary>
Public Partial Class Team
Public Sub New()
Members = New List(Of DomainItem)
Data = New Dictionary(Of String, String)
Teams = New List(Of String)
Events = New List(Of EventItem)
ActiveLaborTypes = New Dictionary(Of String, Object)
End Sub
Public Overridable Property Workspace As String
Public Overridable Property TimeZone As String
Public Overridable Property ObjectId As String
Public Overridable Property ExternalId As String
Public Overridable Property VersionId As String
Public Overridable Property BasedOn As String
Public Overridable Property Name As String
Public Overridable Property Enabled As Boolean
Public Overridable Property Members As List(Of DomainItem)
Public Overridable Property Lead As DomainItem
Public Overridable Property Parent As DomainItem
Public Overridable Property Address As Address
Public Overridable Property Data As Dictionary(Of String, String)
Public Overridable Property Teams As List(Of String)
Public Overridable Property Events As List(Of EventItem)
Public Overridable Property CreatedBy As String
Public Overridable Property ActiveLaborTypes As Dictionary(Of String, Object)
End Class
End Namespace
Namespace Field2Office.Core.Model.Task
Public Partial Class CustomDataField
Public Overridable Property Binding As String
Public Overridable Property Label As String
Public Overridable Property Value As Object
Public Overridable Property DataType As String
Public Overridable Property IsReadOnly As Boolean
Public Overridable Property IsHidden As Boolean
Public Overridable Property Values As String
End Class
End Namespace
Namespace Field2Office.DomainObjects.Model
Public Partial Class Address
Inherits AddressBase
Public Overridable Property SiteName As String
Public Overridable Property ContactTitle As String
Public Overridable Property ContactName As String
Public Overridable Property ContactPhone As String
Public Overridable Property ContactEmail As String
End Class
Public Partial Class AddressBase
Public Overridable Property Id As String
Public Overridable Property AddressLine1 As String
Public Overridable Property AddressLine2 As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property Zip As String
Public Overridable Property Location As Location
Public Overridable Property Name As String
Public Overridable Property NameSingleLine As String
Public Overridable Property NameSingleLine5DigitZip As String
Public Overridable Property HasValidLocation As Boolean
Public Overridable Property GeocodeFailed As Boolean
Public Overridable Property GeocodeResultCode As String
Public Overridable Property Country As String
End Class
Public Partial Class AddressBasic
Inherits AddressBase
End Class
Public Partial Class Location
Public Overridable Property Latitude As Double
Public Overridable Property Longitude As Double
Public Overridable Property HasValidLocation As Boolean
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Workspace}/API/Document/{Id} HTTP/1.1
Host: dev.fieldsquared.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Id":"String","Workspace":"String","DocumentType":"String","Document":{"Name":"String","ExternalId":"String","Type":"String","OwnerId":"String","OwnerClass":"String","Lat":0,"Lon":0,"LastUpdated":"String","Created":"String","Date":"String","PercentComplete":0,"PercentTotal":0,"PercentDone":0,"Data":{"String":{}}},"Documents":[{"Name":"String","ExternalId":"String","Type":"String","OwnerId":"String","OwnerClass":"String","Lat":0,"Lon":0,"LastUpdated":"String","Created":"String","Date":"String","PercentComplete":0,"PercentTotal":0,"PercentDone":0,"Data":{"String":{}}}]}