POST | /datenabholungen/protokolle/17/verarbeitungsprotokoll/batch |
---|
/** @description Represents a base class for a file with raw data. */
// @Api(Description="Represents a base class for a file with raw data.")
export class FileBase
{
/** @description The raw data content of the file. */
// @ApiMember(Description="The raw data content of the file.", Name="Content")
public content: string;
public constructor(init?: Partial<FileBase>) { (Object as any).assign(this, init); }
}
/** @description Represents a portal certificate that is protected by a password. */
// @Api(Description="Represents a portal certificate that is protected by a password.")
export class PortalCertificate extends FileBase implements ISecuredCertificate, IHasIndex
{
/** @description The unique identifier of the certificate. */
// @ApiMember(Description="The unique identifier of the certificate.")
public id: string;
/** @description 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 index: number;
/** @description The password to protect the certificate from unauthorized access. */
// @StringLength(255)
// @ApiMember(Description="The password to protect the certificate from unauthorized access.")
public pin?: string;
/** @description The description of the certificate. */
// @StringLength(2147483647)
// @ApiMember(Description="The description of the certificate.")
public description?: string;
/** @description 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 tags: string[];
/** @description Gets or sets the file name of the certificate. */
// @ApiMember(Description="Gets or sets the file name of the certificate.")
public name?: string;
/** @description The raw data content of the file. */
// @ApiMember(Description="The raw data content of the file.", Name="Content")
public content: string;
public constructor(init?: Partial<PortalCertificate>) { super(init); (Object as any).assign(this, init); }
}
/** @description 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.")
export class BatchProtokollRequestBase implements IPost
{
/** @description The authentification certificate. */
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public zertifikat: PortalCertificate;
public constructor(init?: Partial<BatchProtokollRequestBase>) { (Object as any).assign(this, init); }
}
/** @description Represents the transmission path. */
export enum Uebertragungsweg
{
direkt = 'direkt',
link = 'link',
sammellink = 'sammellink',
}
/** @description The data packet from the retrieval operation. */
// @Api(Description="The data packet from the retrieval operation.")
export class Datenpaket
{
/** @description Encoded (compressed and encrypted) requested data record */
// @ApiMember(Description="Encoded (compressed and encrypted) requested data record")
public value?: string;
public constructor(init?: Partial<Datenpaket>) { (Object as any).assign(this, init); }
}
/** @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. */
// @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.")
export class Download
{
/** @description The link to the data on the web server. */
// @ApiMember(Description="The link to the data on the web server.")
public url?: string;
/** @description The user name for the web server. */
// @ApiMember(Description="The user name for the web server.")
public benutzer?: string;
/** @description Password for the web server. */
// @ApiMember(Description="Password for the web server.")
public passwort?: string;
public constructor(init?: Partial<Download>) { (Object as any).assign(this, init); }
}
/** @description 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.")
export class Abholung
{
/** @description The identifier of the data record. */
// @ApiMember(Description="The identifier of the data record.")
public id?: string;
/** @description 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 idnr?: string;
/** @description 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 veranlagungsjahr?: number;
/** @description The transmission path used. */
// @ApiMember(Description="The transmission path used.")
public uebertragungsweg?: Uebertragungsweg;
/** @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. */
// @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 encoding?: string;
/** @description The client number; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
public mandantennummer?: string;
/** @description The tax number; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
public steuernummer?: string;
/** @description The asessment date; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
public bescheiddatum?: string;
/** @description 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;
/** @description 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;
public constructor(init?: Partial<Abholung>) { (Object as any).assign(this, init); }
}
/** @description Represents the various tax types for the retrieval of data. */
export enum Steuerart
{
ESB = 'ESB',
GSB = 'GSB',
USB = 'USB',
EPBescheid = 'EPBescheid',
EPMitteilung = 'EPMitteilung',
Gewerbesteuerbescheid = 'Gewerbesteuerbescheid',
Gewerbesteuermitteilung = 'Gewerbesteuermitteilung',
GEWMB = 'GEWMB',
DIVAAnzeigeEinerLotterie = 'DIVAAnzeigeEinerLotterie',
DIVABescheid = 'DIVABescheid',
DivaBescheidESt = 'DivaBescheidESt',
DIVABuchmachersteuer = 'DIVABuchmachersteuer',
DIVALotteriesteuerEinmal = 'DIVALotteriesteuerEinmal',
DIVALotteriesteuerMehr = 'DIVALotteriesteuerMehr',
DIVASportwettensteuer = 'DIVASportwettensteuer',
DIVATotalisator = 'DIVATotalisator',
OZGBescheid = 'OZGBescheid',
VerbindlicheAuskunft = 'VerbindlicheAuskunft',
VerbindlicheZusage = 'VerbindlicheZusage',
DivaSonstigerVA = 'DivaSonstigerVA',
DivaBescheidErbSt = 'DivaBescheidErbSt',
DivaBescheidFEIN = 'DivaBescheidFEIN',
DivaBescheidGewSt = 'DivaBescheidGewSt',
DivaBescheidKSt = 'DivaBescheidKSt',
DivaBescheidUSt = 'DivaBescheidUSt',
DivaBescheidSchenkSt = 'DivaBescheidSchenkSt',
DIVATroncabgabe = 'DIVATroncabgabe',
DIVAVirtuelleAutomatenStB = 'DIVAVirtuelleAutomatenStB',
DIVAOnlinePokerStB = 'DIVAOnlinePokerStB',
LStHVVMRM = 'LStHVVMRM',
EinlagenrueckgewaehrVA = 'EinlagenrueckgewaehrVA',
FTTMeldungVA = 'FTTMeldungVA',
StatusInvStGVA = 'StatusInvStGVA',
UStVEUVA = 'UStVEUVA',
VERSVA = 'VERSVA',
AltZertVA = 'AltZertVA',
KapEStEntlastungVA = 'KapEStEntlastungVA',
PostUDLVA = 'PostUDLVA',
StAb50aVA = 'StAb50aVA',
StAbEntlastungVA = 'StAbEntlastungVA',
KassenangelegenheitenVA = 'KassenangelegenheitenVA',
KStOptVA = 'KStOptVA',
SteueroasenabwehrVA = 'SteueroasenabwehrVA',
KDBVollmachtRM = 'KDBVollmachtRM',
STBKE = 'STBKE',
VDBKDBRueckmeldungLief = 'VDBKDBRueckmeldungLief',
AnhangRueckmeldung = 'AnhangRueckmeldung',
DivaEinwilligungRM = 'DivaEinwilligungRM',
GlueckspielF = 'GlueckspielF',
OZGMitteilung = 'OZGMitteilung',
VerbindlicheAuskunftInfoF = 'VerbindlicheAuskunftInfoF',
ELOProtokoll = 'ELOProtokoll',
}
/** @description Specifies the encoding of the metadata. */
export enum Coding
{
text = 'text',
base64 = 'base64',
}
/** @description Represents the metadata of a data record. */
// @Api(Description="Represents the metadata of a data record.")
export class Meta17
{
/** @description The type of metadata, e.g. datei [file] */
// @ApiMember(Description="The type of metadata, e.g. datei [file]")
public name?: string;
/** @description The encoding of the metadata (text or base64) */
// @ApiMember(Description="The encoding of the metadata (text or base64)")
public coding?: Coding;
/** @description The content of the metadata */
// @ApiMember(Description="The content of the metadata")
public value?: string;
public constructor(init?: Partial<Meta17>) { (Object as any).assign(this, init); }
}
/** @description Represents a list of meta information maps. */
export class MetaInfoMaps17
{
public constructor(init?: Partial<MetaInfoMaps17>) { (Object as any).assign(this, init); }
}
/** @description Represents meta information. */
// @Api(Description="Represents meta information.")
export class MetaInformationen17
{
/** @description List of metadata. */
// @ApiMember(Description="List of metadata.")
public meta: Meta17[];
/** @description List of meta infomation maps. */
// @ApiMember(Description="List of meta infomation maps.")
public metaInfoMaps?: MetaInfoMaps17;
public constructor(init?: Partial<MetaInformationen17>) { (Object as any).assign(this, init); }
}
/** @description Represents a list of attachments. */
export class Anhaenge17
{
public constructor(init?: Partial<Anhaenge17>) { (Object as any).assign(this, init); }
}
/** @description 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.")
export class Abholung17 extends Abholung
{
/** @description 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;
/** @description The meta information of the identifier. */
// @ApiMember(Description="The meta information of the identifier.")
public metaInformationen?: MetaInformationen17;
/** @description 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 bereitstellungsticket?: string;
/** @description The attachments of the data records. */
// @ApiMember(Description="The attachments of the data records.")
public anhaenge?: Anhaenge17;
/** @description The identifier of the data record. */
// @ApiMember(Description="The identifier of the data record.")
public id?: string;
/** @description 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 idnr?: string;
/** @description 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 veranlagungsjahr?: number;
/** @description The transmission path used. */
// @ApiMember(Description="The transmission path used.")
public uebertragungsweg?: Uebertragungsweg;
/** @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. */
// @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 encoding?: string;
/** @description The client number; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
public mandantennummer?: string;
/** @description The tax number; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
public steuernummer?: string;
/** @description The asessment date; only applicable to the tax type 'ElsterDIVADaten'. */
// @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
public bescheiddatum?: string;
/** @description 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;
/** @description 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;
public constructor(init?: Partial<Abholung17>) { super(init); (Object as any).assign(this, init); }
}
/** @description 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..")
export class BatchProtokollRequestBase17 extends BatchProtokollRequestBase
{
/** @description The tax assessements, whose processing records shall be obtained. */
// @ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
public bescheide: Abholung17[];
/** @description The authentification certificate. */
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public zertifikat: PortalCertificate;
public constructor(init?: Partial<BatchProtokollRequestBase17>) { super(init); (Object as any).assign(this, init); }
}
/** @description Represents the service request to retrieve logs about tax statements. */
// @Api(Description="Represents the service request to retrieve logs about tax statements.")
export class BatchProtokollRequest17 extends BatchProtokollRequestBase17
{
/** @description The tax assessements, whose processing records shall be obtained. */
// @ApiMember(Description="The tax assessements, whose processing records shall be obtained.", Name="Bescheide")
public bescheide: Abholung17[];
/** @description The authentification certificate. */
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
public zertifikat: PortalCertificate;
public constructor(init?: Partial<BatchProtokollRequest17>) { super(init); (Object as any).assign(this, init); }
}
TypeScript 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"}}}]