| GET | /api/v1/devices/{Guid} |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models;
using Eras2Web.Service.Desktop.Server.ServiceModel.Enums;
using Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten;
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
{
public enum DeviceReadingKind
{
ZA,
HA,
MO,
EB,
AB,
}
public enum EinheitType
{
L,
Kg,
CBM,
Stck,
KWH,
MWH,
GWH,
T,
RM,
Einheit,
Qm,
GJ,
MJ,
Null,
St,
Srm,
Wh,
}
}
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get
{
public partial class GetDevice
: IHasBearerToken
{
[ApiMember(IsRequired=true, ParameterType="query")]
public virtual string BearerToken { get; set; }
[ApiMember(IsRequired=true, ParameterType="path")]
public virtual Guid Guid { get; set; }
}
public partial class GetDeviceResponse
{
public virtual Device Device { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
{
[DataContract]
public partial class Device
{
public Device()
{
DeviceConsumptions = new List<DeviceConsumption>{};
}
[DataMember]
public virtual Guid Guid { get; set; }
[DataMember]
public virtual string Number { get; set; }
[DataMember]
public virtual string Label { get; set; }
[DataMember]
public virtual string Description { get; set; }
[DataMember]
public virtual DateTime InstallationDate { get; set; }
[DataMember]
public virtual DateTime? DeinstallationDate { get; set; }
[DataMember]
public virtual DateTime? CalibrationDate { get; set; }
[DataMember]
public virtual EinheitType Unit { get; set; }
[DataMember]
public virtual string Note { get; set; }
[DataMember]
public virtual DeviceCatalog DeviceCatalog { get; set; }
[DataMember]
public virtual List<DeviceConsumption> DeviceConsumptions { get; set; }
}
[DataContract]
public partial class DeviceConsumption
{
[DataMember]
public virtual Guid Guid { get; set; }
[DataMember]
public virtual double? DeviceReading { get; set; }
[DataMember]
public virtual DateTime? DeviceReadingDate { get; set; }
[DataMember]
public virtual DeviceReadingKind DeviceReadingKind { get; set; }
[DataMember]
public virtual DateTime? ChangeDate { get; set; }
[DataMember]
public virtual string Note { get; set; }
[DataMember]
public virtual string AmpouleColour { get; set; }
[DataMember]
public virtual string DeviceGuid { get; set; }
}
}
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten
{
[DataContract]
public partial class DeviceCatalog
{
[DataMember(Name="Guid")]
public virtual string Guid { get; set; }
[DataMember(Name="TypKurz")]
public virtual string TypeShort { get; set; }
[DataMember(Name="TypLang")]
public virtual string TypeLong { get; set; }
[DataMember(Name="Ablesbar")]
public virtual bool Readable { get; set; }
[DataMember(Name="Klasse")]
public virtual string Class { get; set; }
[DataMember(Name="Abzug")]
public virtual bool Subtraction { get; set; }
[DataMember(Name="Hkvv")]
public virtual bool Hkvv { get; set; }
[DataMember(Name="Funk")]
public virtual bool Radio { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/v1/devices/{Guid} HTTP/1.1
Host: emg-servdesk.eras-online.de
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
device:
{
guid: 00000000000000000000000000000000,
number: String,
label: String,
description: String,
installationDate: 0001-01-01T00:00:00Z,
deinstallationDate: 0001-01-01T00:00:00Z,
calibrationDate: 0001-01-01T00:00:00Z,
unit: L,
note: String,
deviceCatalog:
{
Guid: String,
TypKurz: String,
TypLang: String,
Ablesbar: False,
Klasse: String,
Abzug: False,
Hkvv: False,
Funk: False
},
deviceConsumptions:
[
{
guid: 00000000000000000000000000000000,
deviceReading: 0,
deviceReadingDate: 0001-01-01T00:00:00Z,
deviceReadingKind: ZA,
changeDate: 0001-01-01T00:00:00Z,
note: String,
ampouleColour: String,
deviceGuid: String
}
]
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}