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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueueDefault:
    location_id: Optional[str] = None
    services: List[str] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Agent:
    agent_id: int = 0
    company: Optional[str] = None
    agent_name: Optional[str] = None
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    middle_initial: Optional[str] = None
    address1: Optional[str] = None
    address2: Optional[str] = None
    city: Optional[str] = None
    state: Optional[str] = None
    zip: Optional[str] = None
    country: Optional[str] = None
    email: Optional[str] = None
    email_signature: Optional[str] = None
    home_phone: Optional[str] = None
    cell_phone: Optional[str] = None
    work_phone: Optional[str] = None
    ins_licensed: bool = False
    agree_to_disclosures: bool = False
    agree_to_date: Optional[datetime.datetime] = None
    paid_date: Optional[datetime.datetime] = None
    agent_number: Optional[str] = None
    referring_agent: Optional[str] = None
    placement_agent: Optional[str] = None
    created_date: Optional[datetime.datetime] = None
    user_id: Optional[str] = None
    is_agent: bool = False
    package: Optional[str] = None
    store_name: Optional[str] = None
    notes: Optional[str] = None
    upline1: Optional[int] = None
    upline2: Optional[int] = None
    upline3: Optional[int] = None
    upline4: Optional[int] = None
    mvpid: Optional[int] = None
    avpid: Optional[int] = None
    rvpid: Optional[int] = None
    agent_level: Optional[Decimal] = None
    is_m_v_p: bool = False
    is_r_v_p: bool = False
    is_a_v_p: bool = False
    is_admin: bool = False
    is_business_card_admin: bool = False
    team_name: Optional[str] = None
    location_id: Optional[str] = None
    calendar_id: Optional[str] = None
    rank: Optional[str] = None
    nbc: bool = False
    upline1_percent: Optional[Decimal] = None
    upline2_percent: Optional[Decimal] = None
    upline3_percent: Optional[Decimal] = None
    upline4_percent: Optional[Decimal] = None
    agent_status: Optional[str] = None
    office: Optional[str] = None
    dob: Optional[datetime.datetime] = None
    ssn: Optional[str] = None
    fax: Optional[str] = None
    business_email: Optional[str] = None
    modified_date: Optional[datetime.datetime] = None
    modified_by: Optional[str] = None
    time_zone: Optional[str] = None
    leader_locked: bool = False
    last_submitted_business_date: datetime.datetime = datetime.datetime(1, 1, 1)
    grace_period_date: datetime.datetime = datetime.datetime(1, 1, 1)
    vested: bool = False
    direct_pay: datetime.datetime = datetime.datetime(1, 1, 1)
    direct_pay_appr_by: Optional[str] = None
    fact_finder_billing: Optional[Decimal] = None
    full_name: Optional[str] = None
    by_last_name: Optional[str] = None
    is_security_licensed: bool = False
    is_encompass_admin: bool = False
    api_key: Optional[str] = None
    last_session_id: Optional[str] = None
    last_login: Optional[datetime.datetime] = None
    mfa_active: bool = False
    require_m_f_a: bool = False
    sms_phone_number: Optional[str] = None
    verified_email_status: bool = False
    verified_cell_phone_status: bool = False
    scheduler_url: Optional[str] = None
    queue_defaults: Optional[QueueDefault] = None
    roles: List[str] = field(default_factory=list)
    password_updated: bool = False
    restrict_to_single_session: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgentResponse:
    response_status: Optional[ResponseStatus] = None
    agent: List[Agent] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgentDistrict:
    id: int = 0
    agent_id: int = 0
    district_id: int = 0
    name: Optional[str] = None
    campaign_type_id: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PeraAgent:
    agent_id: int = 0
    user_id: Optional[str] = None
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    full_name: Optional[str] = None
    calendar_id: Optional[str] = None
    google_calendar: Optional[str] = None
    pera_i_c_s_url: Optional[str] = None
    asap_opt_out: bool = False
    asap_lock_out: bool = False
    accept_all_appts: bool = False
    time_zone: Optional[str] = None
    email: Optional[str] = None
    asap_weekly_appts: int = 0
    saturday_appts: bool = False
    sunday_appts: bool = False
    agent_level: int = 0
    districts: List[AgentDistrict] = field(default_factory=list)
    api_key: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PeraAgentRequest:
    agent_id: int = 0
    agent: List[PeraAgent] = field(default_factory=list)

