Tax Filing Service

<back to all web services

HolePortalZertifikatEigenschaften

SyncHoleZertifikat

A synchronous service to get the properties of a specified portal certificate.

Requires Authentication
The following routes are available for this service:
POST/HolePortalZertifikatEigenschaftenA synchronous service to get the properties of a specified portal certificate.
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


/** @description Represents a base class for a file with raw data. */
// @Api(Description="Represents a base class for a file with raw data.")
class FileBase implements JsonSerializable
{
    public function __construct(
        /** @description The raw data content of the file in bytes. */
        // @ApiMember(Description="The raw data content of the file in bytes.", Name="Content")
        /** @var ByteArray|null */
        public ?ByteArray $content=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['content'])) $this->content = JsonConverters::from('ByteArray', $o['content']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->content)) $o['content'] = JsonConverters::to('ByteArray', $this->content);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description 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, JsonSerializable
{
    /**
     * @param ByteArray|null $content
     */
    public function __construct(
        ?ByteArray $content=null,
        /** @description The file name of the certificate. */
        // @ApiMember(Description="The file name of the certificate.")
        // @StringLength(128)
        /** @var string */
        public string $name='',

        /** @description The password to protect the certificate from unauthorized access. */
        // @StringLength(255)
        // @ApiMember(Description="The password to protect the certificate from unauthorized access.")
        /** @var string */
        public string $pin='',

        /** @description The description of the certificate. */
        // @StringLength(2147483647)
        // @ApiMember(Description="The description of the certificate.")
        /** @var string|null */
        public ?string $description=null,

        /** @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.")
        /** @var array<string>|null */
        public ?array $tags=null
    ) {
        parent::__construct($content);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['name'])) $this->name = $o['name'];
        if (isset($o['pin'])) $this->pin = $o['pin'];
        if (isset($o['description'])) $this->description = $o['description'];
        if (isset($o['tags'])) $this->tags = JsonConverters::fromArray('string', $o['tags']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->name)) $o['name'] = $this->name;
        if (isset($this->pin)) $o['pin'] = $this->pin;
        if (isset($this->description)) $o['description'] = $this->description;
        if (isset($this->tags)) $o['tags'] = JsonConverters::toArray('string', $this->tags);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description A base service to get the properties of a specified portal certificate. */
// @Api(Description="A base service to get the properties of a specified portal certificate.")
class HolePortalZertifikatEigenschaftenBase implements IPost, JsonSerializable
{
    public function __construct(
        /** @description The portal certificate. */
        // @ApiMember(Description="The portal certificate.", Name="Zertifikat")
        /** @var PortalCertificate|null */
        public ?PortalCertificate $zertifikat=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['zertifikat'])) $this->zertifikat = JsonConverters::from('PortalCertificate', $o['zertifikat']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->zertifikat)) $o['zertifikat'] = JsonConverters::to('PortalCertificate', $this->zertifikat);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Specifies a service response from an ERiC service operation. */
// @Api(Description="Specifies a service response from an ERiC service operation.")
class ServiceReponseBase implements IHasIndex, JsonSerializable
{
    public function __construct(
        /** @description The unique identifier of the response. */
        // @ApiMember(Description="The unique identifier of the response.")
        /** @var string */
        public string $id='',

        /** @description The position of the response element in an indexed collection. */
        // @ApiMember(Description="The position of the response element in an indexed collection.")
        /** @var int */
        public int $index=0,

        /** @description Metadata that contains structured error information on the service response. */
        // @ApiMember(Description="Metadata that contains structured error information on the service response.")
        /** @var ResponseStatus|null */
        public ?ResponseStatus $responseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id'])) $this->id = $o['id'];
        if (isset($o['index'])) $this->index = $o['index'];
        if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id)) $o['id'] = $this->id;
        if (isset($this->index)) $o['index'] = $this->index;
        if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Enumeration of ERiC API error codes. */
