POST | /async/datenabholungen/protokolle/17/verarbeitungsprotokoll |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
/**
* Represents a base class for a file with raw data.
*/
// @Api(Description="Represents a base class for a file with raw data.")
abstract class FileBase
{
/**
* The raw data content of the file.
*/
// @ApiMember(Description="The raw data content of the file.", Name="Content")
Uint8List? content;
FileBase({this.content});
FileBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
content = JsonConverters.fromJson(json['content'],'Uint8List',context!);
return this;
}
Map<String, dynamic> toJson() => {
'content': JsonConverters.toJson(content,'Uint8List',context!)
};
getTypeName() => "FileBase";
TypeContext? context = _ctx;
}
/**
* Represents a portal certificate that is protected by a password.
*/
// @Api(Description="Represents a portal certificate that is protected by a password.")
class PortalCertificate extends FileBase implements ISecuredCertificate, IHasIndex, IConvertible
{
/**
* The unique identifier of the certificate.
*/
// @ApiMember(Description="The unique identifier of the certificate.")
String? id;
/**
* 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.")
int? index;
/**
* The password to protect the certificate from unauthorized access.
*/
// @StringLength(255)
// @ApiMember(Description="The password to protect the certificate from unauthorized access.")
String? pin;
/**
* The description of the certificate.
*/
// @StringLength(2147483647)
// @ApiMember(Description="The description of the certificate.")
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.")
List<String>? tags;
/**
* Gets or sets the file name of the certificate.
*/
// @ApiMember(Description="Gets or sets the file name of the certificate.")
String? name;
/**
* The raw data content of the file.
*/
// @ApiMember(Description="The raw data content of the file.", Name="Content")
Uint8List? content;
PortalCertificate({this.id,this.index,this.pin,this.description,this.tags,this.name,this.content});
PortalCertificate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
index = json['index'];
pin = json['pin'];
description = json['description'];
tags = JsonConverters.fromJson(json['tags'],'List<String>',context!);
name = json['name'];
content = JsonConverters.fromJson(json['content'],'Uint8List',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'index': index,
'pin': pin,
'description': description,
'tags': JsonConverters.toJson(tags,'List<String>',context!),
'name': name,
'content': JsonConverters.toJson(content,'Uint8List',context!)
});
getTypeName() => "PortalCertificate";
TypeContext? context = _ctx;
}
/**
* Represents a base service request to retrieve processing records from a specified tax assessement.
*/
// @Api(Description="Represents a base service request to retrieve processing records from a specified tax assessement.")
abstract class ProtokollRequestBase implements IPost
{
/**
* The authentification certificate.
*/
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
PortalCertificate? zertifikat;
ProtokollRequestBase({this.zertifikat});
ProtokollRequestBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
zertifikat = JsonConverters.fromJson(json['zertifikat'],'PortalCertificate',context!);
return this;
}
Map<String, dynamic> toJson() => {
'zertifikat': JsonConverters.toJson(zertifikat,'PortalCertificate',context!)
};
getTypeName() => "ProtokollRequestBase";
TypeContext? context = _ctx;
}
/**
* Represents the transmission path.
*/
enum Uebertragungsweg
{
direkt,
link,
sammellink,
}
/**
* The data packet from the retrieval operation.
*/
// @Api(Description="The data packet from the retrieval operation.")
class Datenpaket implements IConvertible
{
/**
* Encoded (compressed and encrypted) requested data record
*/
// @ApiMember(Description="Encoded (compressed and encrypted) requested data record")
String? value;
Datenpaket({this.value});
Datenpaket.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
value = json['value'];
return this;
}
Map<String, dynamic> toJson() => {
'value': value
};
getTypeName() => "Datenpaket";
TypeContext? context = _ctx;
}
/**
* 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.")
class Download implements IConvertible
{
/**
* The link to the data on the web server.
*/
// @ApiMember(Description="The link to the data on the web server.")
String? url;
/**
* The user name for the web server.
*/
// @ApiMember(Description="The user name for the web server.")
String? benutzer;
/**
* Password for the web server.
*/
// @ApiMember(Description="Password for the web server.")
String? passwort;
Download({this.url,this.benutzer,this.passwort});
Download.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
url = json['url'];
benutzer = json['benutzer'];
passwort = json['passwort'];
return this;
}
Map<String, dynamic> toJson() => {
'url': url,
'benutzer': benutzer,
'passwort': passwort
};
getTypeName() => "Download";
TypeContext? context = _ctx;
}
/**
* 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.")
abstract class Abholung
{
/**
* The identifier of the data record.
*/
// @ApiMember(Description="The identifier of the data record.")
String? id;
/**
* 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'.")
String? idnr;
/**
* 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'.")
int? veranlagungsjahr;
/**
* The transmission path used.
*/
// @ApiMember(Description="The transmission path used.")
Uebertragungsweg? uebertragungsweg;
/**
* 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.")
String? encoding;
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
String? mandantennummer;
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
String? steuernummer;
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
DateTime? bescheiddatum;
/**
* Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
*/
// @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
Datenpaket? datenpaket;
/**
* 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.")
Download? download;
Abholung({this.id,this.idnr,this.veranlagungsjahr,this.uebertragungsweg,this.encoding,this.mandantennummer,this.steuernummer,this.bescheiddatum,this.datenpaket,this.download});
Abholung.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
idnr = json['idnr'];
veranlagungsjahr = json['veranlagungsjahr'];
uebertragungsweg = JsonConverters.fromJson(json['uebertragungsweg'],'Uebertragungsweg',context!);
encoding = json['encoding'];
mandantennummer = json['mandantennummer'];
steuernummer = json['steuernummer'];
bescheiddatum = JsonConverters.fromJson(json['bescheiddatum'],'DateTime',context!);
datenpaket = JsonConverters.fromJson(json['datenpaket'],'Datenpaket',context!);
download = JsonConverters.fromJson(json['download'],'Download',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'idnr': idnr,
'veranlagungsjahr': veranlagungsjahr,
'uebertragungsweg': JsonConverters.toJson(uebertragungsweg,'Uebertragungsweg',context!),
'encoding': encoding,
'mandantennummer': mandantennummer,
'steuernummer': steuernummer,
'bescheiddatum': JsonConverters.toJson(bescheiddatum,'DateTime',context!),
'datenpaket': JsonConverters.toJson(datenpaket,'Datenpaket',context!),
'download': JsonConverters.toJson(download,'Download',context!)
};
getTypeName() => "Abholung";
TypeContext? context = _ctx;
}
/**
* Represents the various tax types for the retrieval of data.
*/
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,
}
/**
* Specifies the encoding of the metadata.
*/
enum Coding
{
text,
base64,
}
/**
* Represents the metadata of a data record.
*/
// @Api(Description="Represents the metadata of a data record.")
class Meta17 implements IConvertible
{
/**
* The type of metadata, e.g. datei [file]
*/
// @ApiMember(Description="The type of metadata, e.g. datei [file]")
String? name;
/**
* The encoding of the metadata (text or base64)
*/
// @ApiMember(Description="The encoding of the metadata (text or base64)")
Coding? coding;
/**
* The content of the metadata
*/
// @ApiMember(Description="The content of the metadata")
String? value;
Meta17({this.name,this.coding,this.value});
Meta17.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
coding = JsonConverters.fromJson(json['coding'],'Coding',context!);
value = json['value'];
return this;
}
Map<String, dynamic> toJson() => {
'name': name,
'coding': JsonConverters.toJson(coding,'Coding',context!),
'value': value
};
getTypeName() => "Meta17";
TypeContext? context = _ctx;
}
/**
* Represents a list of meta information maps.
*/
class MetaInfoMaps17 implements IConvertible
{
MetaInfoMaps17();
MetaInfoMaps17.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "MetaInfoMaps17";
TypeContext? context = _ctx;
}
/**
* Represents meta information.
*/
// @Api(Description="Represents meta information.")
class MetaInformationen17 implements IConvertible
{
/**
* List of metadata.
*/
// @ApiMember(Description="List of metadata.")
List<Meta17>? meta;
/**
* List of meta infomation maps.
*/
// @ApiMember(Description="List of meta infomation maps.")
MetaInfoMaps17? metaInfoMaps;
MetaInformationen17({this.meta,this.metaInfoMaps});
MetaInformationen17.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
meta = JsonConverters.fromJson(json['meta'],'List<Meta17>',context!);
metaInfoMaps = JsonConverters.fromJson(json['metaInfoMaps'],'MetaInfoMaps17',context!);
return this;
}
Map<String, dynamic> toJson() => {
'meta': JsonConverters.toJson(meta,'List<Meta17>',context!),
'metaInfoMaps': JsonConverters.toJson(metaInfoMaps,'MetaInfoMaps17',context!)
};
getTypeName() => "MetaInformationen17";
TypeContext? context = _ctx;
}
/**
* Represents a list of attachments.
*/
class Anhaenge17 implements IConvertible
{
Anhaenge17();
Anhaenge17.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "Anhaenge17";
TypeContext? context = _ctx;
}
/**
* 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.")
class Abholung17 extends Abholung implements IConvertible
{
/**
* The tax type (e.g. ESB) of the data record.
*/
// @ApiMember(Description="The tax type (e.g. ESB) of the data record.")
Steuerart? steuerart;
/**
* The meta information of the identifier.
*/
// @ApiMember(Description="The meta information of the identifier.")
MetaInformationen17? metaInformationen;
/**
* 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.")
String? bereitstellungsticket;
/**
* The attachments of the data records.
*/
// @ApiMember(Description="The attachments of the data records.")
Anhaenge17? anhaenge;
/**
* The identifier of the data record.
*/
// @ApiMember(Description="The identifier of the data record.")
String? id;
/**
* 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'.")
String? idnr;
/**
* 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'.")
int? veranlagungsjahr;
/**
* The transmission path used.
*/
// @ApiMember(Description="The transmission path used.")
Uebertragungsweg? uebertragungsweg;
/**
* 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.")
String? encoding;
/**
* The client number; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")
String? mandantennummer;
/**
* The tax number; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
String? steuernummer;
/**
* The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
*/
// @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
DateTime? bescheiddatum;
/**
* Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
*/
// @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
Datenpaket? datenpaket;
/**
* 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.")
Download? download;
Abholung17({this.steuerart,this.metaInformationen,this.bereitstellungsticket,this.anhaenge,this.id,this.idnr,this.veranlagungsjahr,this.uebertragungsweg,this.encoding,this.mandantennummer,this.steuernummer,this.bescheiddatum,this.datenpaket,this.download});
Abholung17.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
steuerart = JsonConverters.fromJson(json['steuerart'],'Steuerart',context!);
metaInformationen = JsonConverters.fromJson(json['metaInformationen'],'MetaInformationen17',context!);
bereitstellungsticket = json['bereitstellungsticket'];
anhaenge = JsonConverters.fromJson(json['anhaenge'],'Anhaenge17',context!);
id = json['id'];
idnr = json['idnr'];
veranlagungsjahr = json['veranlagungsjahr'];
uebertragungsweg = JsonConverters.fromJson(json['uebertragungsweg'],'Uebertragungsweg',context!);
encoding = json['encoding'];
mandantennummer = json['mandantennummer'];
steuernummer = json['steuernummer'];
bescheiddatum = JsonConverters.fromJson(json['bescheiddatum'],'DateTime',context!);
datenpaket = JsonConverters.fromJson(json['datenpaket'],'Datenpaket',context!);
download = JsonConverters.fromJson(json['download'],'Download',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'steuerart': JsonConverters.toJson(steuerart,'Steuerart',context!),
'metaInformationen': JsonConverters.toJson(metaInformationen,'MetaInformationen17',context!),
'bereitstellungsticket': bereitstellungsticket,
'anhaenge': JsonConverters.toJson(anhaenge,'Anhaenge17',context!),
'id': id,
'idnr': idnr,
'veranlagungsjahr': veranlagungsjahr,
'uebertragungsweg': JsonConverters.toJson(uebertragungsweg,'Uebertragungsweg',context!),
'encoding': encoding,
'mandantennummer': mandantennummer,
'steuernummer': steuernummer,
'bescheiddatum': JsonConverters.toJson(bescheiddatum,'DateTime',context!),
'datenpaket': JsonConverters.toJson(datenpaket,'Datenpaket',context!),
'download': JsonConverters.toJson(download,'Download',context!)
});
getTypeName() => "Abholung17";
TypeContext? context = _ctx;
}
/**
* Represents a base service request to retrieve logs about a specified tax assessement.
*/
// @Api(Description="Represents a base service request to retrieve logs about a specified tax assessement.")
abstract class ProtokollRequestBase17 extends ProtokollRequestBase
{
/**
* The tax assessement, whose processing records shall be obtained.
*/
// @ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")
Abholung17? bescheid;
/**
* The authentification certificate.
*/
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
PortalCertificate? zertifikat;
ProtokollRequestBase17({this.bescheid,this.zertifikat});
ProtokollRequestBase17.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
bescheid = JsonConverters.fromJson(json['bescheid'],'Abholung17',context!);
zertifikat = JsonConverters.fromJson(json['zertifikat'],'PortalCertificate',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'bescheid': JsonConverters.toJson(bescheid,'Abholung17',context!),
'zertifikat': JsonConverters.toJson(zertifikat,'PortalCertificate',context!)
});
getTypeName() => "ProtokollRequestBase17";
TypeContext? context = _ctx;
}
/**
* Specifies a service response from an ERiC service operation.
*/
// @Api(Description="Specifies a service response from an ERiC service operation.")
abstract class ServiceReponseBase implements IHasIndex
{
/**
* The unique identifier of the response.
*/
// @ApiMember(Description="The unique identifier of the response.", Name="Id")
String? id;
/**
* The position of the response element in an indexed collection.
*/
// @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
int? index;
/**
* Metadata that contains structured error information on the service response.
*/
// @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
ResponseStatus? responseStatus;
ServiceReponseBase({this.id,this.index,this.responseStatus});
ServiceReponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
index = json['index'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'index': index,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "ServiceReponseBase";
TypeContext? context = _ctx;
}
/**
* Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)
*/
// @Api(Description="Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)")
class NdSFehler06 implements IConvertible
{
/**
* Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.
*/
// @ApiMember(Description="Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.", Name="LfdNr")
String? lfdNr;
/**
* Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.
*/
// @ApiMember(Description="Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.", Name="KmId")
String? kmId;
/**
* Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).
*/
// @ApiMember(Description="Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).", Name="OrdnungsMerkmal")
String? ordnungsMerkmal;
/**
* Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.
*/
// @ApiMember(Description="Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.", Name="FehlerNummer")
int? fehlerNummer;
/**
* Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.
*/
// @ApiMember(Description="Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.", Name="FehlerText")
String? fehlerText;
NdSFehler06({this.lfdNr,this.kmId,this.ordnungsMerkmal,this.fehlerNummer,this.fehlerText});
NdSFehler06.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
lfdNr = json['lfdNr'];
kmId = json['kmId'];
ordnungsMerkmal = json['ordnungsMerkmal'];
fehlerNummer = json['fehlerNummer'];
fehlerText = json['fehlerText'];
return this;
}
Map<String, dynamic> toJson() => {
'lfdNr': lfdNr,
'kmId': kmId,
'ordnungsMerkmal': ordnungsMerkmal,
'fehlerNummer': fehlerNummer,
'fehlerText': fehlerText
};
getTypeName() => "NdSFehler06";
TypeContext? context = _ctx;
}
/**
* Stellt ein Element eines Nutztdatenblockes dar.
*/
// @Api(Description="Stellt ein Element eines Nutztdatenblockes dar.")
class Nutzdatenblock06 implements IConvertible
{
/**
* Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.
*/
// @ApiMember(Description="Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.")
String? nutzdatenTicket;
/**
* Der Statuscode zum Nutzdatenblock.
*/
// @ApiMember(Description="Der Statuscode zum Nutzdatenblock.")
int? code;
/**
* Der Statustext zum Nutzdatenblock.
*/
// @ApiMember(Description="Der Statustext zum Nutzdatenblock.")
String? text;
/**
* Anzahl der Verarbeiteten Nutzdatensätze.
*/
// @ApiMember(Description="Anzahl der Verarbeiteten Nutzdatensätze.")
int? verarbeiteteNds;
/**
* Anzahl der nichtverarbeiteten Nutzdatensätze.
*/
// @ApiMember(Description="Anzahl der nichtverarbeiteten Nutzdatensätze.")
int? nichtverarbeiteteNds;
/**
* Der Datenteil des Protokolls.
*/
// @ApiMember(Description="Der Datenteil des Protokolls.")
List<NdSFehler06>? ndSFehler;
Nutzdatenblock06({this.nutzdatenTicket,this.code,this.text,this.verarbeiteteNds,this.nichtverarbeiteteNds,this.ndSFehler});
Nutzdatenblock06.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
nutzdatenTicket = json['nutzdatenTicket'];
code = json['code'];
text = json['text'];
verarbeiteteNds = json['verarbeiteteNds'];
nichtverarbeiteteNds = json['nichtverarbeiteteNds'];
ndSFehler = JsonConverters.fromJson(json['ndSFehler'],'List<NdSFehler06>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'nutzdatenTicket': nutzdatenTicket,
'code': code,
'text': text,
'verarbeiteteNds': verarbeiteteNds,
'nichtverarbeiteteNds': nichtverarbeiteteNds,
'ndSFehler': JsonConverters.toJson(ndSFehler,'List<NdSFehler06>',context!)
};
getTypeName() => "Nutzdatenblock06";
TypeContext? context = _ctx;
}
/**
* Stellt den Datenteil eines Protokolls dar.
*/
// @Api(Description="Stellt den Datenteil eines Protokolls dar.")
class DatenTeil06 implements IConvertible
{
/**
* Das Transferticket der Datenlieferung.
*/
// @ApiMember(Description="Das Transferticket der Datenlieferung.")
String? transferTicket;
/**
* 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).
*/
// @ApiMember(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).")
int? code;
/**
* 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.
*/
// @ApiMember(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.")
String? text;
/**
* Der Datenteil des Protokolls.
*/
// @ApiMember(Description="Der Datenteil des Protokolls.")
List<Nutzdatenblock06>? nutzdatenbloecke;
DatenTeil06({this.transferTicket,this.code,this.text,this.nutzdatenbloecke});
DatenTeil06.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
transferTicket = json['transferTicket'];
code = json['code'];
text = json['text'];
nutzdatenbloecke = JsonConverters.fromJson(json['nutzdatenbloecke'],'List<Nutzdatenblock06>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'transferTicket': transferTicket,
'code': code,
'text': text,
'nutzdatenbloecke': JsonConverters.toJson(nutzdatenbloecke,'List<Nutzdatenblock06>',context!)
};
getTypeName() => "DatenTeil06";
TypeContext? context = _ctx;
}
/**
* Das Verarbeitungsprotokoll einer Datenabholungsprozesses.
*/
// @Api(Description="Das Verarbeitungsprotokoll einer Datenabholungsprozesses.")
class Protokoll06 implements IConvertible
{
/**
* Version des Protokolls.
*/
// @ApiMember(Description="Version des Protokolls.", Name="Version")
int? version;
/**
* Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.
*/
// @ApiMember(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.", Name="ZeitStempel")
DateTime? zeitStempel;
/**
* Der Datenteil des Protokolls.
*/
// @ApiMember(Description="Der Datenteil des Protokolls.", Name="DatenTeil")
DatenTeil06? datenTeil;
Protokoll06({this.version,this.zeitStempel,this.datenTeil});
Protokoll06.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
version = json['version'];
zeitStempel = JsonConverters.fromJson(json['zeitStempel'],'DateTime',context!);
datenTeil = JsonConverters.fromJson(json['datenTeil'],'DatenTeil06',context!);
return this;
}
Map<String, dynamic> toJson() => {
'version': version,
'zeitStempel': JsonConverters.toJson(zeitStempel,'DateTime',context!),
'datenTeil': JsonConverters.toJson(datenTeil,'DatenTeil06',context!)
};
getTypeName() => "Protokoll06";
TypeContext? context = _ctx;
}
/**
* Represents a type that encapulates the processing records of a tax statement.
*/
// @Api(Description="Represents a type that encapulates the processing records of a tax statement.")
class ProtokollResponse extends ServiceReponseBase implements IConvertible
{
/**
* The processing record of a tax statement.
*/
// @ApiMember(Description="The processing record of a tax statement.", Name="Protokoll")
Protokoll06? protokoll;
/**
* The unique identifier of the response.
*/
// @ApiMember(Description="The unique identifier of the response.", Name="Id")
String? id;
/**
* The position of the response element in an indexed collection.
*/
// @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
int? index;
/**
* Metadata that contains structured error information on the service response.
*/
// @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
ResponseStatus? responseStatus;
ProtokollResponse({this.protokoll,this.id,this.index,this.responseStatus});
ProtokollResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
protokoll = JsonConverters.fromJson(json['protokoll'],'Protokoll06',context!);
id = json['id'];
index = json['index'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'protokoll': JsonConverters.toJson(protokoll,'Protokoll06',context!),
'id': id,
'index': index,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
});
getTypeName() => "ProtokollResponse";
TypeContext? context = _ctx;
}
/**
* Represents the service request to retrieve logs about a specified tax assessement.
*/
// @Api(Description="Represents the service request to retrieve logs about a specified tax assessement.")
class ProtokollRequest17Async extends ProtokollRequestBase17 implements IConvertible
{
/**
* The tax assessement, whose processing records shall be obtained.
*/
// @ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")
Abholung17? bescheid;
/**
* The authentification certificate.
*/
// @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
PortalCertificate? zertifikat;
ProtokollRequest17Async({this.bescheid,this.zertifikat});
ProtokollRequest17Async.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
bescheid = JsonConverters.fromJson(json['bescheid'],'Abholung17',context!);
zertifikat = JsonConverters.fromJson(json['zertifikat'],'PortalCertificate',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'bescheid': JsonConverters.toJson(bescheid,'Abholung17',context!),
'zertifikat': JsonConverters.toJson(zertifikat,'PortalCertificate',context!)
});
getTypeName() => "ProtokollRequest17Async";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: <String, TypeInfo> {
'FileBase': TypeInfo(TypeOf.AbstractClass),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
'PortalCertificate': TypeInfo(TypeOf.Class, create:() => PortalCertificate()),
'ProtokollRequestBase': TypeInfo(TypeOf.AbstractClass),
'Uebertragungsweg': TypeInfo(TypeOf.Enum, enumValues:Uebertragungsweg.values),
'Datenpaket': TypeInfo(TypeOf.Class, create:() => Datenpaket()),
'Download': TypeInfo(TypeOf.Class, create:() => Download()),
'Abholung': TypeInfo(TypeOf.AbstractClass),
'Steuerart': TypeInfo(TypeOf.Enum, enumValues:Steuerart.values),
'Coding': TypeInfo(TypeOf.Enum, enumValues:Coding.values),
'Meta17': TypeInfo(TypeOf.Class, create:() => Meta17()),
'MetaInfoMaps17': TypeInfo(TypeOf.Class, create:() => MetaInfoMaps17()),
'MetaInformationen17': TypeInfo(TypeOf.Class, create:() => MetaInformationen17()),
'List<Meta17>': TypeInfo(TypeOf.Class, create:() => <Meta17>[]),
'Anhaenge17': TypeInfo(TypeOf.Class, create:() => Anhaenge17()),
'Abholung17': TypeInfo(TypeOf.Class, create:() => Abholung17()),
'ProtokollRequestBase17': TypeInfo(TypeOf.AbstractClass),
'ServiceReponseBase': TypeInfo(TypeOf.AbstractClass),
'NdSFehler06': TypeInfo(TypeOf.Class, create:() => NdSFehler06()),
'Nutzdatenblock06': TypeInfo(TypeOf.Class, create:() => Nutzdatenblock06()),
'List<NdSFehler06>': TypeInfo(TypeOf.Class, create:() => <NdSFehler06>[]),
'DatenTeil06': TypeInfo(TypeOf.Class, create:() => DatenTeil06()),
'List<Nutzdatenblock06>': TypeInfo(TypeOf.Class, create:() => <Nutzdatenblock06>[]),
'Protokoll06': TypeInfo(TypeOf.Class, create:() => Protokoll06()),
'ProtokollResponse': TypeInfo(TypeOf.Class, create:() => ProtokollResponse()),
'ProtokollRequest17Async': TypeInfo(TypeOf.Class, create:() => ProtokollRequest17Async()),
});
Dart ProtokollRequest17Async 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 HTTP/1.1
Host: taxfiling.pwc.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ProtokollRequest17Async 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>
<Bescheid 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>
</Bescheid>
</ProtokollRequest17Async>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ProtokollResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Datenabholungen.Responses"> <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:d2p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/PwC.xEric.Core.Services.Contracts.Responses"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1: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>