| POST | /api/v1/external/kromer |
|---|
namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Lobaro
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type GetLobaroKromerDeviceParsedDataResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type Pagination() =
member val Limit:Int32 = new Int32() with get,set
member val Total:Int32 = new Int32() with get,set
member val Offset:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type History() =
member val Time:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type CompactProfile() =
member val History:ResizeArray<History> = new ResizeArray<History>() with get,set
[<AllowNullLiteral>]
type MbusBodyDataRecords() =
member val VifUnit:String = null with get,set
member val VifQuantity:String = null with get,set
member val ValueScaled:Double = new Double() with get,set
member val VifExponent:String = null with get,set
member val ValueString:String = null with get,set
member val Value:String = null with get,set
member val DifFunctionString:String = null with get,set
member val StorageNo:String = null with get,set
member val CompactProfile:CompactProfile = null with get,set
[<AllowNullLiteral>]
type MbusBody() =
member val DataRecords:ResizeArray<MbusBodyDataRecords> = new ResizeArray<MbusBodyDataRecords>() with get,set
[<AllowNullLiteral>]
type Header() =
member val IdString:Int32 = new Int32() with get,set
member val DeviceString:String = null with get,set
[<AllowNullLiteral>]
type DeviceMbusData() =
member val IdString:Int32 = new Int32() with get,set
member val DeviceString:String = null with get,set
member val Body:MbusBody = null with get,set
member val Header:Header = null with get,set
[<AllowNullLiteral>]
type DeviceData() =
member val Mbus:DeviceMbusData = null with get,set
[<AllowNullLiteral>]
type LobaroData() =
member val Id:Int32 = new Int32() with get,set
member val DeviceId:Int32 = new Int32() with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
member val UpdatedAt:DateTime = new DateTime() with get,set
member val Data:DeviceData = null with get,set
[<AllowNullLiteral>]
type GetLobaroKromerDeviceParsedData() =
[<ApiMember(IsRequired=true, ParameterType="body")>]
member val Pagination:Pagination = null with get,set
[<ApiMember(IsRequired=true, ParameterType="body")>]
member val Data:ResizeArray<LobaroData> = new ResizeArray<LobaroData>() with get,set
F# GetLobaroKromerDeviceParsedData DTOs
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.
POST /api/v1/external/kromer HTTP/1.1
Host: inea-servdesk.eras-online.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
pagination:
{
limit: 0,
total: 0,
offset: 0
},
data:
[
{
id: 0,
deviceId: 0,
createdAt: 0001-01-01T00:00:00Z,
updatedAt: 0001-01-01T00:00:00Z,
data:
{
mbus:
{
idString: 0,
deviceString: String,
body:
{
dataRecords:
[
{
vifUnit: String,
vifQuantity: String,
valueScaled: 0,
vifExponent: String,
valueString: String,
value: String,
difFunctionString: String,
storageNo: String,
compactProfile:
{
history:
[
{
time: String,
value: String
}
]
}
}
]
},
header:
{
idString: 0,
deviceString: String
}
}
}
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}