POST | /async/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 BatchProtokollRequest17Async
: BatchProtokollRequestBase17
{
public BatchProtokollRequest17Async()
{
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# BatchProtokollRequest17Async 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 /async/datenabholungen/protokolle/17/verarbeitungsprotokoll/batch HTTP/1.1
Host: taxfiling.staging.pwc.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<BatchProtokollRequest17Async 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>
</BatchProtokollRequest17Async>
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>