Trackunit API

<back to all web services

GetReportUnitHistory

The following routes are available for this service:
GET POST/report/unithistory
namespace Trackunit.API

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    [<AllowNullLiteral>]
    type Location() = 
        [<DataMember>]
        member val Latitude:Double = new Double() with get,set

        [<DataMember>]
        member val Longitude:Double = new Double() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Address() = 
        [<DataMember>]
        member val Country:String = null with get,set

        [<DataMember>]
        member val ZipCode:String = null with get,set

        [<DataMember>]
        member val City:String = null with get,set

        [<DataMember>]
        member val StreetAddress:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type UnitHistory() = 
        [<DataMember>]
        member val Time:DateTime = new DateTime() with get,set

        [<DataMember>]
        member val Event:Int32 = new Int32() with get,set

        [<DataMember>]
        member val KeyId:String = null with get,set

        [<DataMember>]
        member val Location:Location = null with get,set

        [<DataMember>]
        member val Address:Address = null with get,set

        [<DataMember>]
        member val Heading:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val Speed:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Km:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Run1:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Run2:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Run3:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Run4:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val RunOdo:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Temperature1:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Temperature2:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Input1:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input2:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input3:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input4:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input5:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input6:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input7:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input8:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input9:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Input10:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Output1:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Output2:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Output3:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Output4:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val Output5:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember>]
        member val AnalogInput1:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val AnalogInput2:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val AnalogInput4:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val Input1ChangeCounter:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val Input2ChangeCounter:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val Input3ChangeCounter:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val Input4ChangeCounter:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val BatteryLevel:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember>]
        member val ExternalPower:Nullable<Double> = new Nullable<Double>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetReportUnitHistoryResponse() = 
        [<DataMember>]
        member val List:ResizeArray<UnitHistory> = null with get,set

        [<DataMember>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetReportUnitHistory() = 
        [<DataMember>]
        member val UnitId:String = null with get,set

        [<DataMember>]
        member val From:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember>]
        member val To:Nullable<DateTime> = new Nullable<DateTime>() with get,set

F# GetReportUnitHistory DTOs

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

HTTP + OTHER

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

POST /report/unithistory HTTP/1.1 
Host: api.trackunit.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"unitId":"String","from":"0001-01-01T00:00:00.0000000Z","to":"0001-01-01T00:00:00.0000000Z"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"list":[{"time":"0001-01-01T00:00:00.0000000Z","event":0,"keyId":"String","location":{"latitude":0,"longitude":0},"address":{"country":"String","zipCode":"String","city":"String","streetAddress":"String"},"heading":0,"speed":0,"km":0,"run1":0,"run2":0,"run3":0,"run4":0,"runOdo":0,"temperature1":0,"temperature2":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,"batteryLevel":0,"externalPower":0}],"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}