| Requires any of the roles: | Worker, Agent, Administrator, Worker, Agent, Administrator, Worker, Agent, Administrator, Worker, Agent, Administrator |
| DELETE,OPTIONS | /v1/Task/{TaskId} | ||
|---|---|---|---|
| GET,POST,PUT,OPTIONS | /v1/Task |
import Foundation
import ServiceStack
public class TaskRequest : Codable
{
public var task:TaskExtended
public var taskId:String
required public init(){}
}
public class TaskExtended : Task
{
public var assignedToName:String
public var relatedToName:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case assignedToName
case relatedToName
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
assignedToName = try container.decodeIfPresent(String.self, forKey: .assignedToName)
relatedToName = try container.decodeIfPresent(String.self, forKey: .relatedToName)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if assignedToName != nil { try container.encode(assignedToName, forKey: .assignedToName) }
if relatedToName != nil { try container.encode(relatedToName, forKey: .relatedToName) }
}
}
public class Task : Codable
{
public var taskId:String
public var Description:String
public var dueDate:Date
public var assignedToAgentId:Int
public var relatedToContactId:Int
public var createdBy:Int
public var dateCreated:Date
public var dateCompleted:Date
public var completedBy:Int
public var dateDeleted:Date
public var deletedBy:Int
required public init(){}
}
public class TaskResponse : Codable
{
public var responseStatus:ResponseStatus
public var task:[TaskExtended] = []
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Task HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Task":{"AssignedToName":"String","RelatedToName":"String","TaskId":"00000000000000000000000000000000","Description":"String","DueDate":"0001-01-01T00:00:00.0000000","AssignedToAgentId":0,"RelatedToContactId":0,"CreatedBy":0,"DateCreated":"0001-01-01T00:00:00.0000000","DateCompleted":"0001-01-01T00:00:00.0000000","CompletedBy":0,"DateDeleted":"0001-01-01T00:00:00.0000000","DeletedBy":0},"TaskId":"00000000000000000000000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Task":[{"AssignedToName":"String","RelatedToName":"String","TaskId":"00000000000000000000000000000000","Description":"String","DueDate":"0001-01-01T00:00:00.0000000","AssignedToAgentId":0,"RelatedToContactId":0,"CreatedBy":0,"DateCreated":"0001-01-01T00:00:00.0000000","DateCompleted":"0001-01-01T00:00:00.0000000","CompletedBy":0,"DateDeleted":"0001-01-01T00:00:00.0000000","DeletedBy":0}]}