| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| GET,POST,OPTIONS | /v1/Resource |
|---|
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 ResourceCategory() =
member val CategoryName:String = null with get,set
member val Subcategories:ResizeArray<String> = new ResizeArray<String>() with get,set
[<AllowNullLiteral>]
type Document() =
member val DocumentId:Guid = new Guid() with get,set
member val DocType:String = null with get,set
member val DocCategory:String = null with get,set
member val DocSubCategory:String = null with get,set
member val DocTitle:String = null with get,set
member val DocDescription:String = null with get,set
member val DocData:Byte[] = [||] with get,set
member val DocExpiration:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val DocMimeType:String = null with get,set
member val DisplayOrder:Int32 = new Int32() with get,set
member val FileSizeInKB:Double = new Double() with get,set
member val Link:String = null with get,set
member val UploadDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val DocKey:String = null with get,set
[<AllowNullLiteral>]
type Resource() =
member val ResourceType:String = null with get,set
member val Categories:ResizeArray<ResourceCategory> = new ResizeArray<ResourceCategory>() with get,set
member val Documents:ResizeArray<Document> = new ResizeArray<Document>() with get,set
[<AllowNullLiteral>]
type ResourceResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
member val Resource:ResizeArray<Resource> = new ResizeArray<Resource>() with get,set
[<AllowNullLiteral>]
type ResourceRequest() =
member val Resource:ResizeArray<Resource> = new ResizeArray<Resource>() with get,set
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 /v1/Resource HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Resource:
[
{
ResourceType: String,
Categories:
[
{
CategoryName: String,
Subcategories:
[
String
]
}
],
Documents:
[
{
DocumentId: 00000000000000000000000000000000,
DocType: String,
DocCategory: String,
DocSubCategory: String,
DocTitle: String,
DocDescription: String,
DocData: AA==,
DocExpiration: 0001-01-01,
DocMimeType: String,
DisplayOrder: 0,
FileSizeInKB: 0,
Link: String,
UploadDate: 0001-01-01,
DocKey: String
}
]
}
]
}
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
}
},
Resource:
[
{
ResourceType: String,
Categories:
[
{
CategoryName: String,
Subcategories:
[
String
]
}
],
Documents:
[
{
DocumentId: 00000000000000000000000000000000,
DocType: String,
DocCategory: String,
DocSubCategory: String,
DocTitle: String,
DocDescription: String,
DocData: AA==,
DocExpiration: 0001-01-01,
DocMimeType: String,
DisplayOrder: 0,
FileSizeInKB: 0,
Link: String,
UploadDate: 0001-01-01,
DocKey: String
}
]
}
]
}