GET POST | /api/documents/{DocumentID} |
---|
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: Optional[int] = None
relation_i_d: Optional[int] = None
relation_title: Optional[str] = None
project_i_d: Optional[int] = None
project_title: Optional[str] = None
extension: Optional[str] = None
date: Optional[datetime.datetime] = None
comments_count: Optional[int] = None
has_comments: Optional[bool] = None
has_preview: Optional[bool] = None
extra_field: Optional[str] = None
is_favorite: Optional[bool] = None
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: Optional[bool] = None
user_title: Optional[str] = None
is_frozen: Optional[bool] = None
internal_company_i_d: Optional[int] = None
direct_url: Optional[str] = None
allow_digital_signing_only_on_primary_versions: Optional[bool] = None
is_primary_version: Optional[bool] = None
file_extension: Optional[str] = None
custom_properties: Optional[Dict[str, Object]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetDocumentDetails:
document_i_d: Optional[str] = None
include_custom_properties: Optional[bool] = None
Python GetDocumentDetails 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/{DocumentID} HTTP/1.1
Host: digiofficeapigateway.deltares.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
IncludeCustomProperties: False
}
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: {} } }