Report Filing Service

<back to all web services

RetrieveFiles

RetrieveFilesSync

Represents a request to retrieve ELMA response files in a zip file containing the retrieved reports and their corresponding protocol files from the ELMA server.

Requires Authentication
The following routes are available for this service:
POST/sync/elma/files/retrieve
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


class Verfahren(str, Enum):
    CC = 'CC'
    CS = 'CS'
    DC = 'DC'
    FC = 'FC'
    FS = 'FS'
    FA = 'FA'
    KM = 'KM'


# @Api(Description="Represent parameters to search or filter on submissions. ")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SearchCriteria:
    """
    Represent parameters to search or filter on submissions. 
    """

    # @ApiMember(Description="Full or partial name of the item (report or protocol) to search.", Name="Name")
    name: Optional[str] = None
    """
    Full or partial name of the item (report or protocol) to search.
    """


    # @ApiMember(Description="TThe ELMA product designation.", Name="Designation")
    designation: Optional[Verfahren] = None
    """
    TThe ELMA product designation.
    """


# @Api(Description="Represents a PEM-encoded certificate.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PemCertificate:
    """
    Represents a PEM-encoded certificate.
    """

    # @ApiMember(Description="The unique identifier (e.g. the file name) of the certificate.", IsRequired=true, Name="Id")
    id: Optional[str] = None
    """
    The unique identifier (e.g. the file name) of the certificate.
    """


    # @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content")
    content: Optional[str] = None
    """
    The PEM-encoded content of the certificate.
    """


    # @ApiMember(Description="The description of the certificate.", Name="Description")
    description: Optional[str] = None
    """
    The description of the certificate.
    """


    # @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags")
    tags: Optional[List[str]] = None
    """
    Tags to label or identify the certificate.
    """


# @Api(Description="Represents the credentials of a user to authenticate the access of an ELMA server.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ElmaCredential(IElmaCredential):
    """
    Represents the credentials of a user to authenticate the access of an ELMA server.
    """

    # @ApiMember(Description="The unique identifier of this instance.  This identifer is only relevant in the context of data storage and retrieval.", IsRequired=true, Name="Id")
    id: Optional[str] = None
    """
    The unique identifier of this instance.  This identifer is only relevant in the context of data storage and retrieval.
    """


    # @ApiMember(Description="The security certificate to authenticate the user and grant access to the ELMA server.  This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start)", IsRequired=true, Name="Certificate")
    # @Required()
    # @StringLength(2147483647)
    certificate: Optional[PemCertificate] = None
    """
    The security certificate to authenticate the user and grant access to the ELMA server.  This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start)
    """


    # @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
    # @Required()
    # @StringLength(11)
    auth_steuernummer: Optional[str] = None
    """
    The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information"
    """


    # @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
    # @Required()
    # @StringLength(10)
    account_id: Optional[str] = None
    """
    The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).
    """


    # @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password")
    password: Optional[str] = None
    """
    The password to protect the certificate from unauthorized access.
    """


# @Api(Description="Specifies a request to retrieve ELMA response files in a zip file containing retrieved protocol files from the ELMA server.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RetrieveFilesBase(IPost, IAuthenticateRequest, IStageableRequest, ISearchRequest):
    """
    Specifies a request to retrieve ELMA response files in a zip file containing retrieved protocol files from the ELMA server.
    """

    # @ApiMember(Description="The parameters to search or filter on the ELMA response files.", IsRequired=true, Name="SearchCriteria")
    search_criteria: Optional[SearchCriteria] = None
    """
    The parameters to search or filter on the ELMA response files.
    """


    # @ApiMember(Description="The credential to gain access on the ELMA server.", IsRequired=true, Name="Credential")
    credential: Optional[ElmaCredential] = None
    """
    The credential to gain access on the ELMA server.
    """


    # @ApiMember(Description="Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.", Name="StagingEnabled")
    staging_enabled: Optional[bool] = None
    """
    Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.
    """


# @Api(Description="Represents a request to retrieve ELMA response files in a zip file containing the retrieved reports and their corresponding protocol files from the ELMA server.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RetrieveFiles(RetrieveFilesBase):
    """
    Represents a request to retrieve ELMA response files in a zip file containing the retrieved reports and their corresponding protocol files from the ELMA server.
    """

    pass

Python RetrieveFiles DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /sync/elma/files/retrieve HTTP/1.1 
Host: reportfiling.pwc.de 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"searchCriteria":{"name":"String","designation":"CC"},"credential":{"id":"String_String","certificate":{"id":"String","content":"String","description":"String","tags":["String"]},"authSteuernummer":"String","accountId":"String","password":"String"},"stagingEnabled":false}