Report Filing Service

<back to all web services

BatchDeleteElmaCredentials

DeleteCredentialsBatchSync

Represents a service to delete multiple ELMA credentials.

Requires Authentication
The following routes are available for this service:
POST/sync/elma/credentials/batch/delete
<?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 PEM-encoded certificate. */
// @Api(Description="Represents a PEM-encoded certificate.")
class PemCertificate implements JsonSerializable
{
    public function __construct(
        /** @description The unique identifier (e.g. the file name) of the certificate. */
        // @ApiMember(Description="The unique identifier (e.g. the file name) of the certificate.", IsRequired=true, Name="Id")
        /** @var string */
        public string $id='',

        /** @description The PEM-encoded content of the certificate. */
        // @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content")
        /** @var string */
        public string $content='',

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

        /** @description Tags to label or identify the certificate. */
        // @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags")
        /** @var array<string>|null */
        public ?array $tags=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id'])) $this->id = $o['id'];
        if (isset($o['content'])) $this->content = $o['content'];
        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 = [];
        if (isset($this->id)) $o['id'] = $this->id;
        if (isset($this->content)) $o['content'] = $this->content;
        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 Represents the credentials of a user to authenticate the access of an ELMA server. */
// @Api(Description="Represents the credentials of a user to authenticate the access of an ELMA server.")
class ElmaCredential implements IElmaCredential, JsonSerializable
{
    public function __construct(
        /** @description The unique identifier of this instance.  This identifer is only relevant in the context of data storage and retrieval. */
        // @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")
        /** @var string */
        public string $id='',

        /** @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) */
        // @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)
        /** @var PemCertificate|null */
        public ?PemCertificate $certificate=null,

        /** @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" */
        // @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)
        /** @var string */
        public string $authSteuernummer='',

        /** @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
        // @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)
        /** @var string */
        public string $accountId='',

        /** @description The password to protect the certificate from unauthorized access. */
        // @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password")
        /** @var string */
        public string $password=''
    ) {
    }

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

/** @description Specfies a service to delete multiple ELMA credentials. */
// @Api(Description="Specfies a service to delete multiple ELMA credentials.")
class BatchDeleteElmaCredentialsBase implements IPost, JsonSerializable
{
    public function __construct(
        /** @description The ELMA credentials to delete. */
        // @ApiMember(Description="The ELMA credentials to delete.", IsRequired=true, Name="Credentials")
        /** @var array<ElmaCredential>|null */
        public ?array $credentials=null
    ) {
    }

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

/** @description Represents a service to delete multiple ELMA credentials. */
// @Api(Description="Represents a service to delete multiple ELMA credentials.")
class BatchDeleteElmaCredentials extends BatchDeleteElmaCredentialsBase implements JsonSerializable
{
    /**
     * @param array<ElmaCredential>|null $credentials
     */
    public function __construct(
        ?array $credentials=null
    ) {
        parent::__construct($credentials);
    }

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

PHP BatchDeleteElmaCredentials DTOs

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

HTTP + XML

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

POST /sync/elma/credentials/batch/delete HTTP/1.1 
Host: reportfiling.staging.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<BatchDeleteElmaCredentials xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Credentials.Requests">
  <Credentials xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Concretes.Models">
    <d2p1:ElmaCredential>
      <d2p1:AccountId>String</d2p1:AccountId>
      <d2p1:AuthSteuernummer>String</d2p1:AuthSteuernummer>
      <d2p1:Certificate xmlns:d4p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Contracts.Models">
        <d4p1:Content>String</d4p1:Content>
        <d4p1:Description>String</d4p1:Description>
        <d4p1:Id>String</d4p1:Id>
        <d4p1:Tags xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </d4p1:Tags>
      </d2p1:Certificate>
      <d2p1:Password>String</d2p1:Password>
    </d2p1:ElmaCredential>
  </Credentials>
</BatchDeleteElmaCredentials>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ArrayOfElmaCredentialResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Credentials.Responses">
  <ElmaCredentialResponse>
    <Credential xmlns:d3p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Concretes.Models">
      <d3p1:AccountId>String</d3p1:AccountId>
      <d3p1:AuthSteuernummer>String</d3p1:AuthSteuernummer>
      <d3p1:Certificate xmlns:d4p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Contracts.Models">
        <d4p1:Content>String</d4p1:Content>
        <d4p1:Description>String</d4p1:Description>
        <d4p1:Id>String</d4p1:Id>
        <d4p1:Tags xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </d4p1:Tags>
      </d3p1:Certificate>
      <d3p1:Password>String</d3p1:Password>
    </Credential>
    <Id>String</Id>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
      <d3p1:ErrorCode>String</d3p1:ErrorCode>
      <d3p1:Message>String</d3p1:Message>
      <d3p1:StackTrace>String</d3p1:StackTrace>
      <d3p1:Errors>
        <d3p1:ResponseError>
          <d3p1:ErrorCode>String</d3p1:ErrorCode>
          <d3p1:FieldName>String</d3p1:FieldName>
          <d3p1:Message>String</d3p1:Message>
          <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </d3p1:Meta>
        </d3p1:ResponseError>
      </d3p1:Errors>
      <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d3p1:Meta>
    </ResponseStatus>
  </ElmaCredentialResponse>
</ArrayOfElmaCredentialResponse>