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
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetDocumentByFileUrl:
file_url: Optional[str] = None
Python GetDocumentByFileUrl 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 /xml/reply/GetDocumentByFileUrl HTTP/1.1
Host: doapigw.baasbv.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetDocumentByFileUrl xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
<FileUrl>String</FileUrl>
</GetDocumentByFileUrl>
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>