Trackunit API

<back to all web services

CreateAlarm

import 'package:servicestack/servicestack.dart';

// @DataContract
class CreateAlarmResponse implements IConvertible
{
    // @DataMember
    String? id;

    // @DataMember
    ResponseStatus? responseStatus;

    CreateAlarmResponse({this.id,this.responseStatus});
    CreateAlarmResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "CreateAlarmResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class TemperatureAlarmLimits implements IConvertible
{
    // @DataMember
    double? temperature1LowerLimit;

    // @DataMember
    double? temperature1UpperLimit;

    // @DataMember
    double? temperature2LowerLimit;

    // @DataMember
    double? temperature2UpperLimit;

    TemperatureAlarmLimits({this.temperature1LowerLimit,this.temperature1UpperLimit,this.temperature2LowerLimit,this.temperature2UpperLimit});
    TemperatureAlarmLimits.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        temperature1LowerLimit = JsonConverters.toDouble(json['temperature1LowerLimit']);
        temperature1UpperLimit = JsonConverters.toDouble(json['temperature1UpperLimit']);
        temperature2LowerLimit = JsonConverters.toDouble(json['temperature2LowerLimit']);
        temperature2UpperLimit = JsonConverters.toDouble(json['temperature2UpperLimit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'temperature1LowerLimit': temperature1LowerLimit,
        'temperature1UpperLimit': temperature1UpperLimit,
        'temperature2LowerLimit': temperature2LowerLimit,
        'temperature2UpperLimit': temperature2UpperLimit
    };

    getTypeName() => "TemperatureAlarmLimits";
    TypeContext? context = _ctx;
}

// @DataContract
class ADVoltageAlarmLimits implements IConvertible
{
    // @DataMember
    double? adVoltageLowerLimit;

    // @DataMember
    double? adVoltageUpperLimit;

    ADVoltageAlarmLimits({this.adVoltageLowerLimit,this.adVoltageUpperLimit});
    ADVoltageAlarmLimits.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        adVoltageLowerLimit = JsonConverters.toDouble(json['adVoltageLowerLimit']);
        adVoltageUpperLimit = JsonConverters.toDouble(json['adVoltageUpperLimit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'adVoltageLowerLimit': adVoltageLowerLimit,
        'adVoltageUpperLimit': adVoltageUpperLimit
    };

    getTypeName() => "ADVoltageAlarmLimits";
    TypeContext? context = _ctx;
}

// @DataContract
class Location implements IConvertible
{
    // @DataMember
    double? latitude;

    // @DataMember
    double? longitude;

    Location({this.latitude,this.longitude});
    Location.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'latitude': latitude,
        'longitude': longitude
    };

    getTypeName() => "Location";
    TypeContext? context = _ctx;
}

// @DataContract
class TimeOfDay implements IConvertible
{
    // @DataMember
    int? hour;

    // @DataMember
    int? minute;

    TimeOfDay({this.hour,this.minute});
    TimeOfDay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hour = json['hour'];
        minute = json['minute'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hour': hour,
        'minute': minute
    };

    getTypeName() => "TimeOfDay";
    TypeContext? context = _ctx;
}

// @DataContract
class CreateAlarm implements IConvertible
{
    // @DataMember
    String? name;

    // @DataMember
    String? type;

    // @DataMember
    bool? enabled;

    // @DataMember
    bool? allUnits;

    // @DataMember
    List<String>? units;

    // @DataMember
    List<String>? groups;

    // @DataMember
    List<String>? emailRecipients;

    // @DataMember
    List<String>? systemRecipients;

    // @DataMember
    List<String>? smsRecipients;

    // @DataMember
    TemperatureAlarmLimits? temperatureLimits;

    // @DataMember
    ADVoltageAlarmLimits? adVoltageLimits;

    // @DataMember
    int? adVoltageInputIndex;

    // @DataMember
    double? threshold;

    // @DataMember
    double? batteryLevel;

    // @DataMember
    Location? location;

    // @DataMember
    double? radius;

    // @DataMember
    int? inputIndex;

    // @DataMember
    double? interval;

    // @DataMember
    String? pointId;

    // @DataMember
    DateTime? expectedArrivalTime;

    // @DataMember
    double? powerLevel;

    // @DataMember
    List<String>? weekdays;

    // @DataMember
    TimeOfDay? timeStart;

    // @DataMember
    TimeOfDay? timeEnd;

    // @DataMember
    String? zoneId;

    CreateAlarm({this.name,this.type,this.enabled,this.allUnits,this.units,this.groups,this.emailRecipients,this.systemRecipients,this.smsRecipients,this.temperatureLimits,this.adVoltageLimits,this.adVoltageInputIndex,this.threshold,this.batteryLevel,this.location,this.radius,this.inputIndex,this.interval,this.pointId,this.expectedArrivalTime,this.powerLevel,this.weekdays,this.timeStart,this.timeEnd,this.zoneId});
    CreateAlarm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        type = json['type'];
        enabled = json['enabled'];
        allUnits = json['allUnits'];
        units = JsonConverters.fromJson(json['units'],'List<String>',context!);
        groups = JsonConverters.fromJson(json['groups'],'List<String>',context!);
        emailRecipients = JsonConverters.fromJson(json['emailRecipients'],'List<String>',context!);
        systemRecipients = JsonConverters.fromJson(json['systemRecipients'],'List<String>',context!);
        smsRecipients = JsonConverters.fromJson(json['smsRecipients'],'List<String>',context!);
        temperatureLimits = JsonConverters.fromJson(json['temperatureLimits'],'TemperatureAlarmLimits',context!);
        adVoltageLimits = JsonConverters.fromJson(json['adVoltageLimits'],'ADVoltageAlarmLimits',context!);
        adVoltageInputIndex = json['adVoltageInputIndex'];
        threshold = JsonConverters.toDouble(json['threshold']);
        batteryLevel = JsonConverters.toDouble(json['batteryLevel']);
        location = JsonConverters.fromJson(json['location'],'Location',context!);
        radius = JsonConverters.toDouble(json['radius']);
        inputIndex = json['inputIndex'];
        interval = JsonConverters.toDouble(json['interval']);
        pointId = json['pointId'];
        expectedArrivalTime = JsonConverters.fromJson(json['expectedArrivalTime'],'DateTime',context!);
        powerLevel = JsonConverters.toDouble(json['powerLevel']);
        weekdays = JsonConverters.fromJson(json['weekdays'],'List<String>',context!);
        timeStart = JsonConverters.fromJson(json['timeStart'],'TimeOfDay',context!);
        timeEnd = JsonConverters.fromJson(json['timeEnd'],'TimeOfDay',context!);
        zoneId = json['zoneId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'type': type,
        'enabled': enabled,
        'allUnits': allUnits,
        'units': JsonConverters.toJson(units,'List<String>',context!),
        'groups': JsonConverters.toJson(groups,'List<String>',context!),
        'emailRecipients': JsonConverters.toJson(emailRecipients,'List<String>',context!),
        'systemRecipients': JsonConverters.toJson(systemRecipients,'List<String>',context!),
        'smsRecipients': JsonConverters.toJson(smsRecipients,'List<String>',context!),
        'temperatureLimits': JsonConverters.toJson(temperatureLimits,'TemperatureAlarmLimits',context!),
        'adVoltageLimits': JsonConverters.toJson(adVoltageLimits,'ADVoltageAlarmLimits',context!),
        'adVoltageInputIndex': adVoltageInputIndex,
        'threshold': threshold,
        'batteryLevel': batteryLevel,
        'location': JsonConverters.toJson(location,'Location',context!),
        'radius': radius,
        'inputIndex': inputIndex,
        'interval': interval,
        'pointId': pointId,
        'expectedArrivalTime': JsonConverters.toJson(expectedArrivalTime,'DateTime',context!),
        'powerLevel': powerLevel,
        'weekdays': JsonConverters.toJson(weekdays,'List<String>',context!),
        'timeStart': JsonConverters.toJson(timeStart,'TimeOfDay',context!),
        'timeEnd': JsonConverters.toJson(timeEnd,'TimeOfDay',context!),
        'zoneId': zoneId
    };

    getTypeName() => "CreateAlarm";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.trackunit.com', types: <String, TypeInfo> {
    'CreateAlarmResponse': TypeInfo(TypeOf.Class, create:() => CreateAlarmResponse()),
    'TemperatureAlarmLimits': TypeInfo(TypeOf.Class, create:() => TemperatureAlarmLimits()),
    'ADVoltageAlarmLimits': TypeInfo(TypeOf.Class, create:() => ADVoltageAlarmLimits()),
    'Location': TypeInfo(TypeOf.Class, create:() => Location()),
    'TimeOfDay': TypeInfo(TypeOf.Class, create:() => TimeOfDay()),
    'CreateAlarm': TypeInfo(TypeOf.Class, create:() => CreateAlarm()),
});

Dart CreateAlarm DTOs

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

HTTP + SOAP11

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

POST /soap11 HTTP/1.1 
Host: api.trackunit.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: CreateAlarm

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>

<CreateAlarm xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ADVoltageInputIndex>0</ADVoltageInputIndex>
  <ADVoltageLimits>
    <ADVoltageLowerLimit>0</ADVoltageLowerLimit>
    <ADVoltageUpperLimit>0</ADVoltageUpperLimit>
  </ADVoltageLimits>
  <AllUnits>false</AllUnits>
  <BatteryLevel>0</BatteryLevel>
  <EmailRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </EmailRecipients>
  <Enabled>false</Enabled>
  <ExpectedArrivalTime>0001-01-01T00:00:00</ExpectedArrivalTime>
  <Groups xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Groups>
  <InputIndex>0</InputIndex>
  <Interval>0</Interval>
  <Location>
    <Latitude>0</Latitude>
    <Longitude>0</Longitude>
  </Location>
  <Name>String</Name>
  <PointId>String</PointId>
  <PowerLevel>0</PowerLevel>
  <Radius>0</Radius>
  <SmsRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </SmsRecipients>
  <SystemRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </SystemRecipients>
  <TemperatureLimits>
    <Temperature1LowerLimit>0</Temperature1LowerLimit>
    <Temperature1UpperLimit>0</Temperature1UpperLimit>
    <Temperature2LowerLimit>0</Temperature2LowerLimit>
    <Temperature2UpperLimit>0</Temperature2UpperLimit>
  </TemperatureLimits>
  <Threshold>0</Threshold>
  <TimeEnd>
    <Hour>0</Hour>
    <Minute>0</Minute>
  </TimeEnd>
  <TimeStart>
    <Hour>0</Hour>
    <Minute>0</Minute>
  </TimeStart>
  <Type>String</Type>
  <Units xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Units>
  <Weekdays xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Weekdays>
  <ZoneId>String</ZoneId>
</CreateAlarm>

</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>

<CreateAlarmResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Id>String</Id>
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </ResponseError>
    </Errors>
    <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Meta>
  </ResponseStatus>
</CreateAlarmResponse>

</soap:Body>
</soap:Envelope>