| Requires any of the roles: | Worker, Agent, Administrator |
| GET,OPTIONS | /v1/cad/{AttachmentId}/{VersionNo} | ||
|---|---|---|---|
| GET,OPTIONS | /v1/cad/{AttachmentId} |
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 CadLayout:
name: Optional[str] = None
is_paper_space: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CadFileInfo:
cad_file_info_i_d: int = 0
attachment_id: Optional[str] = None
version_no: int = 0
file_name: Optional[str] = None
format: Optional[str] = None
format_label: Optional[str] = None
cad_version: Optional[str] = None
cad_version_code: Optional[str] = None
units: Optional[str] = None
drawing_number: Optional[str] = None
title: Optional[str] = None
layout_count: int = 0
layouts: List[CadLayout] = field(default_factory=list)
layer_count: int = 0
entity_count: int = 0
text_chars: int = 0
extracted_text: Optional[str] = None
reader: Optional[str] = None
status: Optional[str] = None
error_text: Optional[str] = None
created_at: Optional[datetime.datetime] = None
updated_at: Optional[datetime.datetime] = None
age_seconds: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CadDerivative:
cad_derivative_i_d: int = 0
attachment_id: Optional[str] = None
version_no: int = 0
urn: Optional[str] = None
object_key: Optional[str] = None
status: Optional[str] = None
progress: int = 0
stage_label: Optional[str] = None
has2d: bool = False
has3d: bool = False
has_pdf: bool = False
thumb_key: Optional[str] = None
thumb_url: Optional[str] = None
pdf_attachment_id: Optional[str] = None
error_text: Optional[str] = None
requested_by: Optional[str] = None
requested_at: Optional[datetime.datetime] = None
finished_at: Optional[datetime.datetime] = None
age_seconds: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CadCompanion:
attachment_id: Optional[str] = None
attachment_name: Optional[str] = None
created_date: Optional[datetime.datetime] = None
file_size_in_k_b: Optional[float] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CadInfoResponse:
response_status: Optional[ResponseStatus] = None
attachment_id: Optional[str] = None
file_name: Optional[str] = None
info: Optional[CadFileInfo] = None
derivative: Optional[CadDerivative] = None
companions: List[CadCompanion] = field(default_factory=list)
aps_connected: bool = False
can_render: bool = False
viewer_script_url: Optional[str] = None
viewer_style_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CadInfoRequest:
attachment_id: Optional[str] = None
version_no: Optional[int] = None
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.
GET /v1/cad/{AttachmentId}/{VersionNo} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CadInfoResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<ApsConnected>false</ApsConnected>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<CanRender>false</CanRender>
<Companions>
<CadCompanion>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<AttachmentName>String</AttachmentName>
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<FileSizeInKB>0</FileSizeInKB>
</CadCompanion>
</Companions>
<Derivative>
<AgeSeconds>0</AgeSeconds>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<CadDerivativeID>0</CadDerivativeID>
<ErrorText>String</ErrorText>
<FinishedAt>0001-01-01T00:00:00</FinishedAt>
<Has2d>false</Has2d>
<Has3d>false</Has3d>
<HasPdf>false</HasPdf>
<ObjectKey>String</ObjectKey>
<PdfAttachmentId>00000000-0000-0000-0000-000000000000</PdfAttachmentId>
<Progress>0</Progress>
<RequestedAt>0001-01-01T00:00:00</RequestedAt>
<RequestedBy>String</RequestedBy>
<StageLabel>String</StageLabel>
<Status>String</Status>
<ThumbKey>String</ThumbKey>
<ThumbUrl>String</ThumbUrl>
<Urn>String</Urn>
<VersionNo>0</VersionNo>
</Derivative>
<FileName>String</FileName>
<Info>
<AgeSeconds>0</AgeSeconds>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<CadFileInfoID>0</CadFileInfoID>
<CadVersion>String</CadVersion>
<CadVersionCode>String</CadVersionCode>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<DrawingNumber>String</DrawingNumber>
<EntityCount>0</EntityCount>
<ErrorText>String</ErrorText>
<ExtractedText>String</ExtractedText>
<FileName>String</FileName>
<Format>String</Format>
<FormatLabel>String</FormatLabel>
<LayerCount>0</LayerCount>
<LayoutCount>0</LayoutCount>
<Layouts>
<CadLayout>
<IsPaperSpace>false</IsPaperSpace>
<Name>String</Name>
</CadLayout>
</Layouts>
<Reader>String</Reader>
<Status>String</Status>
<TextChars>0</TextChars>
<Title>String</Title>
<Units>String</Units>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
<VersionNo>0</VersionNo>
</Info>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<ViewerScriptUrl>String</ViewerScriptUrl>
<ViewerStyleUrl>String</ViewerStyleUrl>
</CadInfoResponse>