enum EricFehlerCode : int
{
    case ERIC_OK = 0;
    case ERIC_GLOBAL_UNKNOWN = 610001001;
    case ERIC_GLOBAL_PRUEF_FEHLER = 610001002;
    case ERIC_GLOBAL_HINWEISE = 610001003;
    case ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN = 610001007;
    case ERIC_GLOBAL_KEINE_DATEN_VORHANDEN = 610001008;
    case ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER = 610001013;
    case ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN = 610001014;
    case ERIC_GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT = 610001016;
    case ERIC_GLOBAL_ILLEGAL_STATE = 610001017;
    case ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT = 610001018;
    case ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT = 610001019;
    case ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION = 610001020;
    case ERIC_GLOBAL_TESTMERKER_UNGUELTIG = 610001025;
    case ERIC_GLOBAL_DATENSATZ_ZU_GROSS = 610001026;
    case ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT = 610001027;
    case ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT = 610001028;
    case ERIC_GLOBAL_ERROR_XML_CREATE = 610001030;
    case ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX = 610001031;
    case ERIC_GLOBAL_INTERNER_FEHLER = 610001032;
    case ERIC_GLOBAL_ARITHMETIKFEHLER = 610001033;
    case ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG = 610001034;
    case ERIC_GLOBAL_STEUERNUMMER_FALSCHE_LAENGE = 610001035;
    case ERIC_GLOBAL_STEUERNUMMER_NICHT_NUMERISCH = 610001036;
    case ERIC_GLOBAL_LANDESNUMMER_UNBEKANNT = 610001037;
    case ERIC_GLOBAL_BUFANR_UNBEKANNT = 610001038;
    case ERIC_GLOBAL_LANDESNUMMER_BUFANR = 610001039;
    case ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT = 610001040;
    case ERIC_GLOBAL_PUFFER_UEBERLAUF = 610001041;
    case ERIC_GLOBAL_DATENARTVERSION_UNBEKANNT = 610001042;
    case ERIC_GLOBAL_DATENARTVERSION_XML_INKONSISTENT = 610001044;
    case ERIC_GLOBAL_COMMONDATA_NICHT_VERFUEGBAR = 610001045;
    case ERIC_GLOBAL_LOG_EXCEPTION = 610001046;
    case ERIC_GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT = 610001047;
    case ERIC_GLOBAL_OEFFENTLICHER_SCHLUESSEL_UNGUELTIG = 610001048;
    case ERIC_GLOBAL_TRANSPORTSCHLUESSEL_TYP_FALSCH = 610001049;
    case ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ = 610001050;
    case ERIC_GLOBAL_VORSATZ_UNGUELTIG = 610001051;
    case ERIC_GLOBAL_DATEIZUGRIFF_VERWEIGERT = 610001053;
    case ERIC_GLOBAL_UNGUELTIGE_INSTANZ = 610001080;
    case ERIC_GLOBAL_NICHT_INITIALISIERT = 610001081;
    case ERIC_GLOBAL_MEHRFACHE_INITIALISIERUNG = 610001082;
    case ERIC_GLOBAL_FEHLER_INITIALISIERUNG = 610001083;
    case ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR = 610001102;
    case ERIC_GLOBAL_CHECK_CORRUPTED_NDS = 610001108;
    case ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN = 610001206;
    case ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES = 610001209;
    case ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION = 610001218;
    case ERIC_GLOBAL_UNGUELTIGER_PARAMETER = 610001222;
    case ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT = 610001224;
    case ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT = 610001225;
    case ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION = 610001226;
    case ERIC_GLOBAL_TRANSFERHANDLE = 610001227;
    case ERIC_GLOBAL_PLUGININITIALISIERUNG = 610001228;
    case ERIC_GLOBAL_INKOMPATIBLE_VERSIONEN = 610001229;
    case ERIC_GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT = 610001230;
    case ERIC_GLOBAL_MEHRFACHAUFRUFE_NICHT_UNTERSTUETZT = 610001231;
    case ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED = 610001404;
    case ERIC_GLOBAL_IBAN_FORMALER_FEHLER = 610001501;
    case ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER = 610001502;
    case ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER = 610001503;
    case ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER = 610001504;
    case ERIC_GLOBAL_BIC_FORMALER_FEHLER = 610001510;
    case ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER = 610001511;
    case ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG = 610001519;
    case ERIC_GLOBAL_IDNUMMER_UNGUELTIG = 610001525;
    case ERIC_GLOBAL_NULL_PARAMETER = 610001526;
    case ERIC_GLOBAL_EWAZ_UNGUELTIG = 610001527;
    case ERIC_GLOBAL_EWAZ_LANDESKUERZEL_UNBEKANNT = 610001528;
    case ERIC_GLOBAL_UPDATE_NECESSARY = 610001851;
    case ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG = 610001860;
    case ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG = 610001861;
    case ERIC_GLOBAL_ERR_DEKODIEREN = 610001862;
    case ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT = 610001863;
    case ERIC_GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG = 610001865;
    case ERIC_GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH = 610001866;
    case ERIC_GLOBAL_BUNDESLAENDER_UNEINHEITLICH = 610001867;
    case ERIC_GLOBAL_ZEITRAEUME_UNEINHEITLICH = 610001868;
    case ERIC_GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT = 610001869;
    case ERIC_TRANSFER_COM_ERROR = 610101200;
    case ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT = 610101201;
    case ERIC_TRANSFER_ERR_XML_THEADER = 610101210;
    case ERIC_TRANSFER_ERR_PARAM = 610101251;
    case ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND = 610101253;
    case ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT = 610101255;
    case ERIC_TRANSFER_ERR_ENDDATENLIEFERANT = 610101256;
    case ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL = 610101257;
    case ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL = 610101258;
    case ERIC_TRANSFER_ERR_BEGINDATENGROESSE = 610101259;
    case ERIC_TRANSFER_ERR_ENDDATENGROESSE = 610101260;
    case ERIC_TRANSFER_ERR_SEND = 610101271;
    case ERIC_TRANSFER_ERR_NOTENCRYPTED = 610101274;
    case ERIC_TRANSFER_ERR_PROXYCONNECT = 610101276;
    case ERIC_TRANSFER_ERR_CONNECTSERVER = 610101278;
    case ERIC_TRANSFER_ERR_NORESPONSE = 610101279;
    case ERIC_TRANSFER_ERR_PROXYAUTH = 610101280;
    case ERIC_TRANSFER_ERR_SEND_INIT = 610101282;
    case ERIC_TRANSFER_ERR_TIMEOUT = 610101283;
    case ERIC_TRANSFER_ERR_PROXYPORT_INVALID = 610101284;
    case ERIC_TRANSFER_ERR_OTHER = 610101291;
    case ERIC_TRANSFER_ERR_XML_NHEADER = 610101292;
    case ERIC_TRANSFER_ERR_XML_ENCODING = 610101293;
    case ERIC_TRANSFER_ERR_ENDSIGUSER = 610101294;
    case ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN = 610101295;
    case ERIC_TRANSFER_ERR_DATENTEILFEHLER = 610101297;
    case ERIC_TRANSFER_EID_ZERTIFIKATFEHLER = 610101500;
    case ERIC_TRANSFER_EID_KEINKONTO = 610101510;
    case ERIC_TRANSFER_EID_IDNRNICHTEINDEUTIG = 610101511;
    case ERIC_TRANSFER_EID_SERVERFEHLER = 610101512;
    case ERIC_TRANSFER_EID_KEINCLIENT = 610101520;
    case ERIC_TRANSFER_EID_CLIENTFEHLER = 610101521;
    case ERIC_TRANSFER_EID_FEHLENDEFELDER = 610101522;
    case ERIC_TRANSFER_EID_IDENTIFIKATIONABGEBROCHEN = 610101523;
    case ERIC_TRANSFER_EID_NPABLOCKIERT = 610101524;
    case ERIC_CRYPT_ERROR_CREATE_KEY = 610201016;
    case ERIC_CRYPT_E_INVALID_HANDLE = 610201101;
    case ERIC_CRYPT_E_MAX_SESSION = 610201102;
    case ERIC_CRYPT_E_BUSY = 610201103;
    case ERIC_CRYPT_E_OUT_OF_MEM = 610201104;
    case ERIC_CRYPT_E_PSE_PATH = 610201105;
    case ERIC_CRYPT_E_PIN_WRONG = 610201106;
    case ERIC_CRYPT_E_PIN_LOCKED = 610201107;
    case ERIC_CRYPT_E_P7_READ = 610201108;
    case ERIC_CRYPT_E_P7_DECODE = 610201109;
    case ERIC_CRYPT_E_P7_RECIPIENT = 610201110;
    case ERIC_CRYPT_E_P12_READ = 610201111;
    case ERIC_CRYPT_E_P12_DECODE = 610201112;
    case ERIC_CRYPT_E_P12_SIG_KEY = 610201113;
    case ERIC_CRYPT_E_P12_ENC_KEY = 610201114;
    case ERIC_CRYPT_E_P11_SIG_KEY = 610201115;
    case ERIC_CRYPT_E_P11_ENC_KEY = 610201116;
    case ERIC_CRYPT_E_XML_PARSE = 610201117;
    case ERIC_CRYPT_E_XML_SIG_ADD = 610201118;
    case ERIC_CRYPT_E_XML_SIG_TAG = 610201119;
    case ERIC_CRYPT_E_XML_SIG_SIGN = 610201120;
    case ERIC_CRYPT_E_ENCODE_UNKNOWN = 610201121;
    case ERIC_CRYPT_E_ENCODE_ERROR = 610201122;
    case ERIC_CRYPT_E_XML_INIT = 610201123;
    case ERIC_CRYPT_E_ENCRYPT = 610201124;
    case ERIC_CRYPT_E_DECRYPT = 610201125;
    case ERIC_CRYPT_E_P11_SLOT_EMPTY = 610201126;
    case ERIC_CRYPT_E_NO_SIG_ENC_KEY = 610201127;
    case ERIC_CRYPT_E_LOAD_DLL = 610201128;
    case ERIC_CRYPT_E_NO_SERVICE = 610201129;
    case ERIC_CRYPT_E_ESICL_EXCEPTION = 610201130;
    case ERIC_CRYPT_E_ESIGNER_NICHT_GELADEN = 610201140;
    case ERIC_CRYPT_E_INKOMPATIBLE_ESIGNER_VERSION = 610201141;
    case ERIC_CRYPT_E_VERALTETE_ESIGNER_VERSION = 610201142;
    case ERIC_CRYPT_E_TOKEN_TYPE_MISMATCH = 610201144;
    case ERIC_CRYPT_E_P12_CREATE = 610201146;
    case ERIC_CRYPT_E_VERIFY_CERT_CHAIN = 610201147;
    case ERIC_CRYPT_E_P11_ENGINE_LOADED = 610201148;
    case ERIC_CRYPT_E_USER_CANCEL = 610201149;
    case ERIC_CRYPT_ZERTIFIKAT = 610201200;
    case ERIC_CRYPT_SIGNATUR = 610201201;
    case ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT = 610201203;
    case ERIC_CRYPT_PIN_BENOETIGT = 610201205;
    case ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND = 610201206;
    case ERIC_CRYPT_E_INTERN = 610201208;
    case ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS = 610201209;
    case ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS = 610201210;
    case ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN = 610201211;
    case ERIC_CRYPT_CORRUPTED = 610201213;
    case ERIC_CRYPT_EIDKARTE_NICHT_UNTERSTUETZT = 610201214;
    case ERIC_CRYPT_E_SC_SLOT_EMPTY = 610201215;
    case ERIC_CRYPT_E_SC_NO_APPLET = 610201216;
    case ERIC_CRYPT_E_SC_SESSION = 610201217;
    case ERIC_CRYPT_E_P11_NO_SIG_CERT = 610201218;
    case ERIC_CRYPT_E_P11_INIT_FAILED = 610201219;
    case ERIC_CRYPT_E_P11_NO_ENC_CERT = 610201220;
    case ERIC_CRYPT_E_P12_NO_SIG_CERT = 610201221;
    case ERIC_CRYPT_E_P12_NO_ENC_CERT = 610201222;
    case ERIC_CRYPT_E_SC_ENC_KEY = 610201223;
    case ERIC_CRYPT_E_SC_NO_SIG_CERT = 610201224;
    case ERIC_CRYPT_E_SC_NO_ENC_CERT = 610201225;
    case ERIC_CRYPT_E_SC_INIT_FAILED = 610201226;
    case ERIC_CRYPT_E_SC_SIG_KEY = 610201227;
    case ERIC_CRYPT_E_DATA_NOT_INITIALIZED = 610201228;
    case ERIC_CRYPT_E_ASN1_READ_BUFFER_TOO_SMALL = 610201229;
    case ERIC_CRYPT_E_ASN1_READ_DATA_INCOMPLETE = 610201230;
    case ERIC_CRYPT_E_ASN1_NO_ENVELOPED_DATA = 610201231;
    case ERIC_CRYPT_E_ASN1_NO_CONTENT_DATA = 610201232;
    case ERIC_IO_FEHLER = 610301001;
    case ERIC_IO_DATEI_INKORREKT = 610301005;
    case ERIC_IO_PARSE_FEHLER = 610301006;
    case ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN = 610301007;
    case ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR = 610301010;
    case ERIC_IO_STEUERZEICHEN_IM_NDS = 610301014;
    case ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN = 610301031;
    case ERIC_IO_FALSCHES_VERFAHREN = 610301104;
    case ERIC_IO_READER_MEHRFACHE_STEUERFAELLE = 610301105;
    case ERIC_IO_READER_UNERWARTETE_ELEMENTE = 610301106;
    case ERIC_IO_READER_FORMALE_FEHLER = 610301107;
    case ERIC_IO_READER_FALSCHES_ENCODING = 610301108;
    case ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE = 610301109;
    case ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE = 610301110;
    case ERIC_IO_UNBEKANNTE_DATENART = 610301111;
    case ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG = 610301114;
    case ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE = 610301115;
    case ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER = 610301150;
    case ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER = 610301151;
    case ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN = 610301152;
    case ERIC_IO_READER_RABE_FEHLER = 610301170;
    case ERIC_IO_READER_KEINE_RABEID = 610301171;
    case ERIC_IO_READER_RABEID_UNGUELTIG = 610301172;
    case ERIC_IO_READER_RABE_VERIFIKATIONSID_UNGUELTIG = 610301173;
    case ERIC_IO_READER_RABE_REFERENZID_UNGUELTIG = 610301174;
    case ERIC_IO_READER_RABE_REFERENZID_NICHT_ERLAUBT = 610301175;
    case ERIC_IO_READER_RABE_REFERENZIDS_NICHT_EINDEUTIG = 610301176;
    case ERIC_IO_READER_ZU_VIELE_ANHAENGE = 610301190;
    case ERIC_IO_READER_ANHANG_ZU_GROSS = 610301191;
    case ERIC_IO_READER_ANHAENGE_ZU_GROSS = 610301192;
    case ERIC_IO_READER_ANHANG_ZU_KLEIN = 610301193;
    case ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER = 610301200;
    case ERIC_IO_READER_UNBEKANNTE_XML_ENTITY = 610301201;
    case ERIC_IO_TESTHERSTELLERID_GESPERRT = 610301202;
    case ERIC_IO_DATENTEILNOTFOUND = 610301252;
    case ERIC_IO_DATENTEILENDNOTFOUND = 610301253;
    case ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT = 610301300;
    case ERIC_IO_UNGUELTIGE_UTF8_SEQUENZ = 610301400;
    case ERIC_IO_UNGUELTIGE_ZEICHEN_IN_PARAMETER = 610301401;
    case ERIC_PRINT_INTERNER_FEHLER = 610501001;
    case ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN = 610501002;
    case ERIC_PRINT_UNGUELTIGER_DATEI_PFAD = 610501004;
    case ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT = 610501007;
    case ERIC_PRINT_AUSGABEZIEL_UNBEKANNT = 610501008;
    case ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG = 610501009;
    case ERIC_PRINT_ABBRUCH_GENERIERUNG = 610501010;
    case ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT = 610501011;
    case ERIC_PRINT_FUSSTEXT_ZU_LANG = 610501012;
    case ERIC_PRINT_PDFCALLBACK = 610501015;
}

