Trendsic Platform Service

<back to all web services

PeraContactTrackingRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate}/{AgentID}
GET,OPTIONS/v1/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class AFPeraContact implements IConvertible
{
    int? PeraContactId;
    String? FirstName;
    String? LastName;
    DateTime? AppointmentDateTime;
    DateTime? DateCreated;
    int? AgentId;

    AFPeraContact({this.PeraContactId,this.FirstName,this.LastName,this.AppointmentDateTime,this.DateCreated,this.AgentId});
    AFPeraContact.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PeraContactId = json['PeraContactId'];
        FirstName = json['FirstName'];
        LastName = json['LastName'];
        AppointmentDateTime = JsonConverters.fromJson(json['AppointmentDateTime'],'DateTime',context!);
        DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!);
        AgentId = json['AgentId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PeraContactId': PeraContactId,
        'FirstName': FirstName,
        'LastName': LastName,
        'AppointmentDateTime': JsonConverters.toJson(AppointmentDateTime,'DateTime',context!),
        'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!),
        'AgentId': AgentId
    };

    getTypeName() => "AFPeraContact";
    TypeContext? context = _ctx;
}

class PeraContactTracking extends AFPeraContact implements IConvertible
{
    String? Agent;
    DateTime? FollowUpDate;
    String? District;
    String? Note;
    String? EventTypeName;
    String? AVP;
    String? RVP;
    String? MVP;
    String? Sale;

    PeraContactTracking({this.Agent,this.FollowUpDate,this.District,this.Note,this.EventTypeName,this.AVP,this.RVP,this.MVP,this.Sale});
    PeraContactTracking.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Agent = json['Agent'];
        FollowUpDate = JsonConverters.fromJson(json['FollowUpDate'],'DateTime',context!);
        District = json['District'];
        Note = json['Note'];
        EventTypeName = json['EventTypeName'];
        AVP = json['AVP'];
        RVP = json['RVP'];
        MVP = json['MVP'];
        Sale = json['Sale'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Agent': Agent,
        'FollowUpDate': JsonConverters.toJson(FollowUpDate,'DateTime',context!),
        'District': District,
        'Note': Note,
        'EventTypeName': EventTypeName,
        'AVP': AVP,
        'RVP': RVP,
        'MVP': MVP,
        'Sale': Sale
    });

    getTypeName() => "PeraContactTracking";
    TypeContext? context = _ctx;
}

class PeraContactTrackingResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<PeraContactTracking>? AFPeraContact = [];

    PeraContactTrackingResponse({this.ResponseStatus,this.AFPeraContact});
    PeraContactTrackingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        AFPeraContact = JsonConverters.fromJson(json['AFPeraContact'],'List<PeraContactTracking>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'AFPeraContact': JsonConverters.toJson(AFPeraContact,'List<PeraContactTracking>',context!)
    };

    getTypeName() => "PeraContactTrackingResponse";
    TypeContext? context = _ctx;
}

class PeraContactTrackingRequest implements IConvertible
{
    DateTime? ParamStartDate;
    DateTime? ParamEndDate;
    int? AgentID;

    PeraContactTrackingRequest({this.ParamStartDate,this.ParamEndDate,this.AgentID});
    PeraContactTrackingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ParamStartDate = JsonConverters.fromJson(json['ParamStartDate'],'DateTime',context!);
        ParamEndDate = JsonConverters.fromJson(json['ParamEndDate'],'DateTime',context!);
        AgentID = json['AgentID'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ParamStartDate': JsonConverters.toJson(ParamStartDate,'DateTime',context!),
        'ParamEndDate': JsonConverters.toJson(ParamEndDate,'DateTime',context!),
        'AgentID': AgentID
    };

    getTypeName() => "PeraContactTrackingRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'AFPeraContact': TypeInfo(TypeOf.Class, create:() => AFPeraContact()),
    'PeraContactTracking': TypeInfo(TypeOf.Class, create:() => PeraContactTracking()),
    'PeraContactTrackingResponse': TypeInfo(TypeOf.Class, create:() => PeraContactTrackingResponse()),
    'List<PeraContactTracking>': TypeInfo(TypeOf.Class, create:() => <PeraContactTracking>[]),
    'PeraContactTrackingRequest': TypeInfo(TypeOf.Class, create:() => PeraContactTrackingRequest()),
});

Dart PeraContactTrackingRequest 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/Report/PeraContactTracking/{ParamStartDate}/{ParamEndDate}/{AgentID} 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
		}
	},
	AFPeraContact: 
	[
		{
			Agent: String,
			FollowUpDate: 0001-01-01,
			District: String,
			Note: String,
			EventTypeName: String,
			AVP: String,
			RVP: String,
			MVP: String,
			Sale: String,
			PeraContactId: 0,
			FirstName: String,
			LastName: String,
			AppointmentDateTime: 0001-01-01,
			DateCreated: 0001-01-01,
			AgentId: 0
		}
	]
}