DigiOffice Gateway Web Services

<back to all web services

PostQuickRegistrationOptions

Requires Authentication
<?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};


class RegistrationprofileInformation implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ID=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var bool|null */
        public ?bool $WizardAutomatischDoorlopen=null
    ) {
    }

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

enum DragDropAction : string
{
    case CopyEmailIncludingAttachments = 'CopyEmailIncludingAttachments';
    case CopyEmailIncludingAndSeparateAttachments = 'CopyEmailIncludingAndSeparateAttachments';
    case CopyEmailExcludingAndSeparateAttachments = 'CopyEmailExcludingAndSeparateAttachments';
    case CopyEmailExcludingAttachments = 'CopyEmailExcludingAttachments';
    case CopyOnlyAttachments = 'CopyOnlyAttachments';
    case MoveEmailIncludingAttachments = 'MoveEmailIncludingAttachments';
    case MoveEmailIncludingAndSeparateAttachments = 'MoveEmailIncludingAndSeparateAttachments';
    case MoveEmailExcludingAndSeparateAttachments = 'MoveEmailExcludingAndSeparateAttachments';
    case MoveEmailExcludingAttachments = 'MoveEmailExcludingAttachments';
    case MoveOnlyAttachments = 'MoveOnlyAttachments';
    case Files = 'Files';
    case FileStream = 'FileStream';
}

class QuickRegistrationOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ProgCode=null,
        /** @var string|null */
        public ?string $RegistrationProfileID=null,
        /** @var array<RegistrationprofileInformation>|null */
        public ?array $RegistrationProfiles=null,
        /** @var string|null */
        public ?string $AttachmentRegistrationProfileID=null,
        /** @var array<RegistrationprofileInformation>|null */
        public ?array $AttachmentProfiles=null,
        /** @var string|null */
        public ?string $RegistrationProfileNewEmailID=null,
        /** @var string|null */
        public ?string $EMailActie=null,
        /** @var string|null */
        public ?string $EMailActieNieuw=null,
        /** @var string|null */
        public ?string $EMailActieBeantwoorden=null,
        /** @var string|null */
        public ?string $EMailActieDoorsturen=null,
        /** @var DragDropAction|null */
        public ?DragDropAction $DefaultDragDropAction=null,
        /** @var string|null */
        public ?string $RegistratieWizard365URL=null,
        /** @var string|null */
        public ?string $ApplicationName=null,
        /** @var string|null */
        public ?string $Extension=null,
        /** @var bool|null */
        public ?bool $MenuTonenBijSlepen=null,
        /** @var bool|null */
        public ?bool $AllowMultipleRegistrations=null,
        /** @var int */
        public int $MinimumAttachmentSize=0,
        /** @var bool|null */
        public ?bool $AllowEmptyEmailInRegistrationprofileWizard=null,
        /** @var bool|null */
        public ?bool $UpdateRefNrInSentItems=null,
        /** @var bool|null */
        public ?bool $VersturenViaBCC=null,
        /** @var string|null */
        public ?string $BCCEmailAdres=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ProgCode'])) $this->ProgCode = $o['ProgCode'];
        if (isset($o['RegistrationProfileID'])) $this->RegistrationProfileID = $o['RegistrationProfileID'];
        if (isset($o['RegistrationProfiles'])) $this->RegistrationProfiles = JsonConverters::fromArray('RegistrationprofileInformation', $o['RegistrationProfiles']);
        if (isset($o['AttachmentRegistrationProfileID'])) $this->AttachmentRegistrationProfileID = $o['AttachmentRegistrationProfileID'];
        if (isset($o['AttachmentProfiles'])) $this->AttachmentProfiles = JsonConverters::fromArray('RegistrationprofileInformation', $o['AttachmentProfiles']);
        if (isset($o['RegistrationProfileNewEmailID'])) $this->RegistrationProfileNewEmailID = $o['RegistrationProfileNewEmailID'];
        if (isset($o['EMailActie'])) $this->EMailActie = $o['EMailActie'];
        if (isset($o['EMailActieNieuw'])) $this->EMailActieNieuw = $o['EMailActieNieuw'];
        if (isset($o['EMailActieBeantwoorden'])) $this->EMailActieBeantwoorden = $o['EMailActieBeantwoorden'];
        if (isset($o['EMailActieDoorsturen'])) $this->EMailActieDoorsturen = $o['EMailActieDoorsturen'];
        if (isset($o['DefaultDragDropAction'])) $this->DefaultDragDropAction = JsonConverters::from('DragDropAction', $o['DefaultDragDropAction']);
        if (isset($o['RegistratieWizard365URL'])) $this->RegistratieWizard365URL = $o['RegistratieWizard365URL'];
        if (isset($o['ApplicationName'])) $this->ApplicationName = $o['ApplicationName'];
        if (isset($o['Extension'])) $this->Extension = $o['Extension'];
        if (isset($o['MenuTonenBijSlepen'])) $this->MenuTonenBijSlepen = $o['MenuTonenBijSlepen'];
        if (isset($o['AllowMultipleRegistrations'])) $this->AllowMultipleRegistrations = $o['AllowMultipleRegistrations'];
        if (isset($o['MinimumAttachmentSize'])) $this->MinimumAttachmentSize = $o['MinimumAttachmentSize'];
        if (isset($o['AllowEmptyEmailInRegistrationprofileWizard'])) $this->AllowEmptyEmailInRegistrationprofileWizard = $o['AllowEmptyEmailInRegistrationprofileWizard'];
        if (isset($o['UpdateRefNrInSentItems'])) $this->UpdateRefNrInSentItems = $o['UpdateRefNrInSentItems'];
        if (isset($o['VersturenViaBCC'])) $this->VersturenViaBCC = $o['VersturenViaBCC'];
        if (isset($o['BCCEmailAdres'])) $this->BCCEmailAdres = $o['BCCEmailAdres'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ProgCode)) $o['ProgCode'] = $this->ProgCode;
        if (isset($this->RegistrationProfileID)) $o['RegistrationProfileID'] = $this->RegistrationProfileID;
        if (isset($this->RegistrationProfiles)) $o['RegistrationProfiles'] = JsonConverters::toArray('RegistrationprofileInformation', $this->RegistrationProfiles);
        if (isset($this->AttachmentRegistrationProfileID)) $o['AttachmentRegistrationProfileID'] = $this->AttachmentRegistrationProfileID;
        if (isset($this->AttachmentProfiles)) $o['AttachmentProfiles'] = JsonConverters::toArray('RegistrationprofileInformation', $this->AttachmentProfiles);
        if (isset($this->RegistrationProfileNewEmailID)) $o['RegistrationProfileNewEmailID'] = $this->RegistrationProfileNewEmailID;
        if (isset($this->EMailActie)) $o['EMailActie'] = $this->EMailActie;
        if (isset($this->EMailActieNieuw)) $o['EMailActieNieuw'] = $this->EMailActieNieuw;
        if (isset($this->EMailActieBeantwoorden)) $o['EMailActieBeantwoorden'] = $this->EMailActieBeantwoorden;
        if (isset($this->EMailActieDoorsturen)) $o['EMailActieDoorsturen'] = $this->EMailActieDoorsturen;
        if (isset($this->DefaultDragDropAction)) $o['DefaultDragDropAction'] = JsonConverters::to('DragDropAction', $this->DefaultDragDropAction);
        if (isset($this->RegistratieWizard365URL)) $o['RegistratieWizard365URL'] = $this->RegistratieWizard365URL;
        if (isset($this->ApplicationName)) $o['ApplicationName'] = $this->ApplicationName;
        if (isset($this->Extension)) $o['Extension'] = $this->Extension;
        if (isset($this->MenuTonenBijSlepen)) $o['MenuTonenBijSlepen'] = $this->MenuTonenBijSlepen;
        if (isset($this->AllowMultipleRegistrations)) $o['AllowMultipleRegistrations'] = $this->AllowMultipleRegistrations;
        if (isset($this->MinimumAttachmentSize)) $o['MinimumAttachmentSize'] = $this->MinimumAttachmentSize;
        if (isset($this->AllowEmptyEmailInRegistrationprofileWizard)) $o['AllowEmptyEmailInRegistrationprofileWizard'] = $this->AllowEmptyEmailInRegistrationprofileWizard;
        if (isset($this->UpdateRefNrInSentItems)) $o['UpdateRefNrInSentItems'] = $this->UpdateRefNrInSentItems;
        if (isset($this->VersturenViaBCC)) $o['VersturenViaBCC'] = $this->VersturenViaBCC;
        if (isset($this->BCCEmailAdres)) $o['BCCEmailAdres'] = $this->BCCEmailAdres;
        return empty($o) ? new class(){} : $o;
    }
}

