| GET | /App/{UserId}/Stammdaten |
|---|
import Foundation
import ServiceStack
// @DataContract
public class GetStammdaten : Codable
{
required public init(){}
}
public class GetStammdatenResponse : Codable
{
// @DataMember(Name="StammdatenInfo")
public var StammdatenInfo:StammdatenInfo
// @DataMember(Name="GeraeteKatalog")
public var GeraeteKatalog:IList<DeviceCatalog>
// @DataMember(Name="Hersteller")
public var Hersteller:IList<Manufacturer>
// @DataMember(Name="Geraetetypen")
public var Geraetetypen:IList<DeviceKind>
// @DataMember(Name="Artikel")
public var Artikel:IList<Article>
// @DataMember(Name="KommunikationFunktionen")
public var KommunikationFunktionen:IList<CommunicationFeature>
// @DataMember(Name="Ablesearten")
public var Ablesearten:IList<ReadingKind>
// @DataMember(Name="Infoschluessel")
public var Infoschluessel:IList<AmwInfoKey>
// @DataMember(Name="Zusatzartikel")
public var Zusatzartikel:IList<AdditionalArticle>
// @DataMember(Name="Raeume")
public var Raeume:IList<Room>
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class StammdatenInfo : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Version")
public var Version:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
required public init(){}
}
// @DataContract
public class DeviceCatalog : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="ArtikelName")
public var ArtikelName:String
// @DataMember(Name="ArtikelNummer")
public var ArtikelNummer:String
// @DataMember(Name="ArtikelBeschreibung")
public var ArtikelBeschreibung:String
// @DataMember(Name="ArtikelnummerHersteller")
public var ArtikelnummerHersteller:String
// @DataMember(Name="Kurzbezeichnung")
public var Kurzbezeichnung:String
// @DataMember(Name="Abzug")
public var Abzug:Bool
// @DataMember(Name="Hkvv")
public var Hkvv:Bool
// @DataMember(Name="Funk")
public var Funk:Bool
// @DataMember(Name="Bestellnummer")
public var Bestellnummer:String
// @DataMember(Name="Baulaenge")
public var Baulaenge:String
// @DataMember(Name="Anschluss")
public var Anschluss:String
// @DataMember(Name="Qn")
public var Qn:String
// @DataMember(Name="SontexFunkID")
public var SontexFunkID:String
// @DataMember(Name="SontexHKVKennung")
public var SontexHKVKennung:String
// @DataMember(Name="Memo")
public var Memo:String
// @DataMember(Name="DeviceKindGuid")
public var DeviceKindGuid:String
// @DataMember(Name="ManufacturerGuid")
public var ManufacturerGuid:String
required public init(){}
}
// @DataContract
public class Manufacturer : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Name")
public var Name:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
required public init(){}
}
// @DataContract
public class DeviceKind : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="GeraeteTypLang")
public var GeraeteTypLang:String
// @DataMember(Name="GeraeteTypKurz")
public var GeraeteTypKurz:String
// @DataMember(Name="Ablesbar")
public var Ablesbar:Bool
// @DataMember(Name="GeraeteKlasse")
public var GeraeteKlasse:DeviceClass?
// @DataMember(Name="Limit")
public var Limit:Double?
required public init(){}
}
public enum DeviceClass : String, Codable
{
case HKV
case WWZ
case KWZ
case WZ
case WMZ
case KMZ
case RM
case SZ
case FM
case Sonstige
case Null
case ENT
}
// @DataContract
public class Article : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Artikelnummer")
public var Artikelnummer:String
// @DataMember(Name="Bezeichnung")
public var Bezeichnung:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
required public init(){}
}
// @DataContract
public class CommunicationFeature : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Funktion")
public var Funktion:String
// @DataMember(Name="Typ")
public var Typ:CommunicationKind?
// @DataMember(Name="IstVorgegeben")
public var IstVorgegeben:Bool
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
required public init(){}
}
public enum CommunicationKind : Int, Codable
{
case Telefon = 1
case Mobil = 2
case Fax = 3
case EMail = 4
case Web = 5
}
// @DataContract
public class ReadingKind : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Kurzbezeichnung")
public var Kurzbezeichnung:String
// @DataMember(Name="Langbezeichnung")
public var Langbezeichnung:String
required public init(){}
}
// @DataContract
public class AmwInfoKey : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Key")
public var Key:Int
// @DataMember(Name="Info")
public var Info:String
required public init(){}
}
// @DataContract
public class AdditionalArticle : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Nummer")
public var Nummer:String
// @DataMember(Name="Bezeichnung")
public var Bezeichnung:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
required public init(){}
}
// @DataContract
public class Room : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Kurzbezeichnung")
public var Kurzbezeichnung:String
// @DataMember(Name="Bezeichnung")
public var Bezeichnung:String
required public init(){}
}
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 /App/{UserId}/Stammdaten HTTP/1.1
Host: stage-servamw.eras-online.de
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
StammdatenInfo:
{
Guid: 00000000000000000000000000000000,
Version: String,
Anmerkung: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}