POST | /datenabholungen/protokolle/17/verarbeitungsprotokoll |
---|
"use strict";
export class FileBase {
/** @param {{content?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The raw data content of the file. */
content;
}
export class PortalCertificate extends FileBase {
/** @param {{id?:string,index?:number,pin?:string,description?:string,tags?:string[],name?:string,content?:string,content?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The unique identifier of the certificate. */
id;
/**
* @type {number}
* @description The position of the certificate element in an indexed collection of certificates. */
index;
/**
* @type {?string}
* @description The password to protect the certificate from unauthorized access. */
pin;
/**
* @type {?string}
* @description The description of the certificate. */
description;
/**
* @type {string[]}
* @description Tags that can be used to label or identify the certificate. */
tags;
/**
* @type {?string}
* @description Gets or sets the file name of the certificate. */
name;
/**
* @type {string}
* @description The raw data content of the file. */
content;
}
export class ProtokollRequestBase {
/** @param {{zertifikat?:PortalCertificate}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {PortalCertificate}
* @description The authentification certificate. */
zertifikat;
}
/** @typedef {'direkt'|'link'|'sammellink'} */
export var Uebertragungsweg;
(function (Uebertragungsweg) {
Uebertragungsweg["direkt"] = "direkt"
Uebertragungsweg["link"] = "link"
Uebertragungsweg["sammellink"] = "sammellink"
})(Uebertragungsweg || (Uebertragungsweg = {}));
export class Datenpaket {
/** @param {{value?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description Encoded (compressed and encrypted) requested data record */
value;
}
export class Download {
/** @param {{url?:string,benutzer?:string,passwort?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description The link to the data on the web server. */
url;
/**
* @type {?string}
* @description The user name for the web server. */
benutzer;
/**
* @type {?string}
* @description Password for the web server. */
passwort;
}
export class Abholung {
/** @param {{id?:string,idnr?:string,veranlagungsjahr?:number,uebertragungsweg?:Uebertragungsweg,encoding?:string,mandantennummer?:string,steuernummer?:string,bescheiddatum?:string,datenpaket?:Datenpaket,download?:Download}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description The identifier of the data record. */
id;
/**
* @type {?string}
* @description The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'. */
idnr;
/**
* @type {?number}
* @description The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'. */
veranlagungsjahr;
/**
* @type {?Uebertragungsweg}
* @description The transmission path used. */
uebertragungsweg;
/**
* @type {?string}
* @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. */
encoding;
/**
* @type {?string}
* @description The client number; only applicable to the tax type 'ElsterDIVADaten'. */
mandantennummer;
/**
* @type {?string}
* @description The tax number; only applicable to the tax type 'ElsterDIVADaten'. */
steuernummer;
/**
* @type {?string}
* @description The asessment date; only applicable to the tax type 'ElsterDIVADaten'. */
bescheiddatum;
/**
* @type {?Datenpaket}
* @description Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet. */
datenpaket;
/**
* @type {?Download}
* @description Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations. */
download;
}
/** @typedef {'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'} */
export var Steuerart;
(function (Steuerart) {
Steuerart["ESB"] = "ESB"
Steuerart["GSB"] = "GSB"
Steuerart["USB"] = "USB"
Steuerart["EPBescheid"] = "EPBescheid"
Steuerart["EPMitteilung"] = "EPMitteilung"
Steuerart["Gewerbesteuerbescheid"] = "Gewerbesteuerbescheid"
Steuerart["Gewerbesteuermitteilung"] = "Gewerbesteuermitteilung"
Steuerart["GEWMB"] = "GEWMB"
Steuerart["DIVAAnzeigeEinerLotterie"] = "DIVAAnzeigeEinerLotterie"
Steuerart["DIVABescheid"] = "DIVABescheid"
Steuerart["DivaBescheidESt"] = "DivaBescheidESt"
Steuerart["DIVABuchmachersteuer"] = "DIVABuchmachersteuer"
Steuerart["DIVALotteriesteuerEinmal"] = "DIVALotteriesteuerEinmal"
Steuerart["DIVALotteriesteuerMehr"] = "DIVALotteriesteuerMehr"
Steuerart["DIVASportwettensteuer"] = "DIVASportwettensteuer"
Steuerart["DIVATotalisator"] = "DIVATotalisator"
Steuerart["OZGBescheid"] = "OZGBescheid"
Steuerart["VerbindlicheAuskunft"] = "VerbindlicheAuskunft"
Steuerart["VerbindlicheZusage"] = "VerbindlicheZusage"
Steuerart["DivaSonstigerVA"] = "DivaSonstigerVA"
Steuerart["DivaBescheidErbSt"] = "DivaBescheidErbSt"
Steuerart["DivaBescheidFEIN"] = "DivaBescheidFEIN"
Steuerart["DivaBescheidGewSt"] = "DivaBescheidGewSt"
Steuerart["DivaBescheidKSt"] = "DivaBescheidKSt"
Steuerart["DivaBescheidUSt"] = "DivaBescheidUSt"
Steuerart["DivaBescheidSchenkSt"] = "DivaBescheidSchenkSt"
Steuerart["DIVATroncabgabe"] = "DIVATroncabgabe"
Steuerart["DIVAVirtuelleAutomatenStB"] = "DIVAVirtuelleAutomatenStB"
Steuerart["DIVAOnlinePokerStB"] = "DIVAOnlinePokerStB"
Steuerart["LStHVVMRM"] = "LStHVVMRM"
Steuerart["EinlagenrueckgewaehrVA"] = "EinlagenrueckgewaehrVA"
Steuerart["FTTMeldungVA"] = "FTTMeldungVA"
Steuerart["StatusInvStGVA"] = "StatusInvStGVA"
Steuerart["UStVEUVA"] = "UStVEUVA"
Steuerart["VERSVA"] = "VERSVA"
Steuerart["AltZertVA"] = "AltZertVA"
Steuerart["KapEStEntlastungVA"] = "KapEStEntlastungVA"
Steuerart["PostUDLVA"] = "PostUDLVA"
Steuerart["StAb50aVA"] = "StAb50aVA"
Steuerart["StAbEntlastungVA"] = "StAbEntlastungVA"
Steuerart["KassenangelegenheitenVA"] = "KassenangelegenheitenVA"
Steuerart["KStOptVA"] = "KStOptVA"
Steuerart["SteueroasenabwehrVA"] = "SteueroasenabwehrVA"
Steuerart["KDBVollmachtRM"] = "KDBVollmachtRM"
Steuerart["STBKE"] = "STBKE"
Steuerart["VDBKDBRueckmeldungLief"] = "VDBKDBRueckmeldungLief"
Steuerart["AnhangRueckmeldung"] = "AnhangRueckmeldung"
Steuerart["DivaEinwilligungRM"] = "DivaEinwilligungRM"
Steuerart["GlueckspielF"] = "GlueckspielF"
Steuerart["OZGMitteilung"] = "OZGMitteilung"
Steuerart["VerbindlicheAuskunftInfoF"] = "VerbindlicheAuskunftInfoF"
Steuerart["ELOProtokoll"] = "ELOProtokoll"
})(Steuerart || (Steuerart = {}));
/** @typedef {'text'|'base64'} */
export var Coding;
(function (Coding) {
Coding["text"] = "text"
Coding["base64"] = "base64"
})(Coding || (Coding = {}));
export class Meta17 {
/** @param {{name?:string,coding?:Coding,value?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description The type of metadata, e.g. datei [file] */
name;
/**
* @type {?Coding}
* @description The encoding of the metadata (text or base64) */
coding;
/**
* @type {?string}
* @description The content of the metadata */
value;
}
export class MetaInfoMaps17 {
constructor(init) { Object.assign(this, init) }
}
export class MetaInformationen17 {
/** @param {{meta?:Meta17[],metaInfoMaps?:MetaInfoMaps17}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {Meta17[]}
* @description List of metadata. */
meta;
/**
* @type {?MetaInfoMaps17}
* @description List of meta infomation maps. */
metaInfoMaps;
}
export class Anhaenge17 {
constructor(init) { Object.assign(this, init) }
}
export class Abholung17 extends Abholung {
/** @param {{steuerart?:Steuerart,metaInformationen?:MetaInformationen17,bereitstellungsticket?:string,anhaenge?:Anhaenge17,id?:string,idnr?:string,veranlagungsjahr?:number,uebertragungsweg?:Uebertragungsweg,encoding?:string,mandantennummer?:string,steuernummer?:string,bescheiddatum?:string,datenpaket?:Datenpaket,download?:Download,id?:string,idnr?:string,veranlagungsjahr?:number,uebertragungsweg?:Uebertragungsweg,encoding?:string,mandantennummer?:string,steuernummer?:string,bescheiddatum?:string,datenpaket?:Datenpaket,download?:Download}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {?Steuerart}
* @description The tax type (e.g. ESB) of the data record. */
steuerart;
/**
* @type {?MetaInformationen17}
* @description The meta information of the identifier. */
metaInformationen;
/**
* @type {?string}
* @description Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden. */
bereitstellungsticket;
/**
* @type {?Anhaenge17}
* @description The attachments of the data records. */
anhaenge;
/**
* @type {?string}
* @description The identifier of the data record. */
id;
/**
* @type {?string}
* @description The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'. */
idnr;
/**
* @type {?number}
* @description The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'. */
veranlagungsjahr;
/**
* @type {?Uebertragungsweg}
* @description The transmission path used. */
uebertragungsweg;
/**
* @type {?string}
* @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. */
encoding;
/**
* @type {?string}
* @description The client number; only applicable to the tax type 'ElsterDIVADaten'. */
mandantennummer;
/**
* @type {?string}
* @description The tax number; only applicable to the tax type 'ElsterDIVADaten'. */
steuernummer;
/**
* @type {?string}
* @description The asessment date; only applicable to the tax type 'ElsterDIVADaten'. */
bescheiddatum;
/**
* @type {?Datenpaket}
* @description Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet. */
datenpaket;
/**
* @type {?Download}
* @description Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations. */
download;
}
export class ProtokollRequestBase17 extends ProtokollRequestBase {
/** @param {{bescheid?:Abholung17,zertifikat?:PortalCertificate,zertifikat?:PortalCertificate}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {?Abholung17}
* @description The tax assessement, whose processing records shall be obtained. */
bescheid;
/**
* @type {PortalCertificate}
* @description The authentification certificate. */
zertifikat;
}
export class ServiceReponseBase {
/** @param {{id?:string,index?:number,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The unique identifier of the response. */
id;
/**
* @type {number}
* @description The position of the response element in an indexed collection. */
index;
/**
* @type {?ResponseStatus}
* @description Metadata that contains structured error information on the service response. */
responseStatus;
}
export class NdSFehler06 {
/** @param {{lfdNr?:string,kmId?:string,ordnungsMerkmal?:string,fehlerNummer?:number,fehlerText?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock. */
lfdNr;
/**
* @type {?string}
* @description Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes. */
kmId;
/**
* @type {?string}
* @description Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen). */
ordnungsMerkmal;
/**
* @type {?number}
* @description Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet. */
fehlerNummer;
/**
* @type {?string}
* @description Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet. */
fehlerText;
}
export class Nutzdatenblock06 {
/** @param {{nutzdatenTicket?:string,code?:number,text?:string,verarbeiteteNds?:number,nichtverarbeiteteNds?:number,ndSFehler?:NdSFehler06[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert. */
nutzdatenTicket;
/**
* @type {?number}
* @description Der Statuscode zum Nutzdatenblock. */
code;
/**
* @type {?string}
* @description Der Statustext zum Nutzdatenblock. */
text;
/**
* @type {?number}
* @description Anzahl der Verarbeiteten Nutzdatensätze. */
verarbeiteteNds;
/**
* @type {?number}
* @description Anzahl der nichtverarbeiteten Nutzdatensätze. */
nichtverarbeiteteNds;
/**
* @type {NdSFehler06[]}
* @description Der Datenteil des Protokolls. */
ndSFehler;
}
export class DatenTeil06 {
/** @param {{transferTicket?:string,code?:number,text?:string,nutzdatenbloecke?:Nutzdatenblock06[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description Das Transferticket der Datenlieferung. */
transferTicket;
/**
* @type {?number}
* @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). */
code;
/**
* @type {?string}
* @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. */
text;
/**
* @type {Nutzdatenblock06[]}
* @description Der Datenteil des Protokolls. */
nutzdatenbloecke;
}
export class Protokoll06 {
/** @param {{version?:number,zeitStempel?:string,datenTeil?:DatenTeil06}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?number}
* @description Version des Protokolls. */
version;
/**
* @type {?string}
* @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. */
zeitStempel;
/**
* @type {?DatenTeil06}
* @description Der Datenteil des Protokolls. */
datenTeil;
}
export class ProtokollResponse extends ServiceReponseBase {
/** @param {{protokoll?:Protokoll06,id?:string,index?:number,responseStatus?:ResponseStatus,id?:string,index?:number,responseStatus?:ResponseStatus}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {?Protokoll06}
* @description The processing record of a tax statement. */
protokoll;
/**
* @type {string}
* @description The unique identifier of the response. */
id;
/**
* @type {number}
* @description The position of the response element in an indexed collection. */
index;
/**
* @type {?ResponseStatus}
* @description Metadata that contains structured error information on the service response. */
responseStatus;
}
export class ProtokollRequest17 extends ProtokollRequestBase17 {
/** @param {{bescheid?:Abholung17,zertifikat?:PortalCertificate,bescheid?:Abholung17,zertifikat?:PortalCertificate,zertifikat?:PortalCertificate}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {?Abholung17}
* @description The tax assessement, whose processing records shall be obtained. */
bescheid;
/**
* @type {PortalCertificate}
* @description The authentification certificate. */
zertifikat;
}
JavaScript ProtokollRequest17 DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
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: text/jsonl
Content-Type: text/jsonl
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: text/jsonl 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"}}}