| GET | /api/v1/devices/{Guid} |
|---|
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type EinheitType =
| L = 0
| Kg = 1
| CBM = 2
| Stck = 3
| KWH = 4
| MWH = 5
| GWH = 6
| T = 7
| RM = 8
| Einheit = 9
| Qm = 10
| GJ = 11
| MJ = 12
| Null = 13
| St = 14
| Srm = 15
| Wh = 16
[<DataContract>]
[<AllowNullLiteral>]
type DeviceCatalog() =
[<DataMember(Name="Guid")>]
member val Guid:String = null with get,set
[<DataMember(Name="TypKurz")>]
member val TypeShort:String = null with get,set
[<DataMember(Name="TypLang")>]
member val TypeLong:String = null with get,set
[<DataMember(Name="Ablesbar")>]
member val Readable:Boolean = new Boolean() with get,set
[<DataMember(Name="Klasse")>]
member val Class:String = null with get,set
[<DataMember(Name="Abzug")>]
member val Subtraction:Boolean = new Boolean() with get,set
[<DataMember(Name="Hkvv")>]
member val Hkvv:Boolean = new Boolean() with get,set
[<DataMember(Name="Funk")>]
member val Radio:Boolean = new Boolean() with get,set
type DeviceReadingKind =
| ZA = 0
| HA = 1
| MO = 2
| EB = 3
| AB = 4
[<DataContract>]
[<AllowNullLiteral>]
type DeviceConsumption() =
[<DataMember>]
member val Guid:Guid = new Guid() with get,set
[<DataMember>]
member val DeviceReading:Nullable<Double> = new Nullable<Double>() with get,set
[<DataMember>]
member val DeviceReadingDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val DeviceReadingKind:DeviceReadingKind = new DeviceReadingKind() with get,set
[<DataMember>]
member val ChangeDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val Note:String = null with get,set
[<DataMember>]
member val AmpouleColour:String = null with get,set
[<DataMember>]
member val DeviceGuid:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Device() =
[<DataMember>]
member val Guid:Guid = new Guid() with get,set
[<DataMember>]
member val Number:String = null with get,set
[<DataMember>]
member val Label:String = null with get,set
[<DataMember>]
member val Description:String = null with get,set
[<DataMember>]
member val InstallationDate:DateTime = new DateTime() with get,set
[<DataMember>]
member val DeinstallationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val CalibrationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val Unit:EinheitType = new EinheitType() with get,set
[<DataMember>]
member val Note:String = null with get,set
[<DataMember>]
member val DeviceCatalog:DeviceCatalog = null with get,set
[<DataMember>]
member val DeviceConsumptions:ResizeArray<DeviceConsumption> = new ResizeArray<DeviceConsumption>() with get,set
[<AllowNullLiteral>]
type GetDeviceResponse() =
member val Device:Device = null with get,set
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type GetDevice() =
[<ApiMember(IsRequired=true, ParameterType="query")>]
member val BearerToken:String = null with get,set
[<ApiMember(IsRequired=true, ParameterType="path")>]
member val Guid:Guid = new Guid() with 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: develop-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
}
}
}