| Requires any of the roles: | Agent, Administrator |
| GET,OPTIONS | /v1/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate}/{AgentID} | ||
|---|---|---|---|
| GET,OPTIONS | /v1/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate} |
import Foundation
import ServiceStack
public class PeraContactTrackingRequest : Codable
{
public var paramStartDate:Date
public var paramEndDate:Date
public var agentID:Int
required public init(){}
}
public class PeraContactTrackingResponse : Codable
{
public var responseStatus:ResponseStatus
public var afPeraContact:[PeraContactTracking] = []
required public init(){}
}
public class PeraContactTracking : AFPeraContact
{
public var agent:String
public var followUpDate:Date
public var district:String
public var note:String
public var eventTypeName:String
public var avp:String
public var rvp:String
public var mvp:String
public var sale:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case agent
case followUpDate
case district
case note
case eventTypeName
case avp
case rvp
case mvp
case sale
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
agent = try container.decodeIfPresent(String.self, forKey: .agent)
followUpDate = try container.decodeIfPresent(Date.self, forKey: .followUpDate)
district = try container.decodeIfPresent(String.self, forKey: .district)
note = try container.decodeIfPresent(String.self, forKey: .note)
eventTypeName = try container.decodeIfPresent(String.self, forKey: .eventTypeName)
avp = try container.decodeIfPresent(String.self, forKey: .avp)
rvp = try container.decodeIfPresent(String.self, forKey: .rvp)
mvp = try container.decodeIfPresent(String.self, forKey: .mvp)
sale = try container.decodeIfPresent(String.self, forKey: .sale)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if agent != nil { try container.encode(agent, forKey: .agent) }
if followUpDate != nil { try container.encode(followUpDate, forKey: .followUpDate) }
if district != nil { try container.encode(district, forKey: .district) }
if note != nil { try container.encode(note, forKey: .note) }
if eventTypeName != nil { try container.encode(eventTypeName, forKey: .eventTypeName) }
if avp != nil { try container.encode(avp, forKey: .avp) }
if rvp != nil { try container.encode(rvp, forKey: .rvp) }
if mvp != nil { try container.encode(mvp, forKey: .mvp) }
if sale != nil { try container.encode(sale, forKey: .sale) }
}
}
public class AFPeraContact : Codable
{
public var peraContactId:Int
public var firstName:String
public var lastName:String
public var appointmentDateTime:Date
public var dateCreated:Date
public var agentId:Int
required public init(){}
}
Swift PeraContactTrackingRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate}/{AgentID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"AFPeraContact":[{"Agent":"String","FollowUpDate":"0001-01-01T00:00:00.0000000","District":"String","Note":"String","EventTypeName":"String","AVP":"String","RVP":"String","MVP":"String","Sale":"String","PeraContactId":0,"FirstName":"String","LastName":"String","AppointmentDateTime":"0001-01-01T00:00:00.0000000","DateCreated":"0001-01-01T00:00:00.0000000","AgentId":0}]}