/** @description Represent a base response that encapsulate any ERiC API function return value. */
// @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
class EricFehlerCodeResponse extends ServiceReponseBase implements JsonSerializable
{
    /**
     * @param string $id
     * @param int $index
     * @param ResponseStatus|null $responseStatus
     */
    public function __construct(
        string $id='',
        int $index=0,
        ?ResponseStatus $responseStatus=null,
        /** @description The status code that the ERiC API function returns. */
        // @ApiMember(Description="The status code that the ERiC API function returns.")
        /** @var EricFehlerCode|null */
        public ?EricFehlerCode $statusCode=null,

        /** @description The status message that the ERiC API function returns. */
        // @ApiMember(Description="The status message that the ERiC API function returns.")
        /** @var string|null */
        public ?string $statusText=null
    ) {
        parent::__construct($id,$index,$responseStatus);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['statusCode'])) $this->statusCode = JsonConverters::from('EricFehlerCode', $o['statusCode']);
        if (isset($o['statusText'])) $this->statusText = $o['statusText'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->statusCode)) $o['statusCode'] = JsonConverters::to('EricFehlerCode', $this->statusCode);
        if (isset($this->statusText)) $o['statusText'] = $this->statusText;
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represent issuer details of a certificate. */
// @Api(Description="Represent issuer details of a certificate.")
class Info implements JsonSerializable
{
    public function __construct(
        /** @description The name of the issuer detail. */
        // @ApiMember(Description="The name of the issuer detail.")
        /** @var string|null */
        public ?string $name=null,

        /** @description The value of the issuer detail. */
        // @ApiMember(Description="The value of the issuer detail.")
        /** @var string|null */
        public ?string $wert=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['name'])) $this->name = $o['name'];
        if (isset($o['wert'])) $this->wert = $o['wert'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->name)) $o['name'] = $this->name;
        if (isset($this->wert)) $o['wert'] = $this->wert;
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents an issuer of certificates. */
// @Api(Description="Represents an issuer of certificates.")
class Issuer implements JsonSerializable
{
    public function __construct(
        /** @description Details about the issuer of certificates. */
        // @ApiMember(Description="Details about the issuer of certificates.")
        /** @var array<Info>|null */
        public ?array $infos=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['infos'])) $this->infos = JsonConverters::fromArray('Info', $o['infos']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->infos)) $o['infos'] = JsonConverters::toArray('Info', $this->infos);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents the subject of the certificate. */