class PostQuickRegistrationOptions extends QuickRegistrationOptions implements JsonSerializable
{
    /**
     * @param string|null $ProgCode
     * @param string|null $RegistrationProfileID
     * @param array<RegistrationprofileInformation>|null $RegistrationProfiles
     * @param string|null $AttachmentRegistrationProfileID
     * @param array<RegistrationprofileInformation>|null $AttachmentProfiles
     * @param string|null $RegistrationProfileNewEmailID
     * @param string|null $EMailActie
     * @param string|null $EMailActieNieuw
     * @param string|null $EMailActieBeantwoorden
     * @param string|null $EMailActieDoorsturen
     * @param DragDropAction|null $DefaultDragDropAction
     * @param string|null $RegistratieWizard365URL
     * @param string|null $ApplicationName
     * @param string|null $Extension
     * @param bool|null $MenuTonenBijSlepen
     * @param bool|null $AllowMultipleRegistrations
     * @param int $MinimumAttachmentSize
     * @param bool|null $AllowEmptyEmailInRegistrationprofileWizard
     * @param bool|null $UpdateRefNrInSentItems
     * @param bool|null $VersturenViaBCC
     * @param string|null $BCCEmailAdres
     */
    public function __construct(
        ?string $ProgCode=null,
        ?string $RegistrationProfileID=null,
        ?array $RegistrationProfiles=null,
        ?string $AttachmentRegistrationProfileID=null,
        ?array $AttachmentProfiles=null,
        ?string $RegistrationProfileNewEmailID=null,
        ?string $EMailActie=null,
        ?string $EMailActieNieuw=null,
        ?string $EMailActieBeantwoorden=null,
        ?string $EMailActieDoorsturen=null,
        ?DragDropAction $DefaultDragDropAction=null,
        ?string $RegistratieWizard365URL=null,
        ?string $ApplicationName=null,
        ?string $Extension=null,
        ?bool $MenuTonenBijSlepen=null,
        ?bool $AllowMultipleRegistrations=null,
        int $MinimumAttachmentSize=0,
        ?bool $AllowEmptyEmailInRegistrationprofileWizard=null,
        ?bool $UpdateRefNrInSentItems=null,
        ?bool $VersturenViaBCC=null,
        ?string $BCCEmailAdres=null
    ) {
        parent::__construct($ProgCode,$RegistrationProfileID,$RegistrationProfiles,$AttachmentRegistrationProfileID,$AttachmentProfiles,$RegistrationProfileNewEmailID,$EMailActie,$EMailActieNieuw,$EMailActieBeantwoorden,$EMailActieDoorsturen,$DefaultDragDropAction,$RegistratieWizard365URL,$ApplicationName,$Extension,$MenuTonenBijSlepen,$AllowMultipleRegistrations,$MinimumAttachmentSize,$AllowEmptyEmailInRegistrationprofileWizard,$UpdateRefNrInSentItems,$VersturenViaBCC,$BCCEmailAdres);
    }