Python PeraAgentRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<PeraAgentRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Agent>
    <PeraAgent>
      <AcceptAllAppts>false</AcceptAllAppts>
      <AgentId>0</AgentId>
      <AgentLevel>0</AgentLevel>
      <ApiKey>00000000-0000-0000-0000-000000000000</ApiKey>
      <AsapLockOut>false</AsapLockOut>
      <AsapOptOut>false</AsapOptOut>
      <AsapWeeklyAppts>0</AsapWeeklyAppts>
      <CalendarId>00000000-0000-0000-0000-000000000000</CalendarId>
      <Districts>
        <AgentDistrict>
          <AgentId>0</AgentId>
          <CampaignTypeId>0</CampaignTypeId>
          <DistrictId>0</DistrictId>
          <Id>0</Id>
          <Name>String</Name>
        </AgentDistrict>
      </Districts>
      <Email>String</Email>
      <FirstName>String</FirstName>
      <FullName>String</FullName>
      <GoogleCalendar>String</GoogleCalendar>
      <LastName>String</LastName>
      <PeraICSUrl>String</PeraICSUrl>
      <SaturdayAppts>false</SaturdayAppts>
      <SundayAppts>false</SundayAppts>
      <TimeZone>String</TimeZone>
      <UserId>00000000-0000-0000-0000-000000000000</UserId>
    </PeraAgent>
  </Agent>
  <AgentId>0</AgentId>
</PeraAgentRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AgentResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Agent>
    <Agent>
      <AVPID>0</AVPID>
      <Address1>String</Address1>
      <Address2>String</Address2>
      <AgentId>0</AgentId>
      <AgentLevel>0</AgentLevel>
      <AgentName>String</AgentName>
      <AgentNumber>String</AgentNumber>
      <AgentStatus>String</AgentStatus>
      <AgreeToDate>0001-01-01T00:00:00</AgreeToDate>
      <AgreeToDisclosures>false</AgreeToDisclosures>
      <ApiKey>00000000-0000-0000-0000-000000000000</ApiKey>
      <BusinessEmail>String</BusinessEmail>
      <ByLastName>String</ByLastName>
      <CalendarId>00000000-0000-0000-0000-000000000000</CalendarId>
      <CellPhone>String</CellPhone>
      <City>String</City>
      <Company>String</Company>
      <Country>String</Country>
      <CreatedDate>0001-01-01T00:00:00</CreatedDate>
      <DOB>0001-01-01T00:00:00</DOB>
      <DirectPay>0001-01-01T00:00:00</DirectPay>
      <DirectPayApprBy>String</DirectPayApprBy>
      <Email>String</Email>
      <EmailSignature>String</EmailSignature>
      <FactFinderBilling>0</FactFinderBilling>
      <Fax>String</Fax>
      <FirstName>String</FirstName>
      <FullName>String</FullName>
      <GracePeriodDate>0001-01-01T00:00:00</GracePeriodDate>
      <HomePhone>String</HomePhone>
      <InsLicensed>false</InsLicensed>
      <IsAVP>false</IsAVP>
      <IsAdmin>false</IsAdmin>
      <IsAgent>false</IsAgent>
      <IsBusinessCardAdmin>false</IsBusinessCardAdmin>
      <IsEncompassAdmin>false</IsEncompassAdmin>
      <IsMVP>false</IsMVP>
      <IsRVP>false</IsRVP>
      <IsSecurityLicensed>false</IsSecurityLicensed>
      <LastLogin>0001-01-01T00:00:00</LastLogin>
      <LastName>String</LastName>
      <LastSessionId>String</LastSessionId>
      <LastSubmittedBusinessDate>0001-01-01T00:00:00</LastSubmittedBusinessDate>
      <LeaderLocked>false</LeaderLocked>
      <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
      <MVPID>0</MVPID>
      <MfaActive>false</MfaActive>
      <MiddleInitial>String</MiddleInitial>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <NBC>false</NBC>
      <Notes>String</Notes>
      <Office>String</Office>
      <Package>String</Package>
      <PaidDate>0001-01-01T00:00:00</PaidDate>
      <PasswordUpdated>false</PasswordUpdated>
      <PlacementAgent>String</PlacementAgent>
      <QueueDefaults>
        <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
        <Services xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:guid>00000000-0000-0000-0000-000000000000</d5p1:guid>
        </Services>
      </QueueDefaults>
      <RVPID>0</RVPID>
      <Rank>String</Rank>
      <ReferringAgent>String</ReferringAgent>
      <RequireMFA>false</RequireMFA>
      <RestrictToSingleSession>false</RestrictToSingleSession>
      <Roles xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Roles>
      <SMSPhoneNumber>String</SMSPhoneNumber>
      <SSN>String</SSN>
      <SchedulerUrl>String</SchedulerUrl>
      <State>String</State>
      <StoreName>String</StoreName>
      <TeamName>String</TeamName>
      <TimeZone>String</TimeZone>
      <Upline1>0</Upline1>
      <Upline1Percent>0</Upline1Percent>
      <Upline2>0</Upline2>
      <Upline2Percent>0</Upline2Percent>
      <Upline3>0</Upline3>
      <Upline3Percent>0</Upline3Percent>
      <Upline4>0</Upline4>
      <Upline4Percent>0</Upline4Percent>
      <UserId>00000000-0000-0000-0000-000000000000</UserId>
      <VerifiedCellPhoneStatus>false</VerifiedCellPhoneStatus>
      <VerifiedEmailStatus>false</VerifiedEmailStatus>
      <Vested>false</Vested>
      <WorkPhone>String</WorkPhone>
      <Zip>String</Zip>
    </Agent>
  </Agent>
  <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>
</AgentResponse>