// @Api(Description="Represents the subject of the certificate.")
class Subjekt implements JsonSerializable
{
    public function __construct(
        /** @description Details about the subject of the certificate. */
        // @ApiMember(Description="Details about the subject of the certificate.")
        /** @var array<Info>|null */
        public ?array $infos=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['infos'])) $this->infos = JsonConverters::fromArray('Info', $o['infos']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->infos)) $o['infos'] = JsonConverters::toArray('Info', $this->infos);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents a type of Identification characteristic. Identification marker that was specified when the certificate was generated. For portal certificates usually tax number or identification number. */
enum Identifikationsmerkmaltyp : string
{
    case Unbekannt = 'Unbekannt';
    case Steuernummer = 'Steuernummer';
    case Identifikationsnummer = 'Identifikationsnummer';
    case BZStNummer = 'BZStNummer';
    case Bearbeiternummer = 'Bearbeiternummer';
    case Clienterzeugt = 'Clienterzeugt';
}

/** @description Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'. */
enum Registrierertyp : string
{
    case Unbekannt = 'Unbekannt';
    case Person = 'Person';
    case Organisation = 'Organisation';
    case Rechteverwalter = 'Rechteverwalter';
    case BZStInland = 'BZStInland';
    case BZStAusland = 'BZStAusland';
    case BZStKevizz = 'BZStKevizz';
}

