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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<GetDocumentDetails xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
<DocumentID>00000000-0000-0000-0000-000000000000</DocumentID>
<IncludeCustomProperties>false</IncludeCustomProperties>
</GetDocumentDetails>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <Document xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document"> <AllowDigitalSigningOnlyOnPrimaryVersions>false</AllowDigitalSigningOnlyOnPrimaryVersions> <CommentsCount>0</CommentsCount> <CustomProperties xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringanyType> <d2p1:Key>String</d2p1:Key> <d2p1:Value /> </d2p1:KeyValueOfstringanyType> </CustomProperties> <Date>0001-01-01T00:00:00</Date> <DirectUrl>String</DirectUrl> <DocumentcategoryText>String</DocumentcategoryText> <Extension>String</Extension> <ExternalNumber>String</ExternalNumber> <ExternalVersion>String</ExternalVersion> <ExtraField>String</ExtraField> <FileDate>0001-01-01T00:00:00</FileDate> <FileExtension>String</FileExtension> <FileSize>0</FileSize> <FileUrl>String</FileUrl> <FullTitle>String</FullTitle> <HasPreview>false</HasPreview> <Hash>String</Hash> <HashType>String</HashType> <ID>00000000-0000-0000-0000-000000000000</ID> <InternalCompanyID>0</InternalCompanyID> <InternalInvoiceNumber>String</InternalInvoiceNumber> <InternalNumber>String</InternalNumber> <IsCorporateIdentity>false</IsCorporateIdentity> <IsFavorite>false</IsFavorite> <IsFrozen>false</IsFrozen> <IsPrimaryVersion>false</IsPrimaryVersion> <Number>String</Number> <PersonID>0</PersonID> <ProjectID>0</ProjectID> <ProjectTitle>String</ProjectTitle> <RegistrationprofileID>00000000-0000-0000-0000-000000000000</RegistrationprofileID> <RelationID>0</RelationID> <RelationTitle>String</RelationTitle> <RootDocumentID>00000000-0000-0000-0000-000000000000</RootDocumentID> <StandardDocumentUrl>String</StandardDocumentUrl> <Title>String</Title> <UserTitle>String</UserTitle> <Version>String</Version> </Document>