| POST | /BatchValidiereAuthentifiziereUndSendeAsync |
|---|
import Foundation
import ServiceStack
/**
* An asynchronous service to validate, authenticate and send tax data to the fiscal authorities.
*/
// @Api(Description="An asynchronous service to validate, authenticate and send tax data to the fiscal authorities.")
public class BatchValidiereAuthentifiziereUndSendeAsync : BatchValidiereAuthentifiziereUndSendeBase
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
/**
* A base service to validate, authenticate and send tax data to the fiscal authorities.
*/
// @Api(Description="A base service to validate, authenticate and send tax data to the fiscal authorities.")
public class BatchValidiereAuthentifiziereUndSendeBase : BatchBearbeiteVorgangBase, IVeschlueselungsRequest, ISendeRequest
{
/**
* The authentification certificate.
*/
// @ApiMember(Description="The authentification certificate.")
public var zertifikat:PortalCertificate
/**
* The details of the provider that submits tax data.
*/
// @ApiMember(Description="The details of the provider that submits tax data.")
public var datenLieferant:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case zertifikat
case datenLieferant
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
zertifikat = try container.decodeIfPresent(PortalCertificate.self, forKey: .zertifikat)
datenLieferant = try container.decodeIfPresent(String.self, forKey: .datenLieferant)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if zertifikat != nil { try container.encode(zertifikat, forKey: .zertifikat) }
if datenLieferant != nil { try container.encode(datenLieferant, forKey: .datenLieferant) }
}
}
/**
* A base service to process a batch of tax data.
*/
// @Api(Description="A base service to process a batch of tax data.")
public class BatchBearbeiteVorgangBase : IPost, Codable
{
/**
* The batch of tax data to process.
*/
// @ApiMember(Description="The batch of tax data to process.")
public var data:[TaxData] = []
required public init(){}
}
/**
* Represents a structure that encapsulates a tax declaration.
*/
// @Api(Description="Represents a structure that encapsulates a tax declaration.")
public class TaxData : Codable
{
/**
* The unique identifier of the tax data.
*/
// @ApiMember(Description="The unique identifier of the tax data.", IsRequired=true)
public var id:String
/**
* The XML-based tax declaration.
*/
// @ApiMember(Description="The XML-based tax declaration.", IsRequired=true)
public var content:String
required public init(){}
}
/**
* Represents a portal certificate that is protected by a password.
*/
// @Api(Description="Represents a portal certificate that is protected by a password.")
public class PortalCertificate : FileBase, ISecuredCertificate
{
/**
* The file name of the certificate.
*/
// @ApiMember(Description="The file name of the certificate.")
// @StringLength(128)
public var name:String
/**
* The password to protect the certificate from unauthorized access.
*/
// @StringLength(255)
// @ApiMember(Description="The password to protect the certificate from unauthorized access.")
public var pin:String
/**
* The description of the certificate.
*/
// @StringLength(Int32.max)
// @ApiMember(Description="The description of the certificate.")
public var Description:String
/**
* Tags that can be used to label or identify the certificate.
*/
// @ApiMember(Description="Tags that can be used to label or identify the certificate.")
public var tags:[String] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case name
case pin
case Description
case tags
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
name = try container.decodeIfPresent(String.self, forKey: .name)
pin = try container.decodeIfPresent(String.self, forKey: .pin)
Description = try container.decodeIfPresent(String.self, forKey: .Description)
tags = try container.decodeIfPresent([String].self, forKey: .tags) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if name != nil { try container.encode(name, forKey: .name) }
if pin != nil { try container.encode(pin, forKey: .pin) }
if Description != nil { try container.encode(Description, forKey: .Description) }
if tags.count > 0 { try container.encode(tags, forKey: .tags) }
}
}
/**
* Represents a base class for a file with raw data.
*/
// @Api(Description="Represents a base class for a file with raw data.")
public class FileBase : Codable
{
/**
* The raw data content of the file in bytes.
*/
// @ApiMember(Description="The raw data content of the file in bytes.", Name="Content")
public var content:[UInt8]
required public init(){}
}
Swift BatchValidiereAuthentifiziereUndSendeAsync 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 /BatchValidiereAuthentifiziereUndSendeAsync HTTP/1.1
Host: taxfiling.staging.pwc.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<BatchValidiereAuthentifiziereUndSendeAsync xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Requests">
<Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Domain.Concretes.Models">
<d2p1:TaxData>
<d2p1:Content>String</d2p1:Content>
<d2p1:Id>String</d2p1:Id>
</d2p1:TaxData>
</Data>
<DatenLieferant>String</DatenLieferant>
<Zertifikat xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Domain.Concretes.Certificates">
<Content xmlns="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.Domain.IO.Contracts">AA==</Content>
<d2p1:Description>String</d2p1:Description>
<d2p1:Name>String</d2p1:Name>
<d2p1:Pin>String</d2p1:Pin>
<d2p1:Tags xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</d2p1:Tags>
</Zertifikat>
</BatchValidiereAuthentifiziereUndSendeAsync>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ArrayOfBearbeiteVorgangResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">
<BearbeiteVorgangResponse>
<Id>String</Id>
<Index>0</Index>
<ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
<d3p1:ErrorCode>String</d3p1:ErrorCode>
<d3p1:Message>String</d3p1:Message>
<d3p1:StackTrace>String</d3p1:StackTrace>
<d3p1:Errors>
<d3p1:ResponseError>
<d3p1:ErrorCode>String</d3p1:ErrorCode>
<d3p1:FieldName>String</d3p1:FieldName>
<d3p1:Message>String</d3p1:Message>
<d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfstringstring>
<d6p1:Key>String</d6p1:Key>
<d6p1:Value>String</d6p1:Value>
</d6p1:KeyValueOfstringstring>
</d3p1:Meta>
</d3p1:ResponseError>
</d3p1:Errors>
<d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</d3p1:Meta>
</ResponseStatus>
<StatusCode>ERIC_OK</StatusCode>
<StatusText>String</StatusText>
<Rueckgabe>
<Erfolg>
<Telenummer>String</Telenummer>
<Ordnungsbegriff>String</Ordnungsbegriff>
</Erfolg>
<Transfers>
<Transfer>
<TransferTicket>String</TransferTicket>
</Transfer>
</Transfers>
<FehlerRegelpruefung>
<Nutzdatenticket>String</Nutzdatenticket>
<Feldidentifikator>String</Feldidentifikator>
<Mehrfachzeilenindex>String</Mehrfachzeilenindex>
<LfdNrVordruck>String</LfdNrVordruck>
<VordruckZeilennummer>String</VordruckZeilennummer>
<SemantischerIndex Name="String">String</SemantischerIndex>
<Untersachbereich>String</Untersachbereich>
<PrivateKennnummer>String</PrivateKennnummer>
<RegelName>String</RegelName>
<FachlicheFehlerId>String</FachlicheFehlerId>
<Text>String</Text>
</FehlerRegelpruefung>
<Hinweis>
<Nutzdatenticket>String</Nutzdatenticket>
<Feldidentifikator>String</Feldidentifikator>
<Mehrfachzeilenindex>String</Mehrfachzeilenindex>
<LfdNrVordruck>String</LfdNrVordruck>
<VordruckZeilennummer>String</VordruckZeilennummer>
<SemantischerIndex Name="String">String</SemantischerIndex>
<Untersachbereich>String</Untersachbereich>
<PrivateKennnummer>String</PrivateKennnummer>
<RegelName>String</RegelName>
<FachlicheHinweisId>String</FachlicheHinweisId>
<Text>String</Text>
</Hinweis>
</Rueckgabe>
<Serverantwort>
<TransferHeader version="String">
<Verfahren>ElsterAnmeldung</Verfahren>
<DatenArt>34a</DatenArt>
<Vorgang>send-Auth</Vorgang>
<TransferTicket>String</TransferTicket>
<Testmerker>0</Testmerker>
<SigUser />
<Empfaenger id="String">
<Ziel>String</Ziel>
</Empfaenger>
<HerstellerID>String</HerstellerID>
<DatenLieferant>String</DatenLieferant>
<EingangsDatum>00010101000000</EingangsDatum>
<Datei>
<Verschluesselung>PKCS#7v1.5</Verschluesselung>
<Kompression>GZIP</Kompression>
<TransportSchluessel>String</TransportSchluessel>
<Erstellung>
<Eric />
</Erstellung>
</Datei>
<RC>
<Rueckgabe>
<Code>String</Code>
<Text>String</Text>
</Rueckgabe>
<Stack>
<Code>String</Code>
<Text>String</Text>
</Stack>
</RC>
<VersionClient>String</VersionClient>
<Zusatz>
<Info>String</Info>
<ElsterInfo>String</ElsterInfo>
</Zusatz>
</TransferHeader>
<DatenTeil>
<Nutzdatenblock>
<NutzdatenHeader version="String">
<NutzdatenTicket>String</NutzdatenTicket>
<Empfaenger id="L">String</Empfaenger>
<Hersteller>
<ProduktName>String</ProduktName>
<ProduktVersion>String</ProduktVersion>
</Hersteller>
<DatenLieferant>String</DatenLieferant>
<RC>
<Rueckgabe>
<Code>String</Code>
<Text>String</Text>
</Rueckgabe>
<Stack>
<Code>String</Code>
<Text>String</Text>
</Stack>
</RC>
<Zusatz>
<Info>String</Info>
<ElsterInfo>String</ElsterInfo>
</Zusatz>
</NutzdatenHeader>
<Nutzdaten />
</Nutzdatenblock>
</DatenTeil>
</Serverantwort>
<TransferProtocols xmlns:d3p1="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.IO.Core.Concretes.Models">
<d3p1:BinaryFile>
<Content xmlns="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.Domain.IO.Contracts">AA==</Content>
<d3p1:Metadata>
<d3p1:Extensions xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfstringstring>
<d6p1:Key>String</d6p1:Key>
<d6p1:Value>String</d6p1:Value>
</d6p1:KeyValueOfstringstring>
</d3p1:Extensions>
<d3p1:FullName>String</d3p1:FullName>
<d3p1:GroupCanExecute>false</d3p1:GroupCanExecute>
<d3p1:GroupCanRead>false</d3p1:GroupCanRead>
<d3p1:GroupCanWrite>false</d3p1:GroupCanWrite>
<d3p1:GroupId>0</d3p1:GroupId>
<d3p1:LastAccessTime>0001-01-01T00:00:00</d3p1:LastAccessTime>
<d3p1:LastAccessTimeUtc>0001-01-01T00:00:00</d3p1:LastAccessTimeUtc>
<d3p1:LastWriteTime>0001-01-01T00:00:00</d3p1:LastWriteTime>
<d3p1:LastWriteTimeUtc>0001-01-01T00:00:00</d3p1:LastWriteTimeUtc>
<d3p1:Length>0</d3p1:Length>
<d3p1:Name>String</d3p1:Name>
<d3p1:OthersCanExecute>false</d3p1:OthersCanExecute>
<d3p1:OthersCanRead>false</d3p1:OthersCanRead>
<d3p1:OthersCanWrite>false</d3p1:OthersCanWrite>
<d3p1:OwnerCanExecute>false</d3p1:OwnerCanExecute>
<d3p1:OwnerCanRead>false</d3p1:OwnerCanRead>
<d3p1:OwnerCanWrite>false</d3p1:OwnerCanWrite>
<d3p1:UserId>0</d3p1:UserId>
</d3p1:Metadata>
<d3p1:Name>String</d3p1:Name>
</d3p1:BinaryFile>
</TransferProtocols>
</BearbeiteVorgangResponse>
</ArrayOfBearbeiteVorgangResponse>