    /** @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 PostQuickRegistrationOptions 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 /xml/reply/PostQuickRegistrationOptions HTTP/1.1 
Host: dogw.klokgroep.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<PostQuickRegistrationOptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
  <AllowEmptyEmailInRegistrationprofileWizard xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">false</AllowEmptyEmailInRegistrationprofileWizard>
  <AllowMultipleRegistrations xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">false</AllowMultipleRegistrations>
  <ApplicationName xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</ApplicationName>
  <AttachmentProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">
    <d2p1:RegistrationprofileInformation>
      <d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
    </d2p1:RegistrationprofileInformation>
  </AttachmentProfiles>
  <AttachmentRegistrationProfileID xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">00000000-0000-0000-0000-000000000000</AttachmentRegistrationProfileID>
  <BCCEmailAdres xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</BCCEmailAdres>
  <DefaultDragDropAction xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">CopyEmailIncludingAttachments</DefaultDragDropAction>
  <EMailActieBeantwoorden xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</EMailActieBeantwoorden>
  <EMailActieDoorsturen xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</EMailActieDoorsturen>
  <EMailActieNieuw xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</EMailActieNieuw>
  <Extension xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</Extension>
  <MenuTonenBijSlepen xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">false</MenuTonenBijSlepen>
  <MinimumAttachmentSize xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">0</MinimumAttachmentSize>
  <ProgCode xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</ProgCode>
  <RegistratieWizard365URL xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">String</RegistratieWizard365URL>
  <RegistrationProfileID xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">00000000-0000-0000-0000-000000000000</RegistrationProfileID>
  <RegistrationProfileNewEmailID xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">00000000-0000-0000-0000-000000000000</RegistrationProfileNewEmailID>
  <RegistrationProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">
    <d2p1:RegistrationprofileInformation>
      <d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
    </d2p1:RegistrationprofileInformation>
  </RegistrationProfiles>
  <UpdateRefNrInSentItems xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">false</UpdateRefNrInSentItems>
  <VersturenViaBCC xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">false</VersturenViaBCC>
</PostQuickRegistrationOptions>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<QuickRegistrationOptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">
  <AllowEmptyEmailInRegistrationprofileWizard>false</AllowEmptyEmailInRegistrationprofileWizard>
  <AllowMultipleRegistrations>false</AllowMultipleRegistrations>
  <ApplicationName>String</ApplicationName>
  <AttachmentProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
    <d2p1:RegistrationprofileInformation>
      <d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
    </d2p1:RegistrationprofileInformation>
  </AttachmentProfiles>
  <AttachmentRegistrationProfileID>00000000-0000-0000-0000-000000000000</AttachmentRegistrationProfileID>
  <BCCEmailAdres>String</BCCEmailAdres>
  <DefaultDragDropAction>CopyEmailIncludingAttachments</DefaultDragDropAction>
  <EMailActieBeantwoorden>String</EMailActieBeantwoorden>
  <EMailActieDoorsturen>String</EMailActieDoorsturen>
  <EMailActieNieuw>String</EMailActieNieuw>
  <Extension>String</Extension>
  <MenuTonenBijSlepen>false</MenuTonenBijSlepen>
  <MinimumAttachmentSize>0</MinimumAttachmentSize>
  <ProgCode>String</ProgCode>
  <RegistratieWizard365URL>String</RegistratieWizard365URL>
  <RegistrationProfileID>00000000-0000-0000-0000-000000000000</RegistrationProfileID>
  <RegistrationProfileNewEmailID>00000000-0000-0000-0000-000000000000</RegistrationProfileNewEmailID>
  <RegistrationProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
    <d2p1:RegistrationprofileInformation>
      <d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
    </d2p1:RegistrationprofileInformation>
  </RegistrationProfiles>
  <UpdateRefNrInSentItems>false</UpdateRefNrInSentItems>
  <VersturenViaBCC>false</VersturenViaBCC>
</QuickRegistrationOptions>