Trackunit API

<back to all web services

GetUnit

The following routes are available for this service:
GET/unit
GET/unit/{Id}
GET POST/GetUnit
GET POST/GetUnit/{Id}
import Foundation
import ServiceStack

// @DataContract
public class GetUnit : Codable
{
    // @DataMember
    public var id:String

    // @DataMember
    public var serialNumber:String

    // @DataMember
    public var referenceNumber:String

    // @DataMember
    public var categoryId:String

    // @DataMember
    public var clientId:String

    // @DataMember
    public var groupId:String

    // @DataMember
    public var zoneId:String

    // @DataMember
    public var pointId:String

    // @DataMember
    public var point:Location

    // @DataMember
    public var radius:Double?

    required public init(){}
}

// @DataContract
public class Location : Codable
{
    // @DataMember
    public var latitude:Double

    // @DataMember
    public var longitude:Double

    required public init(){}
}

// @DataContract
public class GetUnitResponse : Codable
{
    // @DataMember
    public var list:[Unit]

    // @DataMember
    public var responseStatus:ResponseStatus

    required public init(){}
}

// @DataContract
public class Unit : Codable
{
    // @DataMember
    public var id:String

    // @DataMember
    public var serialNumber:String

    // @DataMember
    public var phoneNumber:String

    // @DataMember
    public var vehicleType:String

    // @DataMember
    public var deviceType:String

    // @DataMember
    public var deviceModel:String

    // @DataMember
    public var name:String

    // @DataMember
    public var displayName:String

    // @DataMember
    public var referenceNumber:String

    // @DataMember
    public var note:String

    // @DataMember
    public var createdAt:Date

    // @DataMember
    public var input1Name:String

    // @DataMember
    public var input2Name:String

    // @DataMember
    public var input3Name:String

    // @DataMember
    public var input4Name:String

    // @DataMember
    public var categoryId:String

    // @DataMember
    public var clientId:String

    // @DataMember
    public var gpsFixTime:Date?

    // @DataMember
    public var messageTime:Date?

    // @DataMember
    public var location:Location

    // @DataMember
    public var altitude:Double?

    // @DataMember
    public var heading:Int?

    // @DataMember
    public var speed:Double?

    // @DataMember
    public var address:Address

    // @DataMember
    public var temperature1:Double?

    // @DataMember
    public var temperature2:Double?

    // @DataMember
    public var gsmLevel:Double?

    // @DataMember
    public var gsmSignalQuality:String

    // @DataMember
    public var gpsSignalQuality:String

    // @DataMember
    public var batteryLevel:Double?

    // @DataMember
    public var externalPower:Double?

    // @DataMember
    public var preRun1:Double

    // @DataMember
    public var preRun2:Double

    // @DataMember
    public var run1:Double?

    // @DataMember
    public var run2:Double?

    // @DataMember
    public var run3:Double?

    // @DataMember
    public var run4:Double?

    // @DataMember
    public var runOdo:Double?

    // @DataMember
    public var preKm:Double

    // @DataMember
    public var km:Double?

    // @DataMember
    public var input1:Bool?

    // @DataMember
    public var input2:Bool?

    // @DataMember
    public var input3:Bool?

    // @DataMember
    public var input4:Bool?

    // @DataMember
    public var input5:Bool?

    // @DataMember
    public var input6:Bool?

    // @DataMember
    public var input7:Bool?

    // @DataMember
    public var input8:Bool?

    // @DataMember
    public var input9:Bool?

    // @DataMember
    public var input10:Bool?

    // @DataMember
    public var output1:Bool?

    // @DataMember
    public var output2:Bool?

    // @DataMember
    public var output3:Bool?

    // @DataMember
    public var output4:Bool?

    // @DataMember
    public var output5:Bool?

    // @DataMember
    public var analogInput1:Double?

    // @DataMember
    public var analogInput2:Double?

    // @DataMember
    public var analogInput4:Double?

    // @DataMember
    public var input1ChangeCounter:Int?

    // @DataMember
    public var input2ChangeCounter:Int?

    // @DataMember
    public var input3ChangeCounter:Int?

    // @DataMember
    public var input4ChangeCounter:Int?

    // @DataMember
    public var isActive:Bool

    // @DataMember
    public var keyId:String

    // @DataMember
    public var isOwn:Bool

    // @DataMember
    public var currentStop:Double?

    required public init(){}
}

// @DataContract
public class Address : Codable
{
    // @DataMember
    public var country:String

    // @DataMember
    public var zipCode:String

    // @DataMember
    public var city:String

    // @DataMember
    public var streetAddress:String

    required public init(){}
}


Swift GetUnit DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /GetUnit HTTP/1.1 
Host: api.trackunit.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"id":"String","serialNumber":"String","referenceNumber":"String","categoryId":"String","clientId":"String","groupId":"String","zoneId":"String","pointId":"String","point":{"latitude":0,"longitude":0},"radius":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"list":[{"id":"String","serialNumber":"String","phoneNumber":"String","vehicleType":"String","deviceType":"String","deviceModel":"String","name":"String","displayName":"String","referenceNumber":"String","note":"String","createdAt":"0001-01-01T00:00:00.0000000Z","input1Name":"String","input2Name":"String","input3Name":"String","input4Name":"String","categoryId":"String","clientId":"String","gpsFixTime":"0001-01-01T00:00:00.0000000Z","messageTime":"0001-01-01T00:00:00.0000000Z","location":{"latitude":0,"longitude":0},"altitude":0,"heading":0,"speed":0,"address":{"country":"String","zipCode":"String","city":"String","streetAddress":"String"},"temperature1":0,"temperature2":0,"gsmLevel":0,"gsmSignalQuality":"String","gpsSignalQuality":"String","batteryLevel":0,"externalPower":0,"preRun1":0,"preRun2":0,"run1":0,"run2":0,"run3":0,"run4":0,"runOdo":0,"preKm":0,"km":0,"input1":false,"input2":false,"input3":false,"input4":false,"input5":false,"input6":false,"input7":false,"input8":false,"input9":false,"input10":false,"output1":false,"output2":false,"output3":false,"output4":false,"output5":false,"analogInput1":0,"analogInput2":0,"analogInput4":0,"input1ChangeCounter":0,"input2ChangeCounter":0,"input3ChangeCounter":0,"input4ChangeCounter":0,"isActive":false,"keyId":"String","isOwn":false,"currentStop":0}],"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}