Tax Filing Service

<back to all web services

BatchProtokollRequest17

SyncDatenabholungVerarbeitungsprotokolleBatch

Represents the service request to retrieve logs about tax statements.

Requires Authentication
The following routes are available for this service:
POST/datenabholungen/protokolle/17/verarbeitungsprotokoll/batch
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using PwC.xEric.Core.Services.Contracts.Datenabholungen.Requests.Protokolle;
using PwC.xEric.Core.Domain.Concretes.Models;
using PwC.DigitalHub.Utilities.IO.Core.Contracts.Models;
using PwC.xEric.Core.Domain.Concretes.Datenabholungen.Models;

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 FileBase()
        {
            Content = new byte[]{};
        }

        ///<summary>
        ///The raw data content of the file.
        ///</summary>
        [ApiMember(Description="The raw data content of the file.", Name="Content")]
        public virtual byte[] Content { get; set; }
    }

}

namespace PwC.xEric.Core.Domain.Concretes.Datenabholungen.Models
{
    ///<summary>
    ///Represents the request to retrieve tax assessments by means of a specfied ID.
    ///</summary>
    [Api(Description="Represents the request to retrieve tax assessments by means of a specfied ID.")]
    public partial class Abholung
    {
        ///<summary>
        ///The identifier of the data record.
        ///</summary>
        [ApiMember(Description="The identifier of the data record.")]
        public virtual string Id { get; set; }

        ///<summary>
        ///The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")]
        public virtual string Idnr { get; set; }

        ///<summary>
        ///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")]
        public virtual int? Veranlagungsjahr { get; set; }

        ///<summary>
        ///The transmission path used.
        ///</summary>
        [ApiMember(Description="The transmission path used.")]
        public virtual Uebertragungsweg? Uebertragungsweg { get; set; }