/** @description Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates. */
enum VerifikationsartTyp : string
{
    case Unbekannt = 'Unbekannt';
    case Postweg = 'Postweg';
    case Neuerpersonalausweis = 'Neuerpersonalausweis';
}

/** @description Represents a type of token.Contains information about the type of token used to create a certificate. */
enum TokenTyp : string
{
    case Unbekannt = 'Unbekannt';
    case Software = 'Software';
    case Stick = 'Stick';
    case Karte = 'Karte';
    case Ausweis = 'Ausweis';
}

/** @description Represents the characteristics of a certificate. */
// @Api(Description="Represents the characteristics of a certificate.")
class Zertifikateigenschaften implements JsonSerializable
{
    public function __construct(
        /** @description The start validity date of the certificate. */
        // @ApiMember(Description="The start validity date of the certificate.")
        /** @var DateTime|null */
        public ?DateTime $ausgestelltAm=null,

        /** @description The expiry date of the certificate. */
        // @ApiMember(Description="The expiry date of the certificate.")
        /** @var DateTime|null */
        public ?DateTime $gueltigBis=null,

        /** @description The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/') */
        // @ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')")
        /** @var string|null */
        public ?string $signaturalgorithmus=null,

        /** @description The MD5-hash of the public key. */
        // @ApiMember(Description="The MD5-hash of the public key.")
        /** @var string|null */
        public ?string $publicKeyMD5=null,

        /** @description The SHA1-hash of the public key. */
        // @ApiMember(Description="The SHA1-hash of the public key.")
        /** @var string|null */
        public ?string $publicKeySHA1=null,

        /** @description The key length of the public key in units of bits. For example '2048 bits' */
        // @ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'")
        /** @var int */
        public int $publicKeyBitLength=0,

        /** @description The issuer of the certificate. */
        // @ApiMember(Description="The issuer of the certificate.")
        /** @var Issuer|null */
        public ?Issuer $issuer=null,

        /** @description The subject of the certificate. */
        // @ApiMember(Description="The subject of the certificate.")
        /** @var Subjekt|null */
        public ?Subjekt $subjekt=null,

        /** @description The identification characteristics of the certificate. */
        // @ApiMember(Description="The identification characteristics of the certificate.")
        /** @var Identifikationsmerkmaltyp|null */
        public ?Identifikationsmerkmaltyp $identifikationsmerkmaltyp=null,

        /** @description The type of registrar, to which the key is issued. */
        // @ApiMember(Description="The type of registrar, to which the key is issued.")
        /** @var Registrierertyp|null */
        public ?Registrierertyp $registrierertyp=null,

        /** @description The type of verification conducted for the person or organisation, to which the certificate is issued. */
        // @ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.")
        /** @var VerifikationsartTyp|null */
        public ?VerifikationsartTyp $verifikationsart=null,

        /** @description The type of token used to create the certificate. */
        // @ApiMember(Description="The type of token used to create the certificate.")
        /** @var TokenTyp|null */
        public ?TokenTyp $tokenTyp=null,

        /** @description Is the certificate is a test certificate? True if it is a test certificate; otherwise false. */
        // @ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.")
        /** @var bool|null */
        public ?bool $testzertifikat=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ausgestelltAm'])) $this->ausgestelltAm = JsonConverters::from('DateTime', $o['ausgestelltAm']);
        if (isset($o['gueltigBis'])) $this->gueltigBis = JsonConverters::from('DateTime', $o['gueltigBis']);
        if (isset($o['signaturalgorithmus'])) $this->signaturalgorithmus = $o['signaturalgorithmus'];
        if (isset($o['publicKeyMD5'])) $this->publicKeyMD5 = $o['publicKeyMD5'];
        if (isset($o['publicKeySHA1'])) $this->publicKeySHA1 = $o['publicKeySHA1'];
        if (isset($o['publicKeyBitLength'])) $this->publicKeyBitLength = $o['publicKeyBitLength'];
        if (isset($o['issuer'])) $this->issuer = JsonConverters::from('Issuer', $o['issuer']);
        if (isset($o['subjekt'])) $this->subjekt = JsonConverters::from('Subjekt', $o['subjekt']);
        if (isset($o['identifikationsmerkmaltyp'])) $this->identifikationsmerkmaltyp = JsonConverters::from('Identifikationsmerkmaltyp', $o['identifikationsmerkmaltyp']);
        if (isset($o['registrierertyp'])) $this->registrierertyp = JsonConverters::from('Registrierertyp', $o['registrierertyp']);
        if (isset($o['verifikationsart'])) $this->verifikationsart = JsonConverters::from('VerifikationsartTyp', $o['verifikationsart']);
        if (isset($o['tokenTyp'])) $this->tokenTyp = JsonConverters::from('TokenTyp', $o['tokenTyp']);
        if (isset($o['testzertifikat'])) $this->testzertifikat = $o['testzertifikat'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ausgestelltAm)) $o['ausgestelltAm'] = JsonConverters::to('DateTime', $this->ausgestelltAm);
        if (isset($this->gueltigBis)) $o['gueltigBis'] = JsonConverters::to('DateTime', $this->gueltigBis);
        if (isset($this->signaturalgorithmus)) $o['signaturalgorithmus'] = $this->signaturalgorithmus;
        if (isset($this->publicKeyMD5)) $o['publicKeyMD5'] = $this->publicKeyMD5;
        if (isset($this->publicKeySHA1)) $o['publicKeySHA1'] = $this->publicKeySHA1;
        if (isset($this->publicKeyBitLength)) $o['publicKeyBitLength'] = $this->publicKeyBitLength;
        if (isset($this->issuer)) $o['issuer'] = JsonConverters::to('Issuer', $this->issuer);
        if (isset($this->subjekt)) $o['subjekt'] = JsonConverters::to('Subjekt', $this->subjekt);
        if (isset($this->identifikationsmerkmaltyp)) $o['identifikationsmerkmaltyp'] = JsonConverters::to('Identifikationsmerkmaltyp', $this->identifikationsmerkmaltyp);
        if (isset($this->registrierertyp)) $o['registrierertyp'] = JsonConverters::to('Registrierertyp', $this->registrierertyp);
        if (isset($this->verifikationsart)) $o['verifikationsart'] = JsonConverters::to('VerifikationsartTyp', $this->verifikationsart);
        if (isset($this->tokenTyp)) $o['tokenTyp'] = JsonConverters::to('TokenTyp', $this->tokenTyp);
        if (isset($this->testzertifikat)) $o['testzertifikat'] = $this->testzertifikat;
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents a list of properties for a specified certificate. */
// @Api(Description="Represents a list of properties for a specified certificate.")
class EricHoleZertifikatEigenschaften implements JsonSerializable
{
    public function __construct(
        /** @description The properties of the certificate used for signing. These are not available for client-side certificates. */
        // @ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.")
        /** @var Zertifikateigenschaften|null */
        public ?Zertifikateigenschaften $signaturzertifikateigenschaften=null,

        /** @description The properties of certificates used for encryption. */
        // @ApiMember(Description="The properties of certificates used for encryption.")
        /** @var Zertifikateigenschaften|null */
        public ?Zertifikateigenschaften $verschluesselungszertifikateigenschaften=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['signaturzertifikateigenschaften'])) $this->signaturzertifikateigenschaften = JsonConverters::from('Zertifikateigenschaften', $o['signaturzertifikateigenschaften']);
        if (isset($o['verschluesselungszertifikateigenschaften'])) $this->verschluesselungszertifikateigenschaften = JsonConverters::from('Zertifikateigenschaften', $o['verschluesselungszertifikateigenschaften']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->signaturzertifikateigenschaften)) $o['signaturzertifikateigenschaften'] = JsonConverters::to('Zertifikateigenschaften', $this->signaturzertifikateigenschaften);
        if (isset($this->verschluesselungszertifikateigenschaften)) $o['verschluesselungszertifikateigenschaften'] = JsonConverters::to('Zertifikateigenschaften', $this->verschluesselungszertifikateigenschaften);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate. */
