Trendsic Platform Service

<back to all web services

CadInfoRequest

Requires Authentication
Requires any of the roles:Worker, Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/cad/{AttachmentId}/{VersionNo}
GET,OPTIONS/v1/cad/{AttachmentId}
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type CadLayout() = 
        member val Name:String = null with get,set
        member val IsPaperSpace:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CadFileInfo() = 
        member val CadFileInfoID:Int32 = new Int32() with get,set
        member val AttachmentId:Guid = new Guid() with get,set
        member val VersionNo:Int32 = new Int32() with get,set
        member val FileName:String = null with get,set
        member val Format:String = null with get,set
        member val FormatLabel:String = null with get,set
        member val CadVersion:String = null with get,set
        member val CadVersionCode:String = null with get,set
        member val Units:String = null with get,set
        member val DrawingNumber:String = null with get,set
        member val Title:String = null with get,set
        member val LayoutCount:Int32 = new Int32() with get,set
        member val Layouts:ResizeArray<CadLayout> = new ResizeArray<CadLayout>() with get,set
        member val LayerCount:Int32 = new Int32() with get,set
        member val EntityCount:Int32 = new Int32() with get,set
        member val TextChars:Int32 = new Int32() with get,set
        member val ExtractedText:String = null with get,set
        member val Reader:String = null with get,set
        member val Status:String = null with get,set
        member val ErrorText:String = null with get,set
        member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AgeSeconds:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CadDerivative() = 
        member val CadDerivativeID:Int32 = new Int32() with get,set
        member val AttachmentId:Guid = new Guid() with get,set
        member val VersionNo:Int32 = new Int32() with get,set
        member val Urn:String = null with get,set
        member val ObjectKey:String = null with get,set
        member val Status:String = null with get,set
        member val Progress:Int32 = new Int32() with get,set
        member val StageLabel:String = null with get,set
        member val Has2d:Boolean = new Boolean() with get,set
        member val Has3d:Boolean = new Boolean() with get,set
        member val HasPdf:Boolean = new Boolean() with get,set
        member val ThumbKey:String = null with get,set
        member val ThumbUrl:String = null with get,set
        member val PdfAttachmentId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val ErrorText:String = null with get,set
        member val RequestedBy:String = null with get,set
        member val RequestedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val FinishedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AgeSeconds:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CadCompanion() = 
        member val AttachmentId:Guid = new Guid() with get,set
        member val AttachmentName:String = null with get,set
        member val CreatedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val FileSizeInKB:Nullable<Double> = new Nullable<Double>() with get,set

    [<AllowNullLiteral>]
    type CadInfoResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val AttachmentId:Guid = new Guid() with get,set
        member val FileName:String = null with get,set
        member val Info:CadFileInfo = null with get,set
        member val Derivative:CadDerivative = null with get,set
        member val Companions:ResizeArray<CadCompanion> = new ResizeArray<CadCompanion>() with get,set
        member val ApsConnected:Boolean = new Boolean() with get,set
        member val CanRender:Boolean = new Boolean() with get,set
        member val ViewerScriptUrl:String = null with get,set
        member val ViewerStyleUrl:String = null with get,set

    [<AllowNullLiteral>]
    type CadInfoRequest() = 
        member val AttachmentId:Guid = new Guid() with get,set
        member val VersionNo:Nullable<Int32> = new Nullable<Int32>() with get,set

F# CadInfoRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	AttachmentId: 00000000000000000000000000000000,
	FileName: String,
	Info: 
	{
		CadFileInfoID: 0,
		AttachmentId: 00000000000000000000000000000000,
		VersionNo: 0,
		FileName: String,
		Format: String,
		FormatLabel: String,
		CadVersion: String,
		CadVersionCode: String,
		Units: String,
		DrawingNumber: String,
		Title: String,
		LayoutCount: 0,
		Layouts: 
		[
			{
				Name: String,
				IsPaperSpace: False
			}
		],
		LayerCount: 0,
		EntityCount: 0,
		TextChars: 0,
		ExtractedText: String,
		Reader: String,
		Status: String,
		ErrorText: String,
		CreatedAt: 0001-01-01,
		UpdatedAt: 0001-01-01,
		AgeSeconds: 0
	},
	Derivative: 
	{
		CadDerivativeID: 0,
		AttachmentId: 00000000000000000000000000000000,
		VersionNo: 0,
		Urn: String,
		ObjectKey: String,
		Status: String,
		Progress: 0,
		StageLabel: String,
		Has2d: False,
		Has3d: False,
		HasPdf: False,
		ThumbKey: String,
		ThumbUrl: String,
		PdfAttachmentId: 00000000000000000000000000000000,
		ErrorText: String,
		RequestedBy: String,
		RequestedAt: 0001-01-01,
		FinishedAt: 0001-01-01,
		AgeSeconds: 0
	},
	Companions: 
	[
		{
			AttachmentId: 00000000000000000000000000000000,
			AttachmentName: String,
			CreatedDate: 0001-01-01,
			FileSizeInKB: 0
		}
	],
	ApsConnected: False,
	CanRender: False,
	ViewerScriptUrl: String,
	ViewerStyleUrl: String
}