Trendsic Platform Service

<back to all web services

PeraAgentRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/PeraAgent/{AgentId}
PUT,OPTIONS/v1/PeraAgent
import Foundation
import ServiceStack

public class PeraAgentRequest : Codable
{
    public var agentId:Int
    public var agent:[PeraAgent] = []

    required public init(){}
}

public class PeraAgent : Codable
{
    public var agentId:Int
    public var userId:String
    public var firstName:String
    public var lastName:String
    public var fullName:String
    public var calendarId:String
    public var googleCalendar:String
    public var peraICSUrl:String
    public var asapOptOut:Bool
    public var asapLockOut:Bool
    public var acceptAllAppts:Bool
    public var timeZone:String
    public var email:String
    public var asapWeeklyAppts:Int
    public var saturdayAppts:Bool
    public var sundayAppts:Bool
    public var agentLevel:Int
    public var districts:[AgentDistrict] = []
    public var apiKey:String

    required public init(){}
}

public class AgentDistrict : Codable
{
    public var id:Int
    public var agentId:Int
    public var districtId:Int
    public var name:String
    public var campaignTypeId:Int

    required public init(){}
}

public class AgentResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var agent:[Agent] = []

    required public init(){}
}

public class Agent : Codable
{
    public var agentId:Int
    public var company:String
    public var agentName:String
    public var firstName:String
    public var lastName:String
    public var middleInitial:String
    public var address1:String
    public var address2:String
    public var city:String
    public var state:String
    public var zip:String
    public var country:String
    public var email:String
    public var emailSignature:String
    public var homePhone:String
    public var cellPhone:String
    public var workPhone:String
    public var insLicensed:Bool
    public var agreeToDisclosures:Bool
    public var agreeToDate:Date?
    public var paidDate:Date?
    public var agentNumber:String
    public var referringAgent:String
    public var placementAgent:String
    public var createdDate:Date?
    public var userId:String
    public var isAgent:Bool
    public var package:String
    public var storeName:String
    public var notes:String
    public var upline1:Int?
    public var upline2:Int?
    public var upline3:Int?
    public var upline4:Int?
    public var mvpid:Int?
    public var avpid:Int?
    public var rvpid:Int?
    public var agentLevel:Double?
    public var isMVP:Bool
    public var isRVP:Bool
    public var isAVP:Bool
    public var isAdmin:Bool
    public var isBusinessCardAdmin:Bool
    public var teamName:String
    public var locationId:String
    public var calendarId:String
    public var rank:String
    public var nbc:Bool
    public var upline1Percent:Double?
    public var upline2Percent:Double?
    public var upline3Percent:Double?
    public var upline4Percent:Double?
    public var agentStatus:String
    public var office:String
    public var dob:Date?
    public var ssn:String
    public var fax:String
    public var businessEmail:String
    public var modifiedDate:Date?
    public var modifiedBy:String
    public var timeZone:String
    public var leaderLocked:Bool
    public var lastSubmittedBusinessDate:Date
    public var gracePeriodDate:Date
    public var vested:Bool
    public var directPay:Date
    public var directPayApprBy:String
    public var factFinderBilling:Double?
    public var fullName:String
    public var byLastName:String
    public var isSecurityLicensed:Bool
    public var isEncompassAdmin:Bool
    public var apiKey:String
    public var lastSessionId:String
    public var lastLogin:Date?
    public var mfaActive:Bool
    public var requireMFA:Bool
    public var smsPhoneNumber:String
    public var verifiedEmailStatus:Bool
    public var verifiedCellPhoneStatus:Bool
    public var schedulerUrl:String
    public var queueDefaults:QueueDefault
    public var roles:[String] = []
    public var passwordUpdated:Bool
    public var restrictToSingleSession:Bool

    required public init(){}
}

public class QueueDefault : Codable
{
    public var locationId:String
    public var services:[String] = []

    required public init(){}
}


Swift PeraAgentRequest 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.

PUT /v1/PeraAgent/{AgentId} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	AgentId: 0,
	Agent: 
	[
		{
			AgentId: 0,
			UserId: 00000000000000000000000000000000,
			FirstName: String,
			LastName: String,
			FullName: String,
			CalendarId: 00000000000000000000000000000000,
			GoogleCalendar: String,
			PeraICSUrl: String,
			AsapOptOut: False,
			AsapLockOut: False,
			AcceptAllAppts: False,
			TimeZone: String,
			Email: String,
			AsapWeeklyAppts: 0,
			SaturdayAppts: False,
			SundayAppts: False,
			AgentLevel: 0,
			Districts: 
			[
				{
					Id: 0,
					AgentId: 0,
					DistrictId: 0,
					Name: String,
					CampaignTypeId: 0
				}
			],
			ApiKey: 00000000000000000000000000000000
		}
	]
}
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
		}
	},
	Agent: 
	[
		{
			AgentId: 0,
			Company: String,
			AgentName: String,
			FirstName: String,
			LastName: String,
			MiddleInitial: String,
			Address1: String,
			Address2: String,
			City: String,
			State: String,
			Zip: String,
			Country: String,
			Email: String,
			EmailSignature: String,
			HomePhone: String,
			CellPhone: String,
			WorkPhone: String,
			InsLicensed: False,
			AgreeToDisclosures: False,
			AgreeToDate: 0001-01-01,
			PaidDate: 0001-01-01,
			AgentNumber: String,
			ReferringAgent: String,
			PlacementAgent: String,
			CreatedDate: 0001-01-01,
			UserId: 00000000000000000000000000000000,
			IsAgent: False,
			Package: String,
			StoreName: String,
			Notes: String,
			Upline1: 0,
			Upline2: 0,
			Upline3: 0,
			Upline4: 0,
			MVPID: 0,
			AVPID: 0,
			RVPID: 0,
			AgentLevel: 0,
			IsMVP: False,
			IsRVP: False,
			IsAVP: False,
			IsAdmin: False,
			IsBusinessCardAdmin: False,
			TeamName: String,
			LocationId: 00000000000000000000000000000000,
			CalendarId: 00000000000000000000000000000000,
			Rank: String,
			NBC: False,
			Upline1Percent: 0,
			Upline2Percent: 0,
			Upline3Percent: 0,
			Upline4Percent: 0,
			AgentStatus: String,
			Office: String,
			DOB: 0001-01-01,
			SSN: String,
			Fax: String,
			BusinessEmail: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String,
			TimeZone: String,
			LeaderLocked: False,
			LastSubmittedBusinessDate: 0001-01-01,
			GracePeriodDate: 0001-01-01,
			Vested: False,
			DirectPay: 0001-01-01,
			DirectPayApprBy: String,
			FactFinderBilling: 0,
			FullName: String,
			ByLastName: String,
			IsSecurityLicensed: False,
			IsEncompassAdmin: False,
			ApiKey: 00000000000000000000000000000000,
			LastSessionId: String,
			LastLogin: 0001-01-01,
			MfaActive: False,
			RequireMFA: False,
			SMSPhoneNumber: String,
			VerifiedEmailStatus: False,
			VerifiedCellPhoneStatus: False,
			SchedulerUrl: String,
			QueueDefaults: 
			{
				LocationId: 00000000000000000000000000000000,
				Services: 
				[
					00000000000000000000000000000000
				]
			},
			Roles: 
			[
				String
			],
			PasswordUpdated: False,
			RestrictToSingleSession: False
		}
	]
}