| Requires any of the roles: | Worker, Agent, Administrator, Worker, Agent, Administrator, Worker, Agent, Administrator, Worker, Agent, Administrator |
| GET,POST,PUT,DELETE,OPTIONS | /v1/ContactHistory/{ContactHistoryId} | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/ContactHistory |
import Foundation
import ServiceStack
public class ContactHistoryRequest : Codable
{
public var contactHistory:[ContactHistory] = []
required public init(){}
}
public class ContactHistory : Codable
{
public var contactHistoryId:Int
public var contactId:Int
public var eventId:Int
public var agentId:Int
public var eventDate:Date
public var dateCreated:Date
public var note:String
required public init(){}
}
public class ContactHistoryResponse : Codable
{
public var responseStatus:ResponseStatus
public var contactHistory:[ContactHistoryExtended] = []
required public init(){}
}
public class ContactHistoryExtended : ContactHistory
{
public var eventTypeName:String
public var application:[ActivityTracker_Application] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case eventTypeName
case application
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
eventTypeName = try container.decodeIfPresent(String.self, forKey: .eventTypeName)
application = try container.decodeIfPresent([ActivityTracker_Application].self, forKey: .application) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if eventTypeName != nil { try container.encode(eventTypeName, forKey: .eventTypeName) }
if application.count > 0 { try container.encode(application, forKey: .application) }
}
}
public class ActivityTracker_Application : Codable
{
public var contactName:String
public var carriers:String
public var applicationId:Int
public var contactId:Int
public var lifeAP:Double
public var annuityFlow:Double
public var annuityTransfer:Double
public var dateCreated:Date
required public init(){}
}
Swift ContactHistoryRequest 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 /v1/ContactHistory/{ContactHistoryId} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ContactHistoryRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<ContactHistory>
<ContactHistory>
<AgentId>0</AgentId>
<ContactHistoryId>0</ContactHistoryId>
<ContactId>0</ContactId>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<EventDate>0001-01-01T00:00:00</EventDate>
<EventId>0</EventId>
<Note>String</Note>
</ContactHistory>
</ContactHistory>
</ContactHistoryRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ContactHistoryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<ContactHistory>
<ContactHistoryExtended>
<AgentId>0</AgentId>
<ContactHistoryId>0</ContactHistoryId>
<ContactId>0</ContactId>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<EventDate>0001-01-01T00:00:00</EventDate>
<EventId>0</EventId>
<Note>String</Note>
<Application>
<ActivityTracker_Application>
<AnnuityFlow>0</AnnuityFlow>
<AnnuityTransfer>0</AnnuityTransfer>
<ApplicationId>0</ApplicationId>
<Carriers>String</Carriers>
<ContactId>0</ContactId>
<ContactName>String</ContactName>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<LifeAP>0</LifeAP>
</ActivityTracker_Application>
</Application>
<EventTypeName>String</EventTypeName>
</ContactHistoryExtended>
</ContactHistory>
<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>
</ContactHistoryResponse>