Field Squared API Services

<back to all web services

Track

Service representing a Track object in a workspace. Note that request.TrackId is returned on successful POST else null.
The Items property is a list of Item objects, each object representing a location where the user stopped for a period of time.
The Item object is comprised of a Location property (Lat/Lon), Time property (Timestamp in UTC string format) and Interval Property
(Time stopped in seconds).
The RedlineItems property is a list of RedlineItem objects, each object representing a location where the user began exceeding the redline speed
defined in the workspace for a period of time also defined in the workspace. The properties are identical to the StopItem object, however the Interval
property represents time spent above the redline speed in seconds. Speed property is in meters per sec.

The following routes are available for this service:
POST/{Workspace}/Track/{UserId}
import java.math.*
import java.util.*
import net.servicestack.client.*


/**
* Service representing a Track object in a workspace.  Note that request.TrackId is returned on successful POST else null.  The Items property is a list of Item objects, each object representing a location where the user stopped for a period of time.  The Item object is comprised of a Location property (Lat/Lon), Time property (Timestamp in UTC string format) and Interval Property (Time stopped in seconds). The RedlineItems property is a list of RedlineItem objects, each object representing a location where the user began exceeding the redline speed defined in the workspace for a period of time also defined in the workspace.  The properties are identical to the StopItem object, however the Interval property represents time spent above the redline speed in seconds. Speed property is in meters per sec.
*/
open class Track
{
    var Workspace:String? = null
    var UserId:String? = null
    var TrackId:String? = null
    var Items:ArrayList<String> = ArrayList<String>()
    var Stops:ArrayList<StopItem> = ArrayList<StopItem>()
    var Spd:ArrayList<RedlineItem> = ArrayList<RedlineItem>()
    var Address:Address? = null
    var Distance:Double? = null
}

/**
* Service representing a StopItem object in a workspace.
*/
open class StopItem
{
    var PT:String? = null
    var Int:Int? = null
}

/**
* Service representing a RedlineItem object in a workspace.
*/
open class RedlineItem
{
    var PT:String? = null
    var Int:Int? = null
    var Avg:Double? = null
}

open class Address
{
    var Street:String? = null
    var Unit:String? = null
    var City:String? = null
    var State:String? = null
    var Zip:String? = null
    var ContactTitle:String? = null
    var ContactName:String? = null
    var ContactPhone:String? = null
    var ContactEmail:String? = null
    var Location:Location? = null
    var SiteName:String? = null
    var GeocodeFailed:Boolean? = null
    var Country:String? = null
}

open class Location
{
    var y:Double? = null
    var x:Double? = null
}

Kotlin Track DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /{Workspace}/Track/{UserId} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Workspace: String,
	UserId: String,
	TrackId: String,
	Items: 
	[
		String
	],
	Stops: 
	[
		{
			PT: String,
			Int: 0
		}
	],
	Spd: 
	[
		{
			PT: String,
			Int: 0,
			Avg: 0
		}
	],
	Address: 
	{
		Street: String,
		Unit: String,
		City: String,
		State: String,
		Zip: String,
		ContactTitle: String,
		ContactName: String,
		ContactPhone: String,
		ContactEmail: String,
		Location: 
		{
			y: 0,
			x: 0
		},
		SiteName: String,
		GeocodeFailed: False,
		Country: String
	},
	Distance: 0
}