| GET | /{Brand}/browse/{TemplateGuid}/{QuestionGuid}/{PicklistGuid}/ | ||
|---|---|---|---|
| GET | /{Brand}/browse/{TemplateGuid}/{QuestionGuid}/{PicklistGuid}/search/{SearchTerm} | ||
| GET | /{Brand}/browse/{TemplateGuid}/{QuestionGuid}/{PicklistGuid}/{Path} | ||
| GET | /{Brand}/browse/{TemplateGuid}/{QuestionGuid}/{PicklistGuid}/{Path}/search/{SearchTerm} | ||
| All Verbs | /{Brand}/browse/{BrowseType}/ | ||
| All Verbs | /{Brand}/browse/{BrowseType}/ | ||
| All Verbs | /{Brand}/browse/{BrowseType}/{Path} | ||
| All Verbs | /{Brand}/browse/{BrowseType}/{Path} |
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 Brand(str, Enum):
DESKTOP = 'Desktop'
HP = 'Hp'
KYOCERA = 'Kyocera'
NEA_SCAN = 'NeaScan'
SAMSUNG = 'Samsung'
FUJI_XEROX = 'FujiXerox'
TA = 'Ta'
UTAX = 'Utax'
EPSON = 'Epson'
SCAN_FRONT400 = 'ScanFront400'
SHARP = 'Sharp'
RICOH = 'Ricoh'
FUJI_FILM = 'FujiFilm'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DtoBase:
brand: Optional[Brand] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestBase(DtoBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseRequest(RequestBase):
path: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowsePicklistRequest(BrowseRequest):
picklist_guid: Optional[str] = None
answers: Optional[Dict[str, str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WebClientPicklistRequest(BrowsePicklistRequest):
template_guid: Optional[str] = None
question_guid: Optional[str] = None
search_term: Optional[str] = None
Python WebClientPicklistRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Brand}/browse/{BrowseType}/ HTTP/1.1
Host: buildmax.org
Accept: application/json
Content-Type: application/json
Content-Length: length
{"TemplateGuid":"String","QuestionGuid":"String","SearchTerm":"String","PicklistGuid":"String","Path":"String","Brand":"Desktop"}