ScannerVision Web Server

<back to all web services

GetScanSBC

Requires Authentication
The following routes are available for this service:
POST/{Brand}/scan
<?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};


enum Brand : string
{
    case Desktop = 'Desktop';
    case Hp = 'Hp';
    case Kyocera = 'Kyocera';
    case NeaScan = 'NeaScan';
    case Samsung = 'Samsung';
    case FujiXerox = 'FujiXerox';
    case Ta = 'Ta';
    case Utax = 'Utax';
    case Epson = 'Epson';
    case ScanFront400 = 'ScanFront400';
    case Sharp = 'Sharp';
    case Ricoh = 'Ricoh';
    case FujiFilm = 'FujiFilm';
}

class DtoBase implements JsonSerializable
{
    public function __construct(
        /** @var Brand|null */
        public ?Brand $Brand=null
    ) {
    }

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

class RequestBase extends DtoBase implements JsonSerializable
{
    /**
     * @param Brand|null $Brand
     */
    public function __construct(
        ?Brand $Brand=null
    ) {
        parent::__construct($Brand);
    }

    /** @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;
    }
}

class GetScanSBC extends RequestBase implements JsonSerializable
{
    /**
     * @param Brand|null $Brand
     */
    public function __construct(
        ?Brand $Brand=null
    ) {
        parent::__construct($Brand);
    }

    /** @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;
    }
}

class ResponseBase extends DtoBase implements JsonSerializable
{
    /**
     * @param Brand|null $Brand
     */
    public function __construct(
        ?Brand $Brand=null,
        /** @var string|null */
        public ?string $SelectedUiLanguage=null,
        /** @var string|null */
        public ?string $svSession=null,
        /** @var string|null */
        public ?string $Title=null,
        /** @var string|null */
        public ?string $PageTip=null,
        /** @var bool|null */
        public ?bool $NewBrowser=null,
        /** @var bool|null */
        public ?bool $ScanFront400TA=null,
        /** @var bool|null */
        public ?bool $ScanFront400UTAX=null
    ) {
        parent::__construct($Brand);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['SelectedUiLanguage'])) $this->SelectedUiLanguage = $o['SelectedUiLanguage'];
        if (isset($o['svSession'])) $this->svSession = $o['svSession'];
        if (isset($o['Title'])) $this->Title = $o['Title'];
        if (isset($o['PageTip'])) $this->PageTip = $o['PageTip'];
        if (isset($o['NewBrowser'])) $this->NewBrowser = $o['NewBrowser'];
        if (isset($o['ScanFront400TA'])) $this->ScanFront400TA = $o['ScanFront400TA'];
        if (isset($o['ScanFront400UTAX'])) $this->ScanFront400UTAX = $o['ScanFront400UTAX'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->SelectedUiLanguage)) $o['SelectedUiLanguage'] = $this->SelectedUiLanguage;
        if (isset($this->svSession)) $o['svSession'] = $this->svSession;
        if (isset($this->Title)) $o['Title'] = $this->Title;
        if (isset($this->PageTip)) $o['PageTip'] = $this->PageTip;
        if (isset($this->NewBrowser)) $o['NewBrowser'] = $this->NewBrowser;
        if (isset($this->ScanFront400TA)) $o['ScanFront400TA'] = $this->ScanFront400TA;
        if (isset($this->ScanFront400UTAX)) $o['ScanFront400UTAX'] = $this->ScanFront400UTAX;
        return empty($o) ? new class(){} : $o;
    }
}

class GetScanResponse extends ResponseBase implements JsonSerializable
{
    /**
     * @param Brand|null $Brand
     * @param string|null $SelectedUiLanguage
     * @param string|null $svSession
     * @param string|null $Title
     * @param string|null $PageTip
     * @param bool|null $NewBrowser
     * @param bool|null $ScanFront400TA
     * @param bool|null $ScanFront400UTAX
     */
    public function __construct(
        ?Brand $Brand=null,
        ?string $SelectedUiLanguage=null,
        ?string $svSession=null,
        ?string $Title=null,
        ?string $PageTip=null,
        ?bool $NewBrowser=null,
        ?bool $ScanFront400TA=null,
        ?bool $ScanFront400UTAX=null,
        /** @var bool|null */
        public ?bool $DoGetImage=null,
        /** @var string|null */
        public ?string $TemplateGuid=null,
        /** @var string|null */
        public ?string $FileNameGuid=null,
        /** @var string|null */
        public ?string $ServerUrlRoot=null,
        /** @var ByteArray|null */
        public ?ByteArray $TemplateIcon=null,
        /** @var string|null */
        public ?string $TemplateName=null
    ) {
        parent::__construct($Brand,$SelectedUiLanguage,$svSession,$Title,$PageTip,$NewBrowser,$ScanFront400TA,$ScanFront400UTAX);
    }

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

PHP GetScanSBC DTOs

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

HTTP + CSV

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

POST /{Brand}/scan HTTP/1.1 
Host: buildmax.org 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Brand":"Desktop"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{Unable to show example output for type 'GetScanResponse' using the custom 'csv' filter}No parameterless constructor defined for this object.