POST | /datenabholungen/protokolle/17/verarbeitungsprotokoll/batch |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;
public class dtos
{
/**
* Represents the service request to retrieve logs about tax statements.
*/
@Api(Description="Represents the service request to retrieve logs about tax statements.")
public static class BatchProtokollRequest17 extends BatchProtokollRequestBase17
{
/**
* The tax assessements, whose processing records shall be obtained.
*/
@ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
public ArrayList<Abholung17> bescheide = null;
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public PortalCertificate zertifikat = null;
public ArrayList<Abholung17> getBescheide() { return bescheide; }
public BatchProtokollRequest17 setBescheide(ArrayList<Abholung17> value) { this.bescheide = value; return this; }
public PortalCertificate getZertifikat() { return zertifikat; }
public BatchProtokollRequest17 setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
}
/**
* Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..
*/
@Api(Description="Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..")
public static class BatchProtokollRequestBase17 extends BatchProtokollRequestBase
{
/**
* The tax assessements, whose processing records shall be obtained.
*/
@ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
public ArrayList<Abholung17> bescheide = null;
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public PortalCertificate zertifikat = null;
public ArrayList<Abholung17> getBescheide() { return bescheide; }
public BatchProtokollRequestBase17 setBescheide(ArrayList<Abholung17> value) { this.bescheide = value; return this; }
public PortalCertificate getZertifikat() { return zertifikat; }
public BatchProtokollRequestBase17 setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
}
/**
* Represents a base service request to retrieve processing records from specified tax statements.
*/
@Api(Description="Represents a base service request to retrieve processing records from specified tax statements.")
public static class BatchProtokollRequestBase implements IPost
{
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public PortalCertificate zertifikat = null;
public PortalCertificate getZertifikat() { return zertifikat; }
public BatchProtokollRequestBase setZertifikat(PortalCertificate value) { this.zertifikat = value; return this; }
}
/**
* Represents a portal certificate that is protected by a password.
*/
@Api(Description="Represents a portal certificate that is protected by a password.")
public static class PortalCertificate extends FileBase implements ISecuredCertificate, IHasIndex
{
/**
* The unique identifier of the certificate.
*/
@ApiMember(Description="The unique identifier of the certificate.")
public UUID id = null;
/**
* The position of the certificate element in an indexed collection of certificates.
*/
@ApiMember(Description="The position of the certificate element in an indexed collection of certificates.")
public Integer index = null;
/**
* The password to protect the certificate from unauthorized access.
*/
@StringLength(255)
@ApiMember(Description="The password to protect the certificate from unauthorized access.")
public String pin = null;
/**
* The description of the certificate.
*/
@StringLength(2147483647)
@ApiMember(Description="The description of the certificate.")
public String description = null;
/**
* Tags that can be used to label or identify the certificate.
*/
@ApiMember(Description="Tags that can be used to label or identify the certificate.")
public ArrayList<String> tags = null;
/**
* Gets or sets the file name of the certificate.
*/
@ApiMember(Description="Gets or sets the file name of the certificate.")
public String name = null;
/**
* The raw data content of the file.
*/
@ApiMember(Description="The raw data content of the file.", Name="Content")
public byte[] content = null;
public UUID getId() { return id; }
public PortalCertificate setId(UUID value) { this.id = value; return this; }
public Integer getIndex() { return index; }
public PortalCertificate setIndex(Integer value) { this.index = value; return this; }
public String getPin() { return pin; }
public PortalCertificate setPin(String value) { this.pin = value; return this; }
public String getDescription() { return description; }
public PortalCertificate setDescription(String value) { this.description = value; return this; }
public ArrayList<String> getTags() { return tags; }
public PortalCertificate setTags(ArrayList<String> value) { this.tags = value; return this; }
public String getName() { return name; }
public PortalCertificate setName(String value) { this.name = value; return this; }
public byte[] getContent() { return content; }
public PortalCertificate setContent(byte[] value) { this.content = value; return this; }
}
/**
* Represents a base class for a file with raw data.
*/
@Api(Description="Represents a base class for a file with raw data.")
public static class FileBase
{
/**
* The raw data content of the file.
*/
@ApiMember(Description="The raw data content of the file.", Name="Content")
public byte[] content = null;
public byte[] getContent() { return content; }
public FileBase setContent(byte[] value) { this.content = value; return this; }
}
/**
* Represents a request to retrieve data records by means of one or more IDs.
*/
@Api(Description="Represents a request to retrieve data records by means of one or more IDs.")
public static class Abholung17 extends Abholung
{
/**
* The tax type (e.g. ESB) of the data record.
*/
@ApiMember(Description="The tax type (e.g. ESB) of the data record.")
public Steuerart steuerart = null;
/**
* The meta information of the identifier.
*/
@ApiMember(Description="The meta information of the identifier.")
public MetaInformationen17 metaInformationen = null;
/**
* Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
*/
@ApiMember(Description="Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.")
public String bereitstellungsticket = null;
/**
* The attachments of the data records.
*/
@ApiMember(Description="The attachments of the data records.")
public Anhaenge17 anhaenge = null;
/**
* The identifier of the data record.
*/
@ApiMember(Description="The identifier of the data record.")
public String id = null;
/**
* The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
*/
@ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
public String idnr = null;
/**
* The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
*/
@ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")
public Integer veranlagungsjahr = null;
/**
* The transmission path used.
*/
@ApiMember(Description="The transmission path used.")
public Uebertragungsweg uebertragungsweg = null;
/**
* The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
*/
@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 String encoding = null;
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
public String mandantennummer = null;
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
public String steuernummer = null;
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
public Date bescheiddatum = null;
/**
* Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
*/
@ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
public Datenpaket datenpaket = null;
/**
* Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
*/
@ApiMember(Description="Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.")
public Download download = null;
public Steuerart getSteuerart() { return steuerart; }
public Abholung17 setSteuerart(Steuerart value) { this.steuerart = value; return this; }
public MetaInformationen17 getMetaInformationen() { return metaInformationen; }
public Abholung17 setMetaInformationen(MetaInformationen17 value) { this.metaInformationen = value; return this; }
public String getBereitstellungsticket() { return bereitstellungsticket; }
public Abholung17 setBereitstellungsticket(String value) { this.bereitstellungsticket = value; return this; }
public Anhaenge17 getAnhaenge() { return anhaenge; }
public Abholung17 setAnhaenge(Anhaenge17 value) { this.anhaenge = value; return this; }
public String getId() { return id; }
public Abholung17 setId(String value) { this.id = value; return this; }
public String getIdnr() { return idnr; }
public Abholung17 setIdnr(String value) { this.idnr = value; return this; }
public Integer getVeranlagungsjahr() { return veranlagungsjahr; }
public Abholung17 setVeranlagungsjahr(Integer value) { this.veranlagungsjahr = value; return this; }
public Uebertragungsweg getUebertragungsweg() { return uebertragungsweg; }
public Abholung17 setUebertragungsweg(Uebertragungsweg value) { this.uebertragungsweg = value; return this; }
public String getEncoding() { return encoding; }
public Abholung17 setEncoding(String value) { this.encoding = value; return this; }
public String getMandantennummer() { return mandantennummer; }
public Abholung17 setMandantennummer(String value) { this.mandantennummer = value; return this; }
public String getSteuernummer() { return steuernummer; }
public Abholung17 setSteuernummer(String value) { this.steuernummer = value; return this; }
public Date getBescheiddatum() { return bescheiddatum; }
public Abholung17 setBescheiddatum(Date value) { this.bescheiddatum = value; return this; }
public Datenpaket getDatenpaket() { return datenpaket; }
public Abholung17 setDatenpaket(Datenpaket value) { this.datenpaket = value; return this; }
public Download getDownload() { return download; }
public Abholung17 setDownload(Download value) { this.download = value; return this; }
}
/**
* Represents the request to retrieve tax assessments by means of a specfied ID.
*/
@Api(Description="Represents the request to retrieve tax assessments by means of a specfied ID.")
public static class Abholung
{
/**
* The identifier of the data record.
*/
@ApiMember(Description="The identifier of the data record.")
public String id = null;
/**
* The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
*/
@ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
public String idnr = null;
/**
* The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
*/
@ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")
public Integer veranlagungsjahr = null;
/**
* The transmission path used.
*/
@ApiMember(Description="The transmission path used.")
public Uebertragungsweg uebertragungsweg = null;
/**
* The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
*/
@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 String encoding = null;
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
public String mandantennummer = null;
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
public String steuernummer = null;
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
public Date bescheiddatum = null;
/**
* Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
*/
@ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
public Datenpaket datenpaket = null;
/**
* Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
*/
@ApiMember(Description="Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.")
public Download download = null;
public String getId() { return id; }
public Abholung setId(String value) { this.id = value; return this; }
public String getIdnr() { return idnr; }
public Abholung setIdnr(String value) { this.idnr = value; return this; }
public Integer getVeranlagungsjahr() { return veranlagungsjahr; }
public Abholung setVeranlagungsjahr(Integer value) { this.veranlagungsjahr = value; return this; }
public Uebertragungsweg getUebertragungsweg() { return uebertragungsweg; }
public Abholung setUebertragungsweg(Uebertragungsweg value) { this.uebertragungsweg = value; return this; }
public String getEncoding() { return encoding; }
public Abholung setEncoding(String value) { this.encoding = value; return this; }
public String getMandantennummer() { return mandantennummer; }
public Abholung setMandantennummer(String value) { this.mandantennummer = value; return this; }
public String getSteuernummer() { return steuernummer; }
public Abholung setSteuernummer(String value) { this.steuernummer = value; return this; }
public Date getBescheiddatum() { return bescheiddatum; }
public Abholung setBescheiddatum(Date value) { this.bescheiddatum = value; return this; }
public Datenpaket getDatenpaket() { return datenpaket; }
public Abholung setDatenpaket(Datenpaket value) { this.datenpaket = value; return this; }
public Download getDownload() { return download; }
public Abholung setDownload(Download value) { this.download = value; return this; }
}
/**
* Represents the transmission path.
*/
public static enum Uebertragungsweg
{
Direkt,
Link,
Sammellink;
}
/**
* The data packet from the retrieval operation.
*/
@Api(Description="The data packet from the retrieval operation.")
public static class Datenpaket
{
/**
* Encoded (compressed and encrypted) requested data record
*/
@ApiMember(Description="Encoded (compressed and encrypted) requested data record")
public String value = null;
public String getValue() { return value; }
public Datenpaket setValue(String value) { this.value = value; return this; }
}
/**
* 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.
*/
@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 static class Download
{
/**
* The link to the data on the web server.
*/
@ApiMember(Description="The link to the data on the web server.")
public String url = null;
/**
* The user name for the web server.
*/
@ApiMember(Description="The user name for the web server.")
public String benutzer = null;
/**
* Password for the web server.
*/
@ApiMember(Description="Password for the web server.")
public String passwort = null;
public String getUrl() { return url; }
public Download setUrl(String value) { this.url = value; return this; }
public String getBenutzer() { return benutzer; }
public Download setBenutzer(String value) { this.benutzer = value; return this; }
public String getPasswort() { return passwort; }
public Download setPasswort(String value) { this.passwort = value; return this; }
}
/**
* Represents the various tax types for the retrieval of data.
*/
public static 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;
}
/**
* Represents meta information.
*/
@Api(Description="Represents meta information.")
public static class MetaInformationen17
{
/**
* List of metadata.
*/
@ApiMember(Description="List of metadata.")
public ArrayList<Meta17> meta = null;
/**
* List of meta infomation maps.
*/
@ApiMember(Description="List of meta infomation maps.")
public MetaInfoMaps17 metaInfoMaps = null;
public ArrayList<Meta17> getMeta() { return meta; }
public MetaInformationen17 setMeta(ArrayList<Meta17> value) { this.meta = value; return this; }
public MetaInfoMaps17 getMetaInfoMaps() { return metaInfoMaps; }
public MetaInformationen17 setMetaInfoMaps(MetaInfoMaps17 value) { this.metaInfoMaps = value; return this; }
}
/**
* Represents the metadata of a data record.
*/
@Api(Description="Represents the metadata of a data record.")
public static class Meta17
{
/**
* The type of metadata, e.g. datei [file]
*/
@ApiMember(Description="The type of metadata, e.g. datei [file]")
public String name = null;
/**
* The encoding of the metadata (text or base64)
*/
@ApiMember(Description="The encoding of the metadata (text or base64)")
public Coding coding = null;
/**
* The content of the metadata
*/
@ApiMember(Description="The content of the metadata")
public String value = null;
public String getName() { return name; }
public Meta17 setName(String value) { this.name = value; return this; }
public Coding getCoding() { return coding; }
public Meta17 setCoding(Coding value) { this.coding = value; return this; }
public String getValue() { return value; }
public Meta17 setValue(String value) { this.value = value; return this; }
}
/**
* Specifies the encoding of the metadata.
*/
public static enum Coding
{
Text,
Base64;
}
/**
* Represents a list of meta information maps.
*/
public static class MetaInfoMaps17
{
}
/**
* Represents a list of attachments.
*/
public static class Anhaenge17
{
}
}
Java BatchProtokollRequest17 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 /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>