POST | /datenabholungen/protokolle/17/verarbeitungsprotokoll |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
# @Api(Description="Represents a base class for a file with raw data.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FileBase:
"""
Represents a base class for a file with raw data.
"""
# @ApiMember(Description="The raw data content of the file.", Name="Content")
content: Optional[bytes] = None
"""
The raw data content of the file.
"""
# @Api(Description="Represents a portal certificate that is protected by a password.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PortalCertificate(FileBase, ISecuredCertificate, IHasIndex):
"""
Represents a portal certificate that is protected by a password.
"""
# @ApiMember(Description="The unique identifier of the certificate.")
id: Optional[str] = None
"""
The unique identifier of the certificate.
"""
# @ApiMember(Description="The position of the certificate element in an indexed collection of certificates.")
index: int = 0
"""
The position of the certificate element in an indexed collection of certificates.
"""
# @StringLength(255)
# @ApiMember(Description="The password to protect the certificate from unauthorized access.")
pin: Optional[str] = None
"""
The password to protect the certificate from unauthorized access.
"""
# @StringLength(2147483647)
# @ApiMember(Description="The description of the certificate.")
description: Optional[str] = None
"""
The description of the certificate.
"""
# @ApiMember(Description="Tags that can be used to label or identify the certificate.")
tags: Optional[List[str]] = None
"""
Tags that can be used to label or identify the certificate.
"""
# @ApiMember(Description="Gets or sets the file name of the certificate.")
name: Optional[str] = None
"""
Gets or sets the file name of the certificate.
"""
# @ApiMember(Description="The raw data content of the file.", Name="Content")
content: Optional[bytes] = None
"""
The raw data content of the file.
"""
# @Api(Description="Represents a base service request to retrieve processing records from a specified tax assessement.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProtokollRequestBase(IReturn[ProtokollResponse], IPost):
"""
Represents a base service request to retrieve processing records from a specified tax assessement.
"""
# @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
zertifikat: Optional[PortalCertificate] = None
"""
The authentification certificate.
"""
@staticmethod
def response_type(): return ProtokollResponse
class Uebertragungsweg(str, Enum):
"""
Represents the transmission path.
"""
DIREKT = 'direkt'
LINK = 'link'
SAMMELLINK = 'sammellink'
# @Api(Description="The data packet from the retrieval operation.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Datenpaket:
"""
The data packet from the retrieval operation.
"""
# @ApiMember(Description="Encoded (compressed and encrypted) requested data record")
value: Optional[str] = None
"""
Encoded (compressed and encrypted) requested data record
"""
# @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.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Download:
"""
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.
"""
# @ApiMember(Description="The link to the data on the web server.")
url: Optional[str] = None
"""
The link to the data on the web server.
"""
# @ApiMember(Description="The user name for the web server.")
benutzer: Optional[str] = None
"""
The user name for the web server.
"""
# @ApiMember(Description="Password for the web server.")
passwort: Optional[str] = None
"""
Password for the web server.
"""
# @Api(Description="Represents the request to retrieve tax assessments by means of a specfied ID.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Abholung:
"""
Represents the request to retrieve tax assessments by means of a specfied ID.
"""
# @ApiMember(Description="The identifier of the data record.")
id: Optional[str] = None
"""
The identifier of the data record.
"""
# @ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
idnr: Optional[str] = None
"""
The ID number of the receipt owner. 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'.")
veranlagungsjahr: Optional[int] = None
"""
The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
"""
# @ApiMember(Description="The transmission path used.")
uebertragungsweg: Optional[Uebertragungsweg] = None
"""
The transmission path used.
"""
# @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.")
encoding: Optional[str] = None
"""
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 client number; only applicable to the tax type 'ElsterDIVADaten'.")
mandantennummer: Optional[str] = None
"""
The client number; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
steuernummer: Optional[str] = None
"""
The tax number; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
bescheiddatum: Optional[datetime.datetime] = None
"""
The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
datenpaket: Optional[Datenpaket] = None
"""
Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
"""
# @ApiMember(Description="Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.")
download: Optional[Download] = None
"""
Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
"""
class Steuerart(str, Enum):
"""
Represents the various tax types for the retrieval of data.
"""
ESB = 'ESB'
GSB = 'GSB'
USB = 'USB'
EP_BESCHEID = 'EPBescheid'
EP_MITTEILUNG = 'EPMitteilung'
GEWERBESTEUERBESCHEID = 'Gewerbesteuerbescheid'
GEWERBESTEUERMITTEILUNG = 'Gewerbesteuermitteilung'
GEWMB = 'GEWMB'
DIVA_ANZEIGE_EINER_LOTTERIE = 'DIVAAnzeigeEinerLotterie'
DIVA_BESCHEID = 'DIVABescheid'
DIVA_BESCHEID_E_ST = 'DivaBescheidESt'
DIVA_BUCHMACHERSTEUER = 'DIVABuchmachersteuer'
DIVA_LOTTERIESTEUER_EINMAL = 'DIVALotteriesteuerEinmal'
DIVA_LOTTERIESTEUER_MEHR = 'DIVALotteriesteuerMehr'
DIVA_SPORTWETTENSTEUER = 'DIVASportwettensteuer'
DIVA_TOTALISATOR = 'DIVATotalisator'
OZG_BESCHEID = 'OZGBescheid'
VERBINDLICHE_AUSKUNFT = 'VerbindlicheAuskunft'
VERBINDLICHE_ZUSAGE = 'VerbindlicheZusage'
DIVA_SONSTIGER_V_A = 'DivaSonstigerVA'
DIVA_BESCHEID_ERB_ST = 'DivaBescheidErbSt'
DIVA_BESCHEID_F_E_I_N = 'DivaBescheidFEIN'
DIVA_BESCHEID_GEW_ST = 'DivaBescheidGewSt'
DIVA_BESCHEID_K_ST = 'DivaBescheidKSt'
DIVA_BESCHEID_U_ST = 'DivaBescheidUSt'
DIVA_BESCHEID_SCHENK_ST = 'DivaBescheidSchenkSt'
DIVA_TRONCABGABE = 'DIVATroncabgabe'
DIVA_VIRTUELLE_AUTOMATEN_ST_B = 'DIVAVirtuelleAutomatenStB'
DIVA_ONLINE_POKER_ST_B = 'DIVAOnlinePokerStB'
L_ST_H_V_V_M_R_M = 'LStHVVMRM'
EINLAGENRUECKGEWAEHR_V_A = 'EinlagenrueckgewaehrVA'
FTT_MELDUNG_V_A = 'FTTMeldungVA'
STATUS_INV_ST_G_V_A = 'StatusInvStGVA'
U_ST_V_E_U_V_A = 'UStVEUVA'
VERSVA = 'VERSVA'
ALT_ZERT_V_A = 'AltZertVA'
KAP_E_ST_ENTLASTUNG_V_A = 'KapEStEntlastungVA'
POST_U_D_L_V_A = 'PostUDLVA'
ST_AB50A_V_A = 'StAb50aVA'
ST_AB_ENTLASTUNG_V_A = 'StAbEntlastungVA'
KASSENANGELEGENHEITEN_V_A = 'KassenangelegenheitenVA'
K_ST_OPT_V_A = 'KStOptVA'
STEUEROASENABWEHR_V_A = 'SteueroasenabwehrVA'
KDB_VOLLMACHT_R_M = 'KDBVollmachtRM'
STBKE = 'STBKE'
VDBKDB_RUECKMELDUNG_LIEF = 'VDBKDBRueckmeldungLief'
ANHANG_RUECKMELDUNG = 'AnhangRueckmeldung'
DIVA_EINWILLIGUNG_R_M = 'DivaEinwilligungRM'
GLUECKSPIEL_F = 'GlueckspielF'
OZG_MITTEILUNG = 'OZGMitteilung'
VERBINDLICHE_AUSKUNFT_INFO_F = 'VerbindlicheAuskunftInfoF'
ELO_PROTOKOLL = 'ELOProtokoll'
class Coding(str, Enum):
"""
Specifies the encoding of the metadata.
"""
TEXT = 'text'
BASE64 = 'base64'
# @Api(Description="Represents the metadata of a data record.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Meta17:
"""
Represents the metadata of a data record.
"""
# @ApiMember(Description="The type of metadata, e.g. datei [file]")
name: Optional[str] = None
"""
The type of metadata, e.g. datei [file]
"""
# @ApiMember(Description="The encoding of the metadata (text or base64)")
coding: Optional[Coding] = None
"""
The encoding of the metadata (text or base64)
"""
# @ApiMember(Description="The content of the metadata")
value: Optional[str] = None
"""
The content of the metadata
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MetaInfoMaps17:
"""
Represents a list of meta information maps.
"""
pass
# @Api(Description="Represents meta information.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MetaInformationen17:
"""
Represents meta information.
"""
# @ApiMember(Description="List of metadata.")
meta: Optional[List[Meta17]] = None
"""
List of metadata.
"""
# @ApiMember(Description="List of meta infomation maps.")
meta_info_maps: Optional[MetaInfoMaps17] = None
"""
List of meta infomation maps.
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Anhaenge17:
"""
Represents a list of attachments.
"""
pass
# @Api(Description="Represents a request to retrieve data records by means of one or more IDs.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Abholung17(Abholung):
"""
Represents a request to retrieve data records by means of one or more IDs.
"""
# @ApiMember(Description="The tax type (e.g. ESB) of the data record.")
steuerart: Optional[Steuerart] = None
"""
The tax type (e.g. ESB) of the data record.
"""
# @ApiMember(Description="The meta information of the identifier.")
meta_informationen: Optional[MetaInformationen17] = None
"""
The meta information of the identifier.
"""
# @ApiMember(Description="Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.")
bereitstellungsticket: Optional[str] = None
"""
Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
"""
# @ApiMember(Description="The attachments of the data records.")
anhaenge: Optional[Anhaenge17] = None
"""
The attachments of the data records.
"""
# @ApiMember(Description="The identifier of the data record.")
id: Optional[str] = None
"""
The identifier of the data record.
"""
# @ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")
idnr: Optional[str] = None
"""
The ID number of the receipt owner. 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'.")
veranlagungsjahr: Optional[int] = None
"""
The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
"""
# @ApiMember(Description="The transmission path used.")
uebertragungsweg: Optional[Uebertragungsweg] = None
"""
The transmission path used.
"""
# @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.")
encoding: Optional[str] = None
"""
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 client number; only applicable to the tax type 'ElsterDIVADaten'.")
mandantennummer: Optional[str] = None
"""
The client number; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")
steuernummer: Optional[str] = None
"""
The tax number; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")
bescheiddatum: Optional[datetime.datetime] = None
"""
The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
"""
# @ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")
datenpaket: Optional[Datenpaket] = None
"""
Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
"""
# @ApiMember(Description="Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.")
download: Optional[Download] = None
"""
Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
"""
# @Api(Description="Represents a base service request to retrieve logs about a specified tax assessement.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProtokollRequestBase17(ProtokollRequestBase):
"""
Represents a base service request to retrieve logs about a specified tax assessement.
"""
# @ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")
bescheid: Optional[Abholung17] = None
"""
The tax assessement, whose processing records shall be obtained.
"""
# @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
zertifikat: Optional[PortalCertificate] = None
"""
The authentification certificate.
"""
# @Api(Description="Specifies a service response from an ERiC service operation.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ServiceReponseBase(IHasIndex):
"""
Specifies a service response from an ERiC service operation.
"""
# @ApiMember(Description="The unique identifier of the response.", Name="Id")
id: Optional[str] = None
"""
The unique identifier of the response.
"""
# @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
index: int = 0
"""
The position of the response element in an indexed collection.
"""
# @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
response_status: Optional[ResponseStatus] = None
"""
Metadata that contains structured error information on the service response.
"""
# @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)")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NdSFehler06:
"""
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)
"""
# @ApiMember(Description="Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.", Name="LfdNr")
lfd_nr: Optional[str] = None
"""
Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.
"""
# @ApiMember(Description="Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.", Name="KmId")
km_id: Optional[str] = None
"""
Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.
"""
# @ApiMember(Description="Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).", Name="OrdnungsMerkmal")
ordnungs_merkmal: Optional[str] = None
"""
Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).
"""
# @ApiMember(Description="Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.", Name="FehlerNummer")
fehler_nummer: Optional[int] = None
"""
Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.
"""
# @ApiMember(Description="Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.", Name="FehlerText")
fehler_text: Optional[str] = None
"""
Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.
"""
# @Api(Description="Stellt ein Element eines Nutztdatenblockes dar.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Nutzdatenblock06:
"""
Stellt ein Element eines Nutztdatenblockes dar.
"""
# @ApiMember(Description="Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.")
nutzdaten_ticket: Optional[str] = None
"""
Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.
"""
# @ApiMember(Description="Der Statuscode zum Nutzdatenblock.")
code: Optional[int] = None
"""
Der Statuscode zum Nutzdatenblock.
"""
# @ApiMember(Description="Der Statustext zum Nutzdatenblock.")
text: Optional[str] = None
"""
Der Statustext zum Nutzdatenblock.
"""
# @ApiMember(Description="Anzahl der Verarbeiteten Nutzdatensätze.")
verarbeitete_nds: Optional[int] = None
"""
Anzahl der Verarbeiteten Nutzdatensätze.
"""
# @ApiMember(Description="Anzahl der nichtverarbeiteten Nutzdatensätze.")
nichtverarbeitete_nds: Optional[int] = None
"""
Anzahl der nichtverarbeiteten Nutzdatensätze.
"""
# @ApiMember(Description="Der Datenteil des Protokolls.")
nd_s_fehler: Optional[List[NdSFehler06]] = None
"""
Der Datenteil des Protokolls.
"""
# @Api(Description="Stellt den Datenteil eines Protokolls dar.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DatenTeil06:
"""
Stellt den Datenteil eines Protokolls dar.
"""
# @ApiMember(Description="Das Transferticket der Datenlieferung.")
transfer_ticket: Optional[str] = None
"""
Das Transferticket der Datenlieferung.
"""
# @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).")
code: Optional[int] = None
"""
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 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: Optional[str] = None
"""
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.")
nutzdatenbloecke: Optional[List[Nutzdatenblock06]] = None
"""
Der Datenteil des Protokolls.
"""
# @Api(Description="Das Verarbeitungsprotokoll einer Datenabholungsprozesses.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Protokoll06:
"""
Das Verarbeitungsprotokoll einer Datenabholungsprozesses.
"""
# @ApiMember(Description="Version des Protokolls.", Name="Version")
version: Optional[int] = None
"""
Version des Protokolls.
"""
# @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")
zeit_stempel: Optional[datetime.datetime] = None
"""
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 Datenteil des Protokolls.", Name="DatenTeil")
daten_teil: Optional[DatenTeil06] = None
"""
Der Datenteil des Protokolls.
"""
# @Api(Description="Represents a type that encapulates the processing records of a tax statement.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProtokollResponse(ServiceReponseBase):
"""
Represents a type that encapulates the processing records of a tax statement.
"""
# @ApiMember(Description="The processing record of a tax statement.", Name="Protokoll")
protokoll: Optional[Protokoll06] = None
"""
The processing record of a tax statement.
"""
# @ApiMember(Description="The unique identifier of the response.", Name="Id")
id: Optional[str] = None
"""
The unique identifier of the response.
"""
# @ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")
index: int = 0
"""
The position of the response element in an indexed collection.
"""
# @ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")
response_status: Optional[ResponseStatus] = None
"""
Metadata that contains structured error information on the service response.
"""
# @Api(Description="Represents the service request to retrieve logs about a specified tax assessement.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProtokollRequest17(ProtokollRequestBase17):
"""
Represents the service request to retrieve logs about a specified tax assessement.
"""
# @ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")
bescheid: Optional[Abholung17] = None
"""
The tax assessement, whose processing records shall be obtained.
"""
# @ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")
zertifikat: Optional[PortalCertificate] = None
"""
The authentification certificate.
"""
Python ProtokollRequest17 DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .x-msgpack suffix or ?format=x-msgpack
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: application/x-msgpack
Content-Type: application/x-msgpack
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: application/x-msgpack 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"}}}