| POST | /Stammdaten |
|---|
import Foundation
import ServiceStack
// @DataContract
public class UpdateStammdaten : 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>
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(){}
}
public class UpdateStammdatenResponse : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Stammdaten HTTP/1.1
Host: messdienstservice-stadtwerke-peine-servamw.eras-online.de
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"StammdatenInfo":{"Guid":"00000000000000000000000000000000","Version":"String","Anmerkung":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}