| GET | /api/v1/devices/{Guid} |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Enums
Imports Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten
Namespace Global
Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
Public Enum DeviceReadingKind
ZA
HA
MO
EB
AB
End Enum
Public Enum EinheitType
L
Kg
CBM
Stck
KWH
MWH
GWH
T
RM
Einheit
Qm
GJ
MJ
Null
St
Srm
Wh
End Enum
End Namespace
Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get
Public Partial Class GetDevice
Implements IHasBearerToken
<ApiMember(IsRequired:=true, ParameterType:="query")>
Public Overridable Property BearerToken As String
<ApiMember(IsRequired:=true, ParameterType:="path")>
Public Overridable Property Guid As Guid
End Class
Public Partial Class GetDeviceResponse
Public Overridable Property Device As Device
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
<DataContract>
Public Partial Class Device
Public Sub New()
DeviceConsumptions = New List(Of DeviceConsumption)
End Sub
<DataMember>
Public Overridable Property Guid As Guid
<DataMember>
Public Overridable Property Number As String
<DataMember>
Public Overridable Property Label As String
<DataMember>
Public Overridable Property Description As String
<DataMember>
Public Overridable Property InstallationDate As Date
<DataMember>
Public Overridable Property DeinstallationDate As Nullable(Of Date)
<DataMember>
Public Overridable Property CalibrationDate As Nullable(Of Date)
<DataMember>
Public Overridable Property Unit As EinheitType
<DataMember>
Public Overridable Property Note As String
<DataMember>
Public Overridable Property DeviceCatalog As DeviceCatalog
<DataMember>
Public Overridable Property DeviceConsumptions As List(Of DeviceConsumption)
End Class
<DataContract>
Public Partial Class DeviceConsumption
<DataMember>
Public Overridable Property Guid As Guid
<DataMember>
Public Overridable Property DeviceReading As Nullable(Of Double)
<DataMember>
Public Overridable Property DeviceReadingDate As Nullable(Of Date)
<DataMember>
Public Overridable Property DeviceReadingKind As DeviceReadingKind
<DataMember>
Public Overridable Property ChangeDate As Nullable(Of Date)
<DataMember>
Public Overridable Property Note As String
<DataMember>
Public Overridable Property AmpouleColour As String
<DataMember>
Public Overridable Property DeviceGuid As String
End Class
End Namespace
Namespace Eras2Web.Service.Desktop.Server.ServiceModel.Stammdaten
<DataContract>
Public Partial Class DeviceCatalog
<DataMember(Name:="Guid")>
Public Overridable Property Guid As String
<DataMember(Name:="TypKurz")>
Public Overridable Property TypeShort As String
<DataMember(Name:="TypLang")>
Public Overridable Property TypeLong As String
<DataMember(Name:="Ablesbar")>
Public Overridable Property Readable As Boolean
<DataMember(Name:="Klasse")>
Public Overridable Property [Class] As String
<DataMember(Name:="Abzug")>
Public Overridable Property Subtraction As Boolean
<DataMember(Name:="Hkvv")>
Public Overridable Property Hkvv As Boolean
<DataMember(Name:="Funk")>
Public Overridable Property Radio As Boolean
End Class
End Namespace
End Namespace
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: brendle-schneider-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
}
}
}