ScannerVision Web Server

<back to all web services

ScanSettingsRequest

Requires Authentication
The following routes are available for this service:
POST/{Brand}/scansettings/{TemplateGuid}
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class ScanSettingsRequest extends RequestBase
    {
        public String TemplateGuid = null;
        public ScanColour SelectedColour = null;
        public ScanOrientation SelectedOrientation = null;
        public ScanResolution SelectedResolution = null;
        public ScanSide SelectedSides = null;
        public ScanSize SelectedSize = null;
        public ScanSource SelectedSource = null;
        public ScanType SelectedType = null;
        public BoolSetting SelectedScanContinuously = null;
        public BoolSetting SelectedMixedSizes = null;
        
        public String getTemplateGuid() { return TemplateGuid; }
        public ScanSettingsRequest setTemplateGuid(String value) { this.TemplateGuid = value; return this; }
        public ScanColour getSelectedColour() { return SelectedColour; }
        public ScanSettingsRequest setSelectedColour(ScanColour value) { this.SelectedColour = value; return this; }
        public ScanOrientation getSelectedOrientation() { return SelectedOrientation; }
        public ScanSettingsRequest setSelectedOrientation(ScanOrientation value) { this.SelectedOrientation = value; return this; }
        public ScanResolution getSelectedResolution() { return SelectedResolution; }
        public ScanSettingsRequest setSelectedResolution(ScanResolution value) { this.SelectedResolution = value; return this; }
        public ScanSide getSelectedSides() { return SelectedSides; }
        public ScanSettingsRequest setSelectedSides(ScanSide value) { this.SelectedSides = value; return this; }
        public ScanSize getSelectedSize() { return SelectedSize; }
        public ScanSettingsRequest setSelectedSize(ScanSize value) { this.SelectedSize = value; return this; }
        public ScanSource getSelectedSource() { return SelectedSource; }
        public ScanSettingsRequest setSelectedSource(ScanSource value) { this.SelectedSource = value; return this; }
        public ScanType getSelectedType() { return SelectedType; }
        public ScanSettingsRequest setSelectedType(ScanType value) { this.SelectedType = value; return this; }
        public BoolSetting isSelectedScanContinuously() { return SelectedScanContinuously; }
        public ScanSettingsRequest setSelectedScanContinuously(BoolSetting value) { this.SelectedScanContinuously = value; return this; }
        public BoolSetting isSelectedMixedSizes() { return SelectedMixedSizes; }
        public ScanSettingsRequest setSelectedMixedSizes(BoolSetting value) { this.SelectedMixedSizes = value; return this; }
    }

    public static class RequestBase extends DtoBase
    {
        
    }

    public static class DtoBase
    {
        public Brand Brand = null;
        
        public Brand getBrand() { return Brand; }
        public DtoBase setBrand(Brand value) { this.Brand = value; return this; }
    }

    public static enum Brand
    {
        Desktop,
        Hp,
        Kyocera,
        NeaScan,
        Samsung,
        FujiXerox,
        Ta,
        Utax,
        Epson,
        ScanFront400,
        Sharp,
        Ricoh,
        FujiFilm;
    }

    public static enum ScanColour
    {
        BlackAndWhite,
        Greyscale,
        Colour,
        Auto;
    }

    public static enum ScanOrientation
    {
        Portrait,
        Landscape;
    }

    public static enum ScanResolution
    {
        Dpi100,
        Dpi200,
        Dpi300,
        Dpi400,
        Dpi600;
    }

    public static enum ScanSide
    {
        Simplex,
        Duplex;
    }

    public static enum ScanSize
    {
        Auto,
        A3,
        A4,
        A5,
        B4,
        B5,
        Letter,
        Legal,
        Executive,
        Folio,
        AutoLong,
        A4R,
        A5R,
        A6R,
        B6R;
    }

    public static enum ScanSource
    {
        Adf,
        Glass,
        Auto;
    }

    public static enum ScanType
    {
        Text,
        Photo,
        TextAndPhoto;
    }

    public static enum BoolSetting
    {
        True,
        False;
    }

    public static class GetTemplateResponse extends ScanResponseBase
    {
        public String ServerAddress = null;
        public Integer ServerPort = null;
        
        public String getServerAddress() { return ServerAddress; }
        public GetTemplateResponse setServerAddress(String value) { this.ServerAddress = value; return this; }
        public Integer getServerPort() { return ServerPort; }
        public GetTemplateResponse setServerPort(Integer value) { this.ServerPort = value; return this; }
    }

    public static class ScanResponseBase extends ResponseBase
    {
        public IClientTemplate Template = null;
        public ArrayList<IClientQuestion> GlobalQuestions = null;
        public Boolean CanEnableScanButton = null;
        
        public IClientTemplate getTemplate() { return Template; }
        public ScanResponseBase setTemplate(IClientTemplate value) { this.Template = value; return this; }
        public ArrayList<IClientQuestion> getGlobalQuestions() { return GlobalQuestions; }
        public ScanResponseBase setGlobalQuestions(ArrayList<IClientQuestion> value) { this.GlobalQuestions = value; return this; }
        public Boolean isCanEnableScanButton() { return CanEnableScanButton; }
        public ScanResponseBase setCanEnableScanButton(Boolean value) { this.CanEnableScanButton = value; return this; }
    }

    public static class ResponseBase extends DtoBase
    {
        public String SelectedUiLanguage = null;
        public String svSession = null;
        public String Title = null;
        public String PageTip = null;
        public Boolean NewBrowser = null;
        public Boolean ScanFront400TA = null;
        public Boolean ScanFront400UTAX = null;
        
        public String getSelectedUiLanguage() { return SelectedUiLanguage; }
        public ResponseBase setSelectedUiLanguage(String value) { this.SelectedUiLanguage = value; return this; }
        public String getSvSession() { return svSession; }
        public ResponseBase setSvSession(String value) { this.svSession = value; return this; }
        public String getTitle() { return Title; }
        public ResponseBase setTitle(String value) { this.Title = value; return this; }
        public String getPageTip() { return PageTip; }
        public ResponseBase setPageTip(String value) { this.PageTip = value; return this; }
        public Boolean isNewBrowser() { return NewBrowser; }
        public ResponseBase setNewBrowser(Boolean value) { this.NewBrowser = value; return this; }
        public Boolean isScanFront400TA() { return ScanFront400TA; }
        public ResponseBase setScanFront400TA(Boolean value) { this.ScanFront400TA = value; return this; }
        public Boolean isScanFront400UTAX() { return ScanFront400UTAX; }
        public ResponseBase setScanFront400UTAX(Boolean value) { this.ScanFront400UTAX = value; return this; }
    }

    public static interface IClientTemplate
    {
        public String Description = null;
        public byte[] Icon = null;
        public ITemplateModificationInfo ModificationInfo = null;
        public String Name = null;
        public ArrayList<IClientQuestion> Questions = null;
        public ITemplate Template = null;
        public String TemplateGuid = null;
    }

    public static interface ITemplateModificationInfo
    {
        public String Guid = null;
        public Date TemplateModificationDateTime = null;
        public Date IconModificationDateTime = null;
    }

    public static interface IClientQuestion implements ITemplateQuestion
    {
        public String QuestionGuid = null;
        public String ValueDisplayed = null;
        public String ValueReturned = null;
        public Boolean Answered = null;
        public Boolean RegexMatches = null;
        public String RegexHint = null;
    }

    public static interface ITemplate implements IStatus
    {
        public String TemplateVersion = null;
        public String ScannerVisionVersion = null;
        public String Guid = null;
        public String BeginScript = null;
        public String EndScript = null;
        public TemplateType TemplateType = null;
        public IGeneral General = null;
        public ICapture Capture = null;
        public IXmlMetadataImport XmlMetadataImport = null;
        public INotifications Notifications = null;
        public IValidator Validator = null;
    }

    public static enum TemplateType
    {
        Workflow,
        FreeForm;
    }

    public static interface IGeneral implements IInterface
    {
        public String Name = null;
        public String Description = null;
        public String Icon = null;
        public ITemplateSchedule Schedule = null;
        public IRejection Rejection = null;
        public IBadDocumentRejection BadDocumentRejection = null;
        public PdfLoadResolution PdfLoadResolution = null;
    }

    public static interface ITemplateSchedule implements IInterface
    {
        public TimeSpan Time = null;
        public TimeSpan EndTime = null;
        public Boolean NoEndTime = null;
        public TemplateScheduleType Type = null;
    }

    public static enum TemplateScheduleType
    {
        Interval,
        Fixed;
    }

    public static interface IRejection
    {
        public Integer RejectAfter = null;
        public String RejectionPath = null;
        public ICredentials ShareCredentials = null;
    }

    public static interface ICredentials implements IInterface
    {
        public String Username = null;
        public String Password = null;
    }

    public static interface IBadDocumentRejection implements IStatus
    {
        public String RejectionPath = null;
        public ICredentials ShareCredentials = null;
    }

    public static enum PdfLoadResolution
    {
        Default,
        Dpi100,
        Dpi150,
        Dpi200,
        Dpi300,
        Dpi400,
        Dpi500,
        Dpi600;
    }

    public static interface ICapture implements IInterface
    {
        public ReadOnlyCollection<ICaptureSource> CaptureSources = null;
    }

    public static interface ICaptureSource implements IStatus
    {
    }

    public static interface IXmlMetadataImport implements IStatus
    {
        public String SampleDocumentName = null;
        public ReadOnlyCollection<IXmlMetadataImportTagMapping> TagMappings = null;
        public ReadOnlyCollection<IXmlMetadataImportNamespaceMapping> NamespaceMappings = null;
    }

    public static interface IXmlMetadataImportTagMapping implements IInterface
    {
        public String XPathExpression = null;
        public IStringMetadata Metadata = null;
    }

    public static interface IStringMetadata implements IMetadata
    {
        public Boolean IsSecure = null;
        public String SampleValue = null;
        public String Value = null;
    }

    public static interface IXmlMetadataImportNamespaceMapping implements IInterface
    {
        public String Prefix = null;
        public String Name = null;
    }

    public static interface INotifications implements IStatus
    {
        public ReadOnlyCollection<INotification> Notifications = null;
    }

    public static interface INotification implements IStatus
    {
        public String Description = null;
        public String To = null;
        public String Subject = null;
        public String Body = null;
        public String Cc = null;
        public String Bcc = null;
        public NotificationType NotificationType = null;
    }

    public static enum NotificationType
    {
        FailureOnly,
        SuccessOnly,
        Always;
    }

    public static interface IValidator
    {
        public IValidationErrors ValidationErrors = null;
        public Boolean IsValid = null;
    }

    public static interface IValidationErrors
    {
        public ReadOnlyCollection<IValidationError> Errors = null;
    }

    public static interface IValidationError
    {
        public String Property = null;
        public String ErrorMessage = null;
    }

}

Java ScanSettingsRequest 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 /{Brand}/scansettings/{TemplateGuid} HTTP/1.1 
Host: buildmax.org 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"TemplateGuid":"String","SelectedColour":"BlackAndWhite","SelectedOrientation":"Portrait","SelectedResolution":"Dpi100","SelectedSides":"Simplex","SelectedSize":"Auto","SelectedSource":"Adf","SelectedType":"Text","SelectedScanContinuously":"True","SelectedMixedSizes":"True","Brand":"Desktop"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ServerAddress":"String","ServerPort":0,"CanEnableScanButton":true,"SelectedUiLanguage":"String","svSession":"String","Title":"String","PageTip":"String","NewBrowser":false,"ScanFront400TA":false,"ScanFront400UTAX":false,"Brand":"Desktop"}