// @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.")
class HoleZertifikatEigenschaftenResponse extends EricFehlerCodeResponse implements JsonSerializable
{
    /**
     * @param string $id
     * @param int $index
     * @param ResponseStatus|null $responseStatus
     * @param EricFehlerCode|null $statusCode
     * @param string|null $statusText
     */
    public function __construct(
        string $id='',
        int $index=0,
        ?ResponseStatus $responseStatus=null,
        ?EricFehlerCode $statusCode=null,
        ?string $statusText=null,
        /** @description The list of test fiscal authoririties. */
        // @ApiMember(Description="The list of test fiscal authoririties.")
        /** @var EricHoleZertifikatEigenschaften|null */
        public ?EricHoleZertifikatEigenschaften $rueckgabe=null
    ) {
        parent::__construct($id,$index,$responseStatus,$statusCode,$statusText);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['rueckgabe'])) $this->rueckgabe = JsonConverters::from('EricHoleZertifikatEigenschaften', $o['rueckgabe']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->rueckgabe)) $o['rueckgabe'] = JsonConverters::to('EricHoleZertifikatEigenschaften', $this->rueckgabe);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description A synchronous service to get the properties of a specified portal certificate. */
// @Api(Description="A synchronous service to get the properties of a specified portal certificate.")
class HolePortalZertifikatEigenschaften extends HolePortalZertifikatEigenschaftenBase implements JsonSerializable
{
    /**
     * @param PortalCertificate|null $zertifikat
     */
    public function __construct(
        ?PortalCertificate $zertifikat=null
    ) {
        parent::__construct($zertifikat);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        return empty($o) ? new class(){} : $o;
    }
}

