POST | /documents |
---|
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
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Members:
home_url: Optional[str] = None
success: Optional[bool] = None
is_pension_sight: Optional[bool] = None
class AuthenticationMethodType(str, Enum):
NEM_ID = 'NemId'
SSO = 'SSO'
COMMON = 'Common'
SINGLE = 'Single'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PostDocumentReq:
reference: Optional[str] = None
language_iso_code: Optional[str] = None
country_iso_code: Optional[str] = None
client_uri: Optional[str] = None
authentication_method_type: Optional[AuthenticationMethodType] = None
employee_guid: Optional[str] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /documents HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
reference: String,
languageIsoCode: String,
countryIsoCode: String,
clientUri: String,
authenticationMethodType: NemId,
employeeGuid: 00000000000000000000000000000000
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { homeUrl: String, success: False, isPensionSight: False }