Trendsic Platform Service

<back to all web services

AgentRequest

Requires Authentication
Requires any of the roles:Worker, Agent, Administrator, Worker, Agent, Administrator
The following routes are available for this service:
GET/v1/Agent/{AgentId}
GET,POST,PUT,DELETE,OPTIONS/v1/Agent
GET/v1/Agent/ByUserId/{UserId}
GET,POST,PUT,DELETE,OPTIONS/v1/Agent/Hierarchy/{ParamGetHierarchy}
GET,OPTIONS/v1/Agent/Hierarchy/{ParamGetHierarchy}/{ParamDistinct}/{NewAgents}
GET,OPTIONS/v1/Agent/Hierarchy/{ParamGetHierarchy}/{ParamDistinct}
import Foundation
import ServiceStack

public class AgentRequest : Codable
{
    public var agent:[Agent] = []
    public var paramGetHierarchy:Bool
    public var paramDistinct:Bool
    public var newAgents:Bool
    public var agentId:Int
    public var location:String
    public var userId:String
    public var services:[String] = []

    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(){}
}

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

    required public init(){}
}


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

POST /v1/Agent HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	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
		}
	],
	ParamGetHierarchy: False,
	ParamDistinct: False,
	NewAgents: False,
	AgentId: 0,
	Location: 00000000000000000000000000000000,
	UserId: 00000000000000000000000000000000,
	Services: 
	[
		String
	]
}
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
		}
	]
}