Trackunit API

<back to all web services

CreateAlarm

The following routes are available for this service:
POST/Alarm
GET POST/CreateAlarm
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Trackunit.API;

namespace Trackunit.API
{
    [DataContract]
    public partial class ADVoltageAlarmLimits
    {
        [DataMember]
        public virtual double? ADVoltageLowerLimit { get; set; }

        [DataMember]
        public virtual double? ADVoltageUpperLimit { get; set; }
    }

    [DataContract]
    public partial class CreateAlarm
    {
        [DataMember]
        public virtual string Name { get; set; }

        [DataMember]
        public virtual string Type { get; set; }

        [DataMember]
        public virtual bool? Enabled { get; set; }

        [DataMember]
        public virtual bool? AllUnits { get; set; }

        [DataMember]
        public virtual string[] Units { get; set; }

        [DataMember]
        public virtual string[] Groups { get; set; }

        [DataMember]
        public virtual string[] EmailRecipients { get; set; }

        [DataMember]
        public virtual string[] SystemRecipients { get; set; }

        [DataMember]
        public virtual string[] SmsRecipients { get; set; }

        [DataMember]
        public virtual TemperatureAlarmLimits TemperatureLimits { get; set; }

        [DataMember]
        public virtual ADVoltageAlarmLimits ADVoltageLimits { get; set; }

        [DataMember]
        public virtual int? ADVoltageInputIndex { get; set; }

        [DataMember]
        public virtual double? Threshold { get; set; }

        [DataMember]
        public virtual double? BatteryLevel { get; set; }

        [DataMember]
        public virtual Location Location { get; set; }

        [DataMember]
        public virtual double? Radius { get; set; }

        [DataMember]
        public virtual int? InputIndex { get; set; }

        [DataMember]
        public virtual double? Interval { get; set; }

        [DataMember]
        public virtual string PointId { get; set; }

        [DataMember]
        public virtual DateTime? ExpectedArrivalTime { get; set; }

        [DataMember]
        public virtual double? PowerLevel { get; set; }

        [DataMember]
        public virtual string[] Weekdays { get; set; }

        [DataMember]
        public virtual TimeOfDay TimeStart { get; set; }

        [DataMember]
        public virtual TimeOfDay TimeEnd { get; set; }

        [DataMember]
        public virtual string ZoneId { get; set; }
    }

    [DataContract]
    public partial class CreateAlarmResponse
    {
        [DataMember]
        public virtual string Id { get; set; }

        [DataMember]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class Location
    {
        [DataMember]
        public virtual double Latitude { get; set; }

        [DataMember]
        public virtual double Longitude { get; set; }
    }

    [DataContract]
    public partial class TemperatureAlarmLimits
    {
        [DataMember]
        public virtual double? Temperature1LowerLimit { get; set; }

        [DataMember]
        public virtual double? Temperature1UpperLimit { get; set; }

        [DataMember]
        public virtual double? Temperature2LowerLimit { get; set; }

        [DataMember]
        public virtual double? Temperature2UpperLimit { get; set; }
    }

    [DataContract]
    public partial class TimeOfDay
    {
        [DataMember]
        public virtual int Hour { get; set; }

        [DataMember]
        public virtual int Minute { get; set; }
    }

}

C# CreateAlarm 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 /Alarm HTTP/1.1 
Host: api.trackunit.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"name":"String","type":"String","enabled":false,"allUnits":false,"units":["String"],"groups":["String"],"emailRecipients":["String"],"systemRecipients":["String"],"smsRecipients":["String"],"temperatureLimits":{"temperature1LowerLimit":0,"temperature1UpperLimit":0,"temperature2LowerLimit":0,"temperature2UpperLimit":0},"adVoltageLimits":{"adVoltageLowerLimit":0,"adVoltageUpperLimit":0},"adVoltageInputIndex":0,"threshold":0,"batteryLevel":0,"location":{"latitude":0,"longitude":0},"radius":0,"inputIndex":0,"interval":0,"pointId":"String","expectedArrivalTime":"0001-01-01T00:00:00.0000000Z","powerLevel":0,"weekdays":["String"],"timeStart":{"hour":0,"minute":0},"timeEnd":{"hour":0,"minute":0},"zoneId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"id":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}