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.*
/**
* Represents the service request to retrieve logs about tax statements.
*/
@Api(Description="Represents the service request to retrieve logs about tax statements.")
open class BatchProtokollRequest17 : BatchProtokollRequestBase17()
{
/**
* The tax assessements, whose processing records shall be obtained.
*/
@ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
var bescheide:ArrayList<Abholung17> = ArrayList<Abholung17>()
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
var zertifikat:PortalCertificate? = null
}
/**
* 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..")
open class BatchProtokollRequestBase17 : BatchProtokollRequestBase()
{
/**
* The tax assessements, whose processing records shall be obtained.
*/
@ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
var bescheide:ArrayList<Abholung17> = ArrayList<Abholung17>()
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
var zertifikat:PortalCertificate? = null
}
/**
* 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.")
open class BatchProtokollRequestBase : IPost
{
/**
* The authentification certificate.
*/
@ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
var zertifikat:PortalCertificate? = null
}
/**
* Represents a portal certificate that is protected by a password.
*/
@Api(Description="Represents a portal certificate that is protected by a password.")
open class PortalCertificate : FileBase(), ISecuredCertificate, IHasIndex
{
/**
* The unique identifier of the certificate.
*/
@ApiMember(Description="The unique identifier of the certificate.")
var id:UUID? = 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.")
var index:Int? = null
/**
* The password to protect the certificate from unauthorized access.
*/
@StringLength(255)
@ApiMember(Description="The password to protect the certificate from unauthorized access.")
var pin:String? = null
/**
* The description of the certificate.
*/
@StringLength(2147483647)
@ApiMember(Description="The description of the certificate.")
var description:String? = 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.")
var tags:ArrayList<String> = ArrayList<String>()
/**
* Gets or sets the file name of the certificate.
*/
@ApiMember(Description="Gets or sets the file name of the certificate.")
var name:String? = null
/**
* The raw data content of the file.
*/
@ApiMember(Description="The raw data content of the file.", Name="Content")
var content:ByteArray? = null
}
/**
* Represents a base class for a file with raw data.
*/
@Api(Description="Represents a base class for a file with raw data.")
open class FileBase
{
/**
* The raw data content of the file.
*/
@ApiMember(Description="The raw data content of the file.", Name="Content")
var content:ByteArray? = null
}
/**
* 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.")
open class Abholung17 : Abholung()
{
/**
* The tax type (e.g. ESB) of the data record.
*/
@ApiMember(Description="The tax type (e.g. ESB) of the data record.")
var steuerart:Steuerart? = null
/**
* The meta information of the identifier.
*/
@ApiMember(Description="The meta information of the identifier.")
var metaInformationen:MetaInformationen17? = 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.")
var bereitstellungsticket:String? = null
/**
* The attachments of the data records.
*/
@ApiMember(Description="The attachments of the data records.")
var anhaenge:Anhaenge17? = null
/**
* The identifier of the data record.
*/
@ApiMember(Description="The identifier of the data record.")
var id:String? = 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'.")
var idnr:String? = 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'.")
var veranlagungsjahr:Int? = null
/**
* The transmission path used.
*/
@ApiMember(Description="The transmission path used.")
var 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.")
var encoding:String? = null
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
var mandantennummer:String? = null
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
var steuernummer:String? = null
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
var bescheiddatum:Date? = 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.")
var 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.")
var download:Download? = null
}
/**
* 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.")
open class Abholung
{
/**
* The identifier of the data record.
*/
@ApiMember(Description="The identifier of the data record.")
var id:String? = 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'.")
var idnr:String? = 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'.")
var veranlagungsjahr:Int? = null
/**
* The transmission path used.
*/
@ApiMember(Description="The transmission path used.")
var 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.")
var encoding:String? = null
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
var mandantennummer:String? = null
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
var steuernummer:String? = null
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
@ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
var bescheiddatum:Date? = 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.")
var 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.")
var download:Download? = null
}
/**
* Represents the transmission path.
*/
enum class Uebertragungsweg
{
Direkt,
Link,
Sammellink,
}
/**
* The data packet from the retrieval operation.
*/
@Api(Description="The data packet from the retrieval operation.")
open class Datenpaket
{
/**
* Encoded (compressed and encrypted) requested data record
*/
@ApiMember(Description="Encoded (compressed and encrypted) requested data record")
var value:String? = null
}
/**
* 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.")
open class Download
{
/**
* The link to the data on the web server.
*/
@ApiMember(Description="The link to the data on the web server.")
var url:String? = null
/**
* The user name for the web server.
*/
@ApiMember(Description="The user name for the web server.")
var benutzer:String? = null
/**
* Password for the web server.
*/
@ApiMember(Description="Password for the web server.")
var passwort:String? = null
}
/**
* Represents the various tax types for the retrieval of data.
*/
enum class 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.")
open class MetaInformationen17
{
/**
* List of metadata.
*/
@ApiMember(Description="List of metadata.")
var meta:ArrayList<Meta17> = ArrayList<Meta17>()
/**
* List of meta infomation maps.
*/
@ApiMember(Description="List of meta infomation maps.")
var metaInfoMaps:MetaInfoMaps17? = null
}
/**
* Represents the metadata of a data record.
*/
@Api(Description="Represents the metadata of a data record.")
open class Meta17
{
/**
* The type of metadata, e.g. datei [file]
*/
@ApiMember(Description="The type of metadata, e.g. datei [file]")
var name:String? = null
/**
* The encoding of the metadata (text or base64)
*/
@ApiMember(Description="The encoding of the metadata (text or base64)")
var coding:Coding? = null
/**
* The content of the metadata
*/
@ApiMember(Description="The content of the metadata")
var value:String? = null
}
/**
* Specifies the encoding of the metadata.
*/
enum class Coding
{
Text,
Base64,
}
/**
* Represents a list of meta information maps.
*/
open class MetaInfoMaps17
{
}
/**
* Represents a list of attachments.
*/
open class Anhaenge17
{
}
Kotlin BatchProtokollRequest17 DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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: text/csv
Content-Type: text/csv
Content-Length: length
{"bescheide":[{"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: text/csv 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"}}}]