| POST | /api/v1/external/lobaro |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLobaroDefaultDeviceParsedDataResponse:
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Pagination:
limit: int = 0
total: int = 0
offset: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class History:
time: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompactProfile:
history: Optional[List[History]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MbusBodyDataRecords:
vif_unit: Optional[str] = None
vif_quantity: Optional[str] = None
value_scaled: float = 0.0
vif_exponent: Optional[str] = None
value_string: Optional[str] = None
value: Optional[str] = None
dif_function_string: Optional[str] = None
storage_no: Optional[str] = None
compact_profile: Optional[CompactProfile] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MbusBody:
data_records: Optional[List[MbusBodyDataRecords]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Header:
id_string: int = 0
device_string: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeviceMbusData:
id_string: int = 0
device_string: Optional[str] = None
body: Optional[MbusBody] = None
header: Optional[Header] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeviceData:
mbus: Optional[DeviceMbusData] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LobaroData:
id: int = 0
device_id: int = 0
created_at: datetime.datetime = datetime.datetime(1, 1, 1)
updated_at: datetime.datetime = datetime.datetime(1, 1, 1)
data: Optional[DeviceData] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLobaroDefaultDeviceParsedData:
# @ApiMember(IsRequired=true, ParameterType="body")
pagination: Optional[Pagination] = None
# @ApiMember(IsRequired=true, ParameterType="body")
data: Optional[List[LobaroData]] = None
Python GetLobaroDefaultDeviceParsedData DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/v1/external/lobaro HTTP/1.1
Host: mdf-servdesk.eras-online.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetLobaroDefaultDeviceParsedData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Lobaro">
<Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Lobaro.LobaroModels">
<d2p1:LobaroData>
<d2p1:CreatedAt>0001-01-01T00:00:00</d2p1:CreatedAt>
<d2p1:Data>
<d2p1:Mbus>
<d2p1:Body>
<d2p1:DataRecords>
<d2p1:MbusBodyDataRecords>
<d2p1:CompactProfile>
<d2p1:History>
<d2p1:History>
<d2p1:Time>String</d2p1:Time>
<d2p1:Value>String</d2p1:Value>
</d2p1:History>
</d2p1:History>
</d2p1:CompactProfile>
<d2p1:DifFunctionString>String</d2p1:DifFunctionString>
<d2p1:StorageNo>String</d2p1:StorageNo>
<d2p1:Value>String</d2p1:Value>
<d2p1:ValueScaled>0</d2p1:ValueScaled>
<d2p1:ValueString>String</d2p1:ValueString>
<d2p1:VifExponent>String</d2p1:VifExponent>
<d2p1:VifQuantity>String</d2p1:VifQuantity>
<d2p1:VifUnit>String</d2p1:VifUnit>
</d2p1:MbusBodyDataRecords>
</d2p1:DataRecords>
</d2p1:Body>
<d2p1:DeviceString>String</d2p1:DeviceString>
<d2p1:Header>
<d2p1:DeviceString>String</d2p1:DeviceString>
<d2p1:IdString>0</d2p1:IdString>
</d2p1:Header>
<d2p1:IdString>0</d2p1:IdString>
</d2p1:Mbus>
</d2p1:Data>
<d2p1:DeviceId>0</d2p1:DeviceId>
<d2p1:Id>0</d2p1:Id>
<d2p1:UpdatedAt>0001-01-01T00:00:00</d2p1:UpdatedAt>
</d2p1:LobaroData>
</Data>
<Pagination xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Lobaro.LobaroModels">
<d2p1:Limit>0</d2p1:Limit>
<d2p1:Offset>0</d2p1:Offset>
<d2p1:Total>0</d2p1:Total>
</Pagination>
</GetLobaroDefaultDeviceParsedData>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetLobaroDefaultDeviceParsedDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Lobaro">
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1: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>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1: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>
</d2p1:Meta>
</ResponseStatus>
</GetLobaroDefaultDeviceParsedDataResponse>