| POST | /api/documents/number |
|---|
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 Document(ICustomProperties):
id: Optional[str] = None
root_document_i_d: Optional[str] = None
registrationprofile_i_d: Optional[str] = None
title: Optional[str] = None
full_title: Optional[str] = None
number: Optional[str] = None
version: Optional[str] = None
external_number: Optional[str] = None
external_version: Optional[str] = None
internal_number: Optional[str] = None
internal_invoice_number: Optional[str] = None
person_i_d: int = 0
relation_i_d: int = 0
relation_title: Optional[str] = None
project_i_d: int = 0
project_title: Optional[str] = None
extension: Optional[str] = None
date: Optional[datetime.datetime] = None
comments_count: int = 0
has_comments: bool = False
has_preview: bool = False
extra_field: Optional[str] = None
is_favorite: bool = False
documentcategory_text: Optional[str] = None
file_size: Optional[int] = None
file_date: Optional[datetime.datetime] = None
hash: Optional[str] = None
hash_type: Optional[str] = None
file_url: Optional[str] = None
standard_document_url: Optional[str] = None
is_corporate_identity: bool = False
user_title: Optional[str] = None
is_frozen: bool = False
internal_company_i_d: int = 0
direct_url: Optional[str] = None
allow_digital_signing_only_on_primary_versions: bool = False
is_primary_version: bool = False
file_extension: Optional[str] = None
custom_properties: Optional[Dict[str, Object]] = None
# @Api(Description="Get the details of a document by reference number")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetDocumentByNumber:
"""
Get the details of a document by reference number
"""
number: Optional[str] = None
version: Optional[str] = None
Python GetDocumentByNumber DTOs
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 /api/documents/number HTTP/1.1
Host: doapigw.baasbv.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Number: String,
Version: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Title: String,
FullTitle: String,
Number: String,
Version: String,
ExternalNumber: String,
ExternalVersion: String,
InternalNumber: String,
InternalInvoiceNumber: String,
PersonID: 0,
RelationID: 0,
RelationTitle: String,
ProjectID: 0,
ProjectTitle: String,
Extension: String,
Date: 0001-01-01,
CommentsCount: 0,
HasComments: False,
HasPreview: False,
ExtraField: String,
IsFavorite: False,
DocumentcategoryText: String,
FileSize: 0,
FileDate: 0001-01-01,
Hash: String,
HashType: String,
FileUrl: String,
StandardDocumentUrl: String,
IsCorporateIdentity: False,
UserTitle: String,
IsFrozen: False,
InternalCompanyID: 0,
DirectUrl: String,
AllowDigitalSigningOnlyOnPrimaryVersions: False,
IsPrimaryVersion: False,
FileExtension: String,
CustomProperties:
{
String: {}
}
}