        ///<summary>
        ///The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        ///</summary>
        [ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")]
        public virtual string Encoding { get; set; }

        ///<summary>
        ///The client number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual string Mandantennummer { get; set; }

        ///<summary>
        ///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual string Steuernummer { get; set; }

        ///<summary>
        ///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual DateTime? Bescheiddatum { get; set; }

        ///<summary>
        ///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        ///</summary>
        [ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")]
        public virtual Datenpaket Datenpaket { get; set; }

        ///<summary>
        ///Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        ///</summary>
        [ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")]
        public virtual Download Download { get; set; }
    }

    ///<summary>
    ///Represents a request to retrieve data records by means of one or more IDs.
    ///</summary>
    [Api(Description="Represents a request to retrieve data records by means of one or more IDs.")]
    public partial class Abholung17
        : Abholung
    {
        ///<summary>
        ///The tax type (e.g. ESB) of the data record.
        ///</summary>
        [ApiMember(Description="The tax type (e.g. ESB) of the data record.")]
        public virtual Steuerart? Steuerart { get; set; }

        ///<summary>
        ///The meta information of the identifier.
        ///</summary>
        [ApiMember(Description="The meta information of the identifier.")]
        public virtual MetaInformationen17 MetaInformationen { get; set; }

        ///<summary>
        ///Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
        ///</summary>
        [ApiMember(Description="Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.")]
        public virtual string Bereitstellungsticket { get; set; }

        ///<summary>
        ///The attachments of the data records.
        ///</summary>
        [ApiMember(Description="The attachments of the data records.")]
        public virtual Anhaenge17 Anhaenge { get; set; }

        ///<summary>
        ///The identifier of the data record.
        ///</summary>
        [ApiMember(Description="The identifier of the data record.")]
        public virtual string Id { get; set; }

        ///<summary>
        ///The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")]
        public virtual string Idnr { get; set; }

        ///<summary>
        ///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")]
        public virtual int? Veranlagungsjahr { get; set; }

        ///<summary>
        ///The transmission path used.
        ///</summary>
        [ApiMember(Description="The transmission path used.")]
        public virtual Uebertragungsweg? Uebertragungsweg { get; set; }

        ///<summary>
        ///The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        ///</summary>
        [ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")]
        public virtual string Encoding { get; set; }

        ///<summary>
        ///The client number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual string Mandantennummer { get; set; }

        ///<summary>
        ///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual string Steuernummer { get; set; }

        ///<summary>
        ///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")]
        public virtual DateTime? Bescheiddatum { get; set; }

        ///<summary>
        ///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        ///</summary>
        [ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")]
        public virtual Datenpaket Datenpaket { get; set; }

        ///<summary>
        ///Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        ///</summary>
        [ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")]
        public virtual Download Download { get; set; }
    }

    ///<summary>
    ///Represents a list of attachments.
    ///</summary>
    public partial class Anhaenge17
    {
    }

    ///<summary>
    ///Specifies the encoding of the metadata.
    ///</summary>
    public enum Coding
    {
        text,
        base64,
    }

    ///<summary>
    ///The data packet from the retrieval operation.
    ///</summary>
    [Api(Description="The data packet from the retrieval operation.")]
    public partial class Datenpaket
    {
        ///<summary>
        ///Encoded (compressed and encrypted) requested data record
        ///</summary>
        [ApiMember(Description="Encoded (compressed and encrypted) requested data record")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.
    ///</summary>
    [Api(Description="Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.")]
    public partial class Download
    {
        ///<summary>
        ///The link to the data on the web server.
        ///</summary>
        [ApiMember(Description="The link to the data on the web server.")]
        public virtual string Url { get; set; }

        ///<summary>
        ///The user name for the web server.
        ///</summary>
        [ApiMember(Description="The user name for the web server.")]
        public virtual string Benutzer { get; set; }

        ///<summary>
        ///Password for the web server.
        ///</summary>
        [ApiMember(Description="Password for the web server.")]
        public virtual string Passwort { get; set; }
    }

    ///<summary>
    ///Represents the metadata of a data record.
    ///</summary>
    [Api(Description="Represents the metadata of a data record.")]
    public partial class Meta17
    {
        ///<summary>
        ///The type of metadata, e.g. datei [file]
        ///</summary>
        [ApiMember(Description="The type of metadata, e.g. datei [file]")]
        public virtual string Name { get; set; }

        ///<summary>
        ///The encoding of the metadata (text or base64)
        ///</summary>
        [ApiMember(Description="The encoding of the metadata (text or base64)")]
        public virtual Coding? Coding { get; set; }

        ///<summary>
        ///The content of the metadata
        ///</summary>
        [ApiMember(Description="The content of the metadata")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Represents a list of meta information maps.
    ///</summary>
    public partial class MetaInfoMaps17
    {
    }

    ///<summary>
    ///Represents meta information.
    ///</summary>
    [Api(Description="Represents meta information.")]
    public partial class MetaInformationen17
    {
        public MetaInformationen17()
        {
            Meta = new List<Meta17>{};
        }

        ///<summary>
        ///List of metadata.
        ///</summary>
        [ApiMember(Description="List of metadata.")]
        public virtual List<Meta17> Meta { get; set; }

        ///<summary>
        ///List of meta infomation maps.
        ///</summary>
        [ApiMember(Description="List of meta infomation maps.")]
        public virtual MetaInfoMaps17 MetaInfoMaps { get; set; }
    }

    ///<summary>
    ///Represents the various tax types for the retrieval of data.
    ///</summary>
    public enum Steuerart
    {
        ESB,
        GSB,
        USB,
        EPBescheid,
        EPMitteilung,
        Gewerbesteuerbescheid,
        Gewerbesteuermitteilung,
        GEWMB,
        DIVAAnzeigeEinerLotterie,
        DIVABescheid,
        DivaBescheidESt,
        DIVABuchmachersteuer,
        DIVALotteriesteuerEinmal,
        DIVALotteriesteuerMehr,
        DIVASportwettensteuer,
        DIVATotalisator,
        OZGBescheid,
        VerbindlicheAuskunft,
        VerbindlicheZusage,
        DivaSonstigerVA,
        DivaBescheidErbSt,
        DivaBescheidFEIN,
        DivaBescheidGewSt,
        DivaBescheidKSt,
        DivaBescheidUSt,
        DivaBescheidSchenkSt,
        DIVATroncabgabe,
        DIVAVirtuelleAutomatenStB,
        DIVAOnlinePokerStB,
        LStHVVMRM,
        EinlagenrueckgewaehrVA,
        FTTMeldungVA,
        StatusInvStGVA,
        UStVEUVA,
        VERSVA,
        AltZertVA,
        KapEStEntlastungVA,
        PostUDLVA,
        StAb50aVA,
        StAbEntlastungVA,
        KassenangelegenheitenVA,
        KStOptVA,
        SteueroasenabwehrVA,
        KDBVollmachtRM,
        STBKE,
        VDBKDBRueckmeldungLief,
        AnhangRueckmeldung,
        DivaEinwilligungRM,
        GlueckspielF,
        OZGMitteilung,
        VerbindlicheAuskunftInfoF,
        ELOProtokoll,
    }

    ///<summary>
    ///Represents the transmission path.
    ///</summary>
    public enum Uebertragungsweg
    {
        direkt,
        link,
        sammellink,
    }

}

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
        : FileBase, ISecuredCertificate, IHasIndex
    {
        public PortalCertificate()
        {
            Tags = new List<string>{};
            Content = new byte[]{};
        }

        ///<summary>
        ///The unique identifier of the certificate.
        ///</summary>
        [ApiMember(Description="The unique identifier of the certificate.")]
        public virtual Guid Id { get; set; }

        ///<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 virtual int Index { get; set; }

        ///<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 virtual string Pin { get; set; }

        ///<summary>
        ///The description of the certificate.
        ///</summary>
        [StringLength(int.MaxValue)]
        [ApiMember(Description="The description of the certificate.")]
        public virtual string Description { get; set; }

        ///<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 virtual List<string> Tags { get; set; }

        ///<summary>
        ///Gets or sets the file name of the certificate.
        ///</summary>
        [ApiMember(Description="Gets or sets the file name of the certificate.")]
        public virtual string Name { get; set; }

        ///<summary>
        ///The raw data content of the file.
        ///</summary>
        [ApiMember(Description="The raw data content of the file.", Name="Content")]
        public virtual byte[] Content { get; set; }
    }

}

namespace PwC.xEric.Core.Services.Contracts.Datenabholungen.Requests.Protokolle
{
    ///<summary>
    ///Represents the service request to retrieve logs about tax statements.
    ///</summary>
    [Api(Description="Represents the service request to retrieve logs about tax statements.")]
    public partial class BatchProtokollRequest17
        : BatchProtokollRequestBase17
    {
        public BatchProtokollRequest17()
        {
            Bescheide = new List<Abholung17>{};
        }

        ///<summary>
        ///The tax assessements, whose processing records shall be obtained.
        ///</summary>
        [ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")]
        public virtual List<Abholung17> Bescheide { get; set; }

        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")]
        public virtual PortalCertificate Zertifikat { get; set; }
    }

    ///<summary>
    ///Represents a base service request to retrieve processing records from specified tax statements.
    ///</summary>
    [Api(Description="Represents a base service request to retrieve processing records from specified tax statements.")]
    public partial class BatchProtokollRequestBase
        : IPost
    {
        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")]
        public virtual PortalCertificate Zertifikat { get; set; }
    }

    ///<summary>
    ///Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..
    ///</summary>
    [Api(Description="Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..")]
    public partial class BatchProtokollRequestBase17
        : BatchProtokollRequestBase
    {
        public BatchProtokollRequestBase17()
        {
            Bescheide = new List<Abholung17>{};
        }

        ///<summary>
        ///The tax assessements, whose processing records shall be obtained.
        ///</summary>
        [ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")]
        public virtual List<Abholung17> Bescheide { get; set; }

        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")]
        public virtual PortalCertificate Zertifikat { get; set; }
    }

}

C# BatchProtokollRequest17 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 /datenabholungen/protokolle/17/verarbeitungsprotokoll/batch HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<BatchProtokollRequest17 xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Datenabholungen.Requests.Protokolle">
  <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>
  <Bescheide xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Domain.Concretes.Datenabholungen.Models">
    <d2p1:Abholung17 id="String" idnr="String" veranlagungsjahr="0" uebertragungsweg="direkt" encoding="String" bereitstellungsticket="String">
      <MetaInformationen>
        <Meta art="String" coding="text">String</Meta>
        <MetaInfoMaps>
          <MetaInfoMap typ="String">
            <Meta art="String" coding="text">String</Meta>
          </MetaInfoMap>
        </MetaInfoMaps>
      </MetaInformationen>
      <Datenpaket>String</Datenpaket>
      <Download>
        <Url>String</Url>
        <Benutzer>String</Benutzer>
        <Passwort>String</Passwort>
      </Download>
      <Anhaenge version="0">
        <Anhang>
          <Dateibezeichnung>String</Dateibezeichnung>
          <Dateityp>String</Dateityp>
          <Dateiinhalt>String</Dateiinhalt>
          <MetadatumAnhang>
            <SchluesselAnhang DateibezeichnungID="String" DateibezeichnungKurz="String">String</SchluesselAnhang>
            <WertAnhang DateibezeichnungID="String" DateibezeichnungKurz="String">String</WertAnhang>
          </MetadatumAnhang>
        </Anhang>
      </Anhaenge>
    </d2p1:Abholung17>
  </Bescheide>
</BatchProtokollRequest17>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ArrayOfProtokollResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Datenabholungen.Responses">
  <ProtokollResponse>
    <Id xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">String</Id>
    <Index xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">0</Index>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses">
      <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>
    <Protokoll version="0" xmlns="http://www.elsterfachmethodik.de/protokollverfahren/version6/XMLSchema">
      <ZeitStempel>00010101000000</ZeitStempel>
      <DatenTeil transferTicket="String" code="0" text="String">
        <Nutzdatenblock nutzdatenTicket="String" code="0" text="String" verarbeiteteNdS="0" nichtverarbeiteteNdS="0">
          <NdSFehler lfdNr="String" kmId="String" ordnungsMerkmal="String" fehlerNummer="0" fehlerText="String" />
        </Nutzdatenblock>
      </DatenTeil>
    </Protokoll>
  </ProtokollResponse>
</ArrayOfProtokollResponse>