Tax Filing Service

<back to all web services

ProtokollRequest17

SyncDatenabholungVerarbeitungsprotokolle

Represents the service request to retrieve logs about a specified tax assessement.

Requires Authentication
The following routes are available for this service:
POST/datenabholungen/protokolle/17/verarbeitungsprotokoll
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;
using PwC.xEric.Core.Services.Contracts.Datenabholungen.Responses;
using PwC.xEric.Core.Services.Contracts.Responses;

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>
    ///Stellt den Datenteil eines Protokolls dar.
    ///</summary>
    [Api(Description="Stellt den Datenteil eines Protokolls dar.")]
    public partial class DatenTeil06
    {
        public DatenTeil06()
        {
            Nutzdatenbloecke = new List<Nutzdatenblock06>{};
        }

        ///<summary>
        ///Das Transferticket der Datenlieferung.
        ///</summary>
        [ApiMember(Description="Das Transferticket der Datenlieferung.")]
        public virtual string TransferTicket { get; set; }

        ///<summary>
        ///Der Statuscode zur gesamten Datenlieferung. 0 (Datenlieferung ok - Alle Datensätze konnten verarbeitet werden). 1 (Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden). 2 (Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft). 3 (Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant).
        ///</summary>
        [ApiMember(Description="Der Statuscode zur gesamten Datenlieferung. 0 (Datenlieferung ok - Alle Datensätze konnten verarbeitet werden). 1 (Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden). 2 (Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft). 3 (Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant).")]
        public virtual int? Code { get; set; }

        ///<summary>
        ///Der Datenteil des Protokolls.Datenlieferung ok - Alle Datensätze konnten verarbeitet werden. Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden. Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft. 3Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant.
        ///</summary>
        [ApiMember(Description="Der Datenteil des Protokolls.Datenlieferung ok - Alle Datensätze konnten verarbeitet werden. Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden. Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft. 3Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant.")]
        public virtual string Text { get; set; }

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [ApiMember(Description="Der Datenteil des Protokolls.")]
        public virtual List<Nutzdatenblock06> Nutzdatenbloecke { 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>
    ///Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)
    ///</summary>
    [Api(Description="Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)")]
    public partial class NdSFehler06
    {
        ///<summary>
        ///Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.
        ///</summary>
        [ApiMember(Description="Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.", Name="LfdNr")]
        public virtual string LfdNr { get; set; }

        ///<summary>
        ///Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.
        ///</summary>
        [ApiMember(Description="Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.", Name="KmId")]
        public virtual string KmId { get; set; }

        ///<summary>
        ///Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).
        ///</summary>
        [ApiMember(Description="Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).", Name="OrdnungsMerkmal")]
        public virtual string OrdnungsMerkmal { get; set; }

        ///<summary>
        ///Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.
        ///</summary>
        [ApiMember(Description="Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.", Name="FehlerNummer")]
        public virtual uint? FehlerNummer { get; set; }

        ///<summary>
        ///Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.
        ///</summary>
        [ApiMember(Description="Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.", Name="FehlerText")]
        public virtual string FehlerText { get; set; }
    }

    ///<summary>
    ///Stellt ein Element eines Nutztdatenblockes dar.
    ///</summary>
    [Api(Description="Stellt ein Element eines Nutztdatenblockes dar.")]
    public partial class Nutzdatenblock06
    {
        public Nutzdatenblock06()
        {
            NdSFehler = new List<NdSFehler06>{};
        }

        ///<summary>
        ///Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.
        ///</summary>
        [ApiMember(Description="Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.")]
        public virtual string NutzdatenTicket { get; set; }

        ///<summary>
        ///Der Statuscode zum Nutzdatenblock.
        ///</summary>
        [ApiMember(Description="Der Statuscode zum Nutzdatenblock.")]
        public virtual int? Code { get; set; }

        ///<summary>
        ///Der Statustext zum Nutzdatenblock.
        ///</summary>
        [ApiMember(Description="Der Statustext zum Nutzdatenblock.")]
        public virtual string Text { get; set; }

        ///<summary>
        ///Anzahl der Verarbeiteten Nutzdatensätze.
        ///</summary>
        [ApiMember(Description="Anzahl der Verarbeiteten Nutzdatensätze.")]
        public virtual uint? VerarbeiteteNds { get; set; }

        ///<summary>
        ///Anzahl der nichtverarbeiteten Nutzdatensätze.
        ///</summary>
        [ApiMember(Description="Anzahl der nichtverarbeiteten Nutzdatensätze.")]
        public virtual uint? NichtverarbeiteteNds { get; set; }

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [ApiMember(Description="Der Datenteil des Protokolls.")]
        public virtual List<NdSFehler06> NdSFehler { get; set; }
    }

    ///<summary>
    ///Das Verarbeitungsprotokoll einer Datenabholungsprozesses.
    ///</summary>
    [Api(Description="Das Verarbeitungsprotokoll einer Datenabholungsprozesses.")]
    public partial class Protokoll06
    {
        ///<summary>
        ///Version des Protokolls.
        ///</summary>
        [ApiMember(Description="Version des Protokolls.", Name="Version")]
        public virtual int? Version { get; set; }

        ///<summary>
        ///Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.
        ///</summary>
        [ApiMember(Description="Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.", Name="ZeitStempel")]
        public virtual DateTime? ZeitStempel { get; set; }

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [ApiMember(Description="Der Datenteil des Protokolls.", Name="DatenTeil")]
        public virtual DatenTeil06 DatenTeil { 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 a specified tax assessement.
    ///</summary>
    [Api(Description="Represents the service request to retrieve logs about a specified tax assessement.")]
    public partial class ProtokollRequest17
        : ProtokollRequestBase17
    {
        ///<summary>
        ///The tax assessement, whose processing records shall be obtained.
        ///</summary>
        [ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")]
        public virtual Abholung17 Bescheid { 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 a specified tax assessement.
    ///</summary>
    [Api(Description="Represents a base service request to retrieve processing records from a specified tax assessement.")]
    public partial class ProtokollRequestBase
        : 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 logs about a specified tax assessement.
    ///</summary>
    [Api(Description="Represents a base service request to retrieve logs about a specified tax assessement.")]
    public partial class ProtokollRequestBase17
        : ProtokollRequestBase
    {
        ///<summary>
        ///The tax assessement, whose processing records shall be obtained.
        ///</summary>
        [ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")]
        public virtual Abholung17 Bescheid { get; set; }

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

}

namespace PwC.xEric.Core.Services.Contracts.Datenabholungen.Responses
{
    ///<summary>
    ///Represents a type that encapulates the processing records of a tax statement.
    ///</summary>
    [Api(Description="Represents a type that encapulates the processing records of a tax statement.")]
    public partial class ProtokollResponse
        : ServiceReponseBase
    {
        ///<summary>
        ///The processing record of a tax statement.
        ///</summary>
        [ApiMember(Description="The processing record of a tax statement.", Name="Protokoll")]
        public virtual Protokoll06 Protokoll { get; set; }

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

        ///<summary>
        ///The position of the response element in an indexed collection.
        ///</summary>
        [ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")]
        public virtual int Index { get; set; }

        ///<summary>
        ///Metadata that contains structured error information on the service response.
        ///</summary>
        [ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

namespace PwC.xEric.Core.Services.Contracts.Responses
{
    ///<summary>
    ///Specifies a service response from an ERiC service operation.
    ///</summary>
    [Api(Description="Specifies a service response from an ERiC service operation.")]
    public partial class ServiceReponseBase
        : IHasIndex
    {
        ///<summary>
        ///The unique identifier of the response.
        ///</summary>
        [ApiMember(Description="The unique identifier of the response.", Name="Id")]
        public virtual string Id { get; set; }

        ///<summary>
        ///The position of the response element in an indexed collection.
        ///</summary>
        [ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")]
        public virtual int Index { get; set; }

        ///<summary>
        ///Metadata that contains structured error information on the service response.
        ///</summary>
        [ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# ProtokollRequest17 DTOs

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

HTTP + X-MSGPACK

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

POST /datenabholungen/protokolle/17/verarbeitungsprotokoll HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/x-msgpack
Content-Type: application/x-msgpack
Content-Length: length

{"bescheid":{"steuerart":"ESB","metaInformationen":{"meta":[{"name":"String","coding":"text","value":"String"}],"metaInfoMaps":[{"typ":"String","meta":[{"name":"String","coding":"text","value":"String"}]}]},"bereitstellungsticket":"String","anhaenge":[{"metadatenAnhang":[{"schluesselAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"},"wertAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"}}],"dateibezeichnung":"String","dateityp":"String","dateiinhalt":"String"}],"id":"String","idnr":"String","veranlagungsjahr":0,"uebertragungsweg":"direkt","encoding":"String","mandantennummer":"String","steuernummer":"String","bescheiddatum":"\/Date(-62135596800000-0000)\/","datenpaket":{"value":"String"},"download":{"url":"String","benutzer":"String","passwort":"String"}},"zertifikat":{"id":"00000000000000000000000000000000","index":0,"pin":"String","description":"String","tags":["String"],"name":"String","content":"AA=="}}
HTTP/1.1 200 OK
Content-Type: application/x-msgpack
Content-Length: length

{"protokoll":{"version":0,"zeitStempel":"\/Date(-62135596800000-0000)\/","datenTeil":{"transferTicket":"String","code":0,"text":"String","nutzdatenbloecke":[{"nutzdatenTicket":"String","code":0,"text":"String","verarbeiteteNds":0,"nichtverarbeiteteNds":0,"ndSFehler":[{"lfdNr":"String","kmId":"String","ordnungsMerkmal":"String","fehlerNummer":0,"fehlerText":"String"}]}]}},"id":"String","index":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}