Tax Filing Service

<back to all web services

BatchValidiereAuthentifiziereSendeUndDrucke

SyncBearbeiteVorgangValidiereAuthentifiziereSendeDruckeBatch

A synchronous service to validate, authenticate, send a batch of tax data and print their transfer protocols.

Requires Authentication
The following routes are available for this service:
POST/BatchValidiereAuthentifiziereSendeUndDrucke
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports PwC.xEric.Core.Services.Contracts.Requests
Imports PwC.xEric.Core.Domain.Concretes.Models
Imports PwC.DigitalHub.Utilities.IO.Core.Contracts.Models

Namespace Global

    Namespace PwC.DigitalHub.Utilities.IO.Core.Contracts.Models

        '''<Summary>
        '''Represents a base class for a file with raw data.
        '''</Summary>
        <Api(Description:="Represents a base class for a file with raw data.")>
        Public Partial Class FileBase
            Public Sub New()
                Content = New Byte(){}
            End Sub

            '''<Summary>
            '''The raw data content of the file.
            '''</Summary>
            <ApiMember(Description:="The raw data content of the file.", Name:="Content")>
            Public Overridable Property Content As Byte()
        End Class
    End Namespace

    Namespace PwC.xEric.Core.Domain.Concretes.Models

        '''<Summary>
        '''Represents a portal certificate that is protected by a password.
        '''</Summary>
        <Api(Description:="Represents a portal certificate that is protected by a password.")>
        Public Partial Class PortalCertificate
            Inherits FileBase
            Implements ISecuredCertificate
            Implements IHasIndex
            Public Sub New()
                Tags = New List(Of String)
                Content = New Byte(){}
            End Sub

            '''<Summary>
            '''The unique identifier of the certificate.
            '''</Summary>
            <ApiMember(Description:="The unique identifier of the certificate.")>
            Public Overridable Property Id As Guid

            '''<Summary>
            '''The position of the certificate element in an indexed collection of certificates.
            '''</Summary>
            <ApiMember(Description:="The position of the certificate element in an indexed collection of certificates.")>
            Public Overridable Property Index As Integer

            '''<Summary>
            '''The password to protect the certificate from unauthorized access.
            '''</Summary>
            <StringLength(255)>
            <ApiMember(Description:="The password to protect the certificate from unauthorized access.")>
            Public Overridable Property Pin As String

            '''<Summary>
            '''The description of the certificate.
            '''</Summary>
            <StringLength(Integer.MaxValue)>
            <ApiMember(Description:="The description of the certificate.")>
            Public Overridable Property Description As String

            '''<Summary>
            '''Tags that can be used to label or identify the certificate.
            '''</Summary>
            <ApiMember(Description:="Tags that can be used to label or identify the certificate.")>
            Public Overridable Property Tags As List(Of String)

            '''<Summary>
            '''Gets or sets the file name of the certificate.
            '''</Summary>
            <ApiMember(Description:="Gets or sets the file name of the certificate.")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The raw data content of the file.
            '''</Summary>
            <ApiMember(Description:="The raw data content of the file.", Name:="Content")>
            Public Overridable Property Content As Byte()
        End Class

        '''<Summary>
        '''Represents a structure that encapsulates a tax declaration.
        '''</Summary>
        <Api(Description:="Represents a structure that encapsulates a tax declaration.")>
        Public Partial Class TaxData
            '''<Summary>
            '''The unique identifier of the tax data.
            '''</Summary>
            <ApiMember(Description:="The unique identifier of the tax data.", IsRequired:=true)>
            Public Overridable Property Id As String

            '''<Summary>
            '''The XML-based tax declaration.
            '''</Summary>
            <ApiMember(Description:="The XML-based tax declaration.", IsRequired:=true)>
            Public Overridable Property Content As String
        End Class
    End Namespace

    Namespace PwC.xEric.Core.Services.Contracts.Requests

        '''<Summary>
        '''A base service to process a batch of tax data.
        '''</Summary>
        <Api(Description:="A base service to process a batch of tax data.")>
        Public Partial Class BatchBearbeiteVorgangBase
            Implements IPost
            Public Sub New()
                Data = New List(Of TaxData)
            End Sub

            '''<Summary>
            '''The batch of tax data to process.
            '''</Summary>
            <ApiMember(Description:="The batch of tax data to process.", Name:="Data")>
            Public Overridable Property Data As List(Of TaxData)
        End Class

        '''<Summary>
        '''A synchronous service to validate, authenticate, send a batch of tax data and print their transfer protocols.
        '''</Summary>
        <Api(Description:="A synchronous service to validate, authenticate, send a batch of tax data and print their transfer protocols.")>
        Public Partial Class BatchValidiereAuthentifiziereSendeUndDrucke
            Inherits BatchValidiereAuthentifiziereSendeUndDruckeBase
            Public Sub New()
                Data = New List(Of TaxData)
            End Sub

            '''<Summary>
            '''Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.
            '''</Summary>
            <ApiMember(Description:="Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.")>
            Public Overridable Property DuplexDruck As Nullable(Of Boolean)

            '''<Summary>
            '''Base name of the generated PDF file. Each tax data file name shall be appended to this base name.
            '''</Summary>
            <ApiMember(Description:="Base name of the generated PDF file. Each tax data file name shall be appended to this base name.")>
            Public Overridable Property ProtocolPrefix As String

            '''<Summary>
            '''Footer text to be used on the printout (optional).
            '''</Summary>
            <ApiMember(Description:="Footer text to be used on the printout (optional).")>
            Public Overridable Property FussText As String

            '''<Summary>
            '''The authentification certificate.
            '''</Summary>
            <ApiMember(Description:="The authentification certificate.")>
            Public Overridable Property Zertifikat As PortalCertificate

            '''<Summary>
            '''Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.
            '''</Summary>
            <ApiMember(Description:="Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.", Name:="AbrufCode")>
            Public Overridable Property AbrufCode As String

            '''<Summary>
            '''The details of the provider that submits tax data.
            '''</Summary>
            <ApiMember(Description:="The details of the provider that submits tax data.", Name:="DatenLieferant")>
            Public Overridable Property DatenLieferant As String

            '''<Summary>
            '''The batch of tax data to process.
            '''</Summary>
            <ApiMember(Description:="The batch of tax data to process.", Name:="Data")>
            Public Overridable Property Data As List(Of TaxData)
        End Class

        '''<Summary>
        '''A base service to validate, authenticate, send and print a batch of tax data.
        '''</Summary>
        <Api(Description:="A base service to validate, authenticate, send and print a batch of tax data.")>
        Public Partial Class BatchValidiereAuthentifiziereSendeUndDruckeBase
            Inherits BatchBearbeiteVorgangBase
            Implements IDruckRequest
            Implements IVeschlueselungsRequest
            Implements ISendeRequest
            Public Sub New()
                Data = New List(Of TaxData)
            End Sub

            '''<Summary>
            '''Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.
            '''</Summary>
            <ApiMember(Description:="Should the PDF file be prepared for a double-sided printout with a margin for punching?.  True: The straight sides are indented to the left for a stitching margin for punching. False: There is no indentation of the straight sides. The created PDF is only intended for printing pages page by page.")>
            Public Overridable Property DuplexDruck As Nullable(Of Boolean)

            '''<Summary>
            '''Base name of the generated PDF file. Each tax data file name shall be appended to this base name.
            '''</Summary>
            <ApiMember(Description:="Base name of the generated PDF file. Each tax data file name shall be appended to this base name.")>
            Public Overridable Property ProtocolPrefix As String

            '''<Summary>
            '''Footer text to be used on the printout (optional).
            '''</Summary>
            <ApiMember(Description:="Footer text to be used on the printout (optional).")>
            Public Overridable Property FussText As String

            '''<Summary>
            '''The authentification certificate.
            '''</Summary>
            <ApiMember(Description:="The authentification certificate.")>
            Public Overridable Property Zertifikat As PortalCertificate

            '''<Summary>
            '''Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.
            '''</Summary>
            <ApiMember(Description:="Gets or sets the retrieval code. This value MUST be given for the tax operation ElsterDatenabholung and tax data type ElsterVaStDaten, for which a SoftPSE certificate is used to sign.In other cases a null value should be given. It consists of 2 x 5 characters, which are joined by  '-'. Example: 'K6FG5 - RS32P'.", Name:="AbrufCode")>
            Public Overridable Property AbrufCode As String

            '''<Summary>
            '''The details of the provider that submits tax data.
            '''</Summary>
            <ApiMember(Description:="The details of the provider that submits tax data.", Name:="DatenLieferant")>
            Public Overridable Property DatenLieferant As String

            '''<Summary>
            '''The batch of tax data to process.
            '''</Summary>
            <ApiMember(Description:="The batch of tax data to process.", Name:="Data")>
            Public Overridable Property Data As List(Of TaxData)
        End Class
    End Namespace
End Namespace

VB.NET BatchValidiereAuthentifiziereSendeUndDrucke DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /BatchValidiereAuthentifiziereSendeUndDrucke HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<BatchValidiereAuthentifiziereSendeUndDrucke 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>
  <AbrufCode>String</AbrufCode>
  <DatenLieferant>String</DatenLieferant>
  <DuplexDruck>false</DuplexDruck>
  <FussText>String</FussText>
  <ProtocolPrefix>String</ProtocolPrefix>
  <Zertifikat xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Domain.Concretes.Models">
    <Content xmlns="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.IO.Core.Contracts.Models">AA==</Content>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
    <d2p1:Index>0</d2p1:Index>
    <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>
</BatchValidiereAuthentifiziereSendeUndDrucke>
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>BW</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.Concretes.Models">
      <d3p1:BinaryFile>
        <Content xmlns="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.IO.Core.Contracts.Models">AA==</Content>
        <d3p1:Metadata xmlns:d5p1="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.IO.Core.Concretes.Models">
          <d5p1: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>
          </d5p1:Extensions>
          <d5p1:FullName>String</d5p1:FullName>
          <d5p1:GroupCanExecute>false</d5p1:GroupCanExecute>
          <d5p1:GroupCanRead>false</d5p1:GroupCanRead>
          <d5p1:GroupCanWrite>false</d5p1:GroupCanWrite>
          <d5p1:GroupId>0</d5p1:GroupId>
          <d5p1:LastAccessTime>0001-01-01T00:00:00</d5p1:LastAccessTime>
          <d5p1:LastAccessTimeUtc>0001-01-01T00:00:00</d5p1:LastAccessTimeUtc>
          <d5p1:LastWriteTime>0001-01-01T00:00:00</d5p1:LastWriteTime>
          <d5p1:LastWriteTimeUtc>0001-01-01T00:00:00</d5p1:LastWriteTimeUtc>
          <d5p1:Length>0</d5p1:Length>
          <d5p1:Name>String</d5p1:Name>
          <d5p1:OthersCanExecute>false</d5p1:OthersCanExecute>
          <d5p1:OthersCanRead>false</d5p1:OthersCanRead>
          <d5p1:OthersCanWrite>false</d5p1:OthersCanWrite>
          <d5p1:OwnerCanExecute>false</d5p1:OwnerCanExecute>
          <d5p1:OwnerCanRead>false</d5p1:OwnerCanRead>
          <d5p1:OwnerCanWrite>false</d5p1:OwnerCanWrite>
          <d5p1:UserId>0</d5p1:UserId>
        </d3p1:Metadata>
        <d3p1:Name>String</d3p1:Name>
      </d3p1:BinaryFile>
    </TransferProtocols>
  </BearbeiteVorgangResponse>
</ArrayOfBearbeiteVorgangResponse>