PHP HolePortalZertifikatEigenschaften DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /HolePortalZertifikatEigenschaften HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"zertifikat":{"name":"String","pin":"String","description":"String","tags":["String"],"content":"AA=="}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"rueckgabe":{"signaturzertifikateigenschaften":{"ausgestelltAm":"\/Date(-62135596800000-0000)\/","gueltigBis":"\/Date(-62135596800000-0000)\/","signaturalgorithmus":"String","publicKeyMD5":"String","publicKeySHA1":"String","publicKeyBitLength":0,"issuer":{"infos":[{"name":"String","wert":"String"}]},"subjekt":{"infos":[{"name":"String","wert":"String"}]},"identifikationsmerkmaltyp":"Unbekannt","registrierertyp":"Unbekannt","verifikationsart":"Unbekannt","tokenTyp":"Unbekannt","testzertifikat":false},"verschluesselungszertifikateigenschaften":{"ausgestelltAm":"\/Date(-62135596800000-0000)\/","gueltigBis":"\/Date(-62135596800000-0000)\/","signaturalgorithmus":"String","publicKeyMD5":"String","publicKeySHA1":"String","publicKeyBitLength":0,"issuer":{"infos":[{"name":"String","wert":"String"}]},"subjekt":{"infos":[{"name":"String","wert":"String"}]},"identifikationsmerkmaltyp":"Unbekannt","registrierertyp":"Unbekannt","verifikationsart":"Unbekannt","tokenTyp":"Unbekannt","testzertifikat":false}},"statusCode":"ERIC_OK","statusText":"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"}}}