POST | /CreateLegacyUstXmlFromDefinition | A synchronous service to create xml content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions. |
---|
import Foundation
import ServiceStack
/**
* A synchronous service to create XML content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions.
*/
// @Api(Description="A synchronous service to create XML content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions. ")
public class CreateLegacyUstXmlFromDefinition : CreateLegacyUstXmlFromDefinitionBase
{
/**
* The 4-digit year of the tax assessment.
*/
// @ApiMember(Description="The 4-digit year of the tax assessment.")
public var jahr:Int
/**
* Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.
*/
// @ApiMember(Description="Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.")
public var properties:[String:String] = [:]
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case jahr
case properties
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
jahr = try container.decodeIfPresent(Int.self, forKey: .jahr)
properties = try container.decodeIfPresent([String:String].self, forKey: .properties) ?? [:]
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if jahr != nil { try container.encode(jahr, forKey: .jahr) }
if properties.count > 0 { try container.encode(properties, forKey: .properties) }
}
}
/**
* Create XML content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions. Only applicable to assessment years 2018 - 2020
*/
// @Api(Description="Create XML content that represents an annual VAT return (Umsatzsteuerjahreserklärung) from the specified dictionary (hash map) of key/value definitions. Only applicable to assessment years 2018 - 2020")
public class CreateLegacyUstXmlFromDefinitionBase : CreateXmlFromDefinitionBase, IPost
{
/**
* The 4-digit year of the tax assessment.
*/
// @ApiMember(Description="The 4-digit year of the tax assessment.")
public var jahr:Int
/**
* Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.
*/
// @ApiMember(Description="Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.")
public var properties:[String:String] = [:]
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case jahr
case properties
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
jahr = try container.decodeIfPresent(Int.self, forKey: .jahr)
properties = try container.decodeIfPresent([String:String].self, forKey: .properties) ?? [:]
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if jahr != nil { try container.encode(jahr, forKey: .jahr) }
if properties.count > 0 { try container.encode(properties, forKey: .properties) }
}
}
/**
* Create a VAT return from a dictionary (hash map) of key/value definitions with a dictionary (hash map) of properties.
*/
// @Api(Description="Create a VAT return from a dictionary (hash map) of key/value definitions with a dictionary (hash map) of properties.")
public class CreateXmlFromDefinitionBase : Codable
{
/**
* The 4-digit year of the tax assessment.
*/
// @ApiMember(Description="The 4-digit year of the tax assessment.")
public var jahr:Int
/**
* Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.
*/
// @ApiMember(Description="Dictionary of key-value pairs that represent the intrinsic properties of the VAT return. Each key represents a name of the VAT property.Each value of the pair represents the VAT property value.")
public var properties:[String:String] = [:]
required public init(){}
}
/**
* Represents the response from a service that generates XML content.
*/
// @Api(Description="Represents the response from a service that generates XML content.")
public class XmlResponse : Codable
{
/**
* The XML-based content of the response.
*/
// @ApiMember(Description="The XML-based content of the response.")
public var content:String
/**
* Metadata that contains structured error information on the XML response.
*/
// @ApiMember(Description="Metadata that contains structured error information on the XML response.")
public var responseStatus:ResponseStatus
required public init(){}
}
Swift CreateLegacyUstXmlFromDefinition 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 /CreateLegacyUstXmlFromDefinition HTTP/1.1
Host: taxfiling.pwc.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateLegacyUstXmlFromDefinition xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Umsatzsteuer.ReturnBuilder.Requests">
<Jahr>0</Jahr>
<Properties xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Properties>
</CreateLegacyUstXmlFromDefinition>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <XmlResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses"> <Content>String</Content> <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> </XmlResponse>