| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| POST,PUT,OPTIONS | /v1/FactFinderDebt | ||
|---|---|---|---|
| GET | /v1/FactFinderDebt/{ContactId}/Validate |
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 Contact:
contact_id: int = 0
contact_type: int = 0
first_name: Optional[str] = None
last_name: Optional[str] = None
name: Optional[str] = None
role: Optional[str] = None
title: Optional[str] = None
email_work: Optional[str] = None
email_personal: Optional[str] = None
district: Optional[str] = None
district_i_d: int = 0
school: Optional[str] = None
school_i_d: int = 0
state: Optional[str] = None
state_name: Optional[str] = None
state_i_d: int = 0
county_i_d: int = 0
county: Optional[str] = None
phone: Optional[str] = None
department: Optional[str] = None
flow: Optional[str] = None
last_contact: datetime.datetime = datetime.datetime(1, 1, 1)
do_not_contact: bool = False
active: bool = False
agent_id: int = 0
phone_alt: Optional[str] = None
pera_contact_id: int = 0
room_number: Optional[str] = None
source_type_id: int = 0
source_type_desc: Optional[str] = None
source_note: Optional[str] = None
contact_status_id: int = 0
contact_status_desc: Optional[str] = None
ssn: Optional[str] = None
date_of_birth: datetime.datetime = datetime.datetime(1, 1, 1)
deleted: bool = False
is_shared: bool = False
address_line1: Optional[str] = None
address_city: Optional[str] = None
address_state: Optional[str] = None
address_zip: Optional[str] = None
deleted_by: Optional[str] = None
deleted_date_time_utc: Optional[datetime.datetime] = None
has_n_b_c: bool = False
has_fact_finder_sheet: bool = False
middle_initial: Optional[str] = None
tags: Optional[str] = None
date_created: datetime.datetime = datetime.datetime(1, 1, 1)
phone_label: Optional[str] = None
alt_phone_label: Optional[str] = None
carriers: Optional[str] = None
contact_image: Optional[str] = None
company_affiliation: Optional[str] = None
additional_information: Optional[str] = None
has_gift_card: bool = False
contact_category: int = 0
writing_agent_id: int = 0
writing_agent_name: Optional[str] = None
marital_status: Optional[str] = None
total_debt_amount: Decimal = decimal.Decimal(0)
number_of_debt_accounts: int = 0
fact_finder_code_id: int = 0
business_name: Optional[str] = None
dba: Optional[str] = None
contact_g_u_i_d: Optional[str] = None
project_end_date: datetime.datetime = datetime.datetime(1, 1, 1)
rate: int = 0
job_i_d: int = 0
job_name: Optional[str] = None
job_count: int = 0
locked: bool = False
locked_by_agent_id: int = 0
locked_timestamp: datetime.datetime = datetime.datetime(1, 1, 1)
initials: Optional[str] = None
contact_category_name: Optional[str] = None
sms_opt_in: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FactFinderDebt:
fact_finder_debt_id: int = 0
contact_id: int = 0
own_home: Optional[bool] = None
home_value: Optional[Decimal] = None
other_property: Optional[bool] = None
other_property_value: Optional[Decimal] = None
first_car: Optional[bool] = None
first_car_value: Optional[Decimal] = None
second_car: Optional[bool] = None
second_car_value: Optional[Decimal] = None
boat_rv: Optional[bool] = None
boat_rv_value: Optional[Decimal] = None
stocks401k_other: Optional[bool] = None
stocks401k_other_value: Optional[Decimal] = None
home_rent_insurance: Optional[bool] = None
home_rent_insurance_value: Optional[Decimal] = None
child_alimony_support: Optional[bool] = None
child_alimony_support_value: Optional[Decimal] = None
childcare_related: Optional[bool] = None
childcare_related_value: Optional[Decimal] = None
life_insurance: Optional[bool] = None
life_policy_amount: Optional[Decimal] = None
life_insurance_monthly: Optional[Decimal] = None
mortgage_rent_expense: Optional[Decimal] = None
property_tax_expense: Optional[Decimal] = None
car_payment_first_expense: Optional[Decimal] = None
car_payment_second_expense: Optional[Decimal] = None
rv_payment_expense: Optional[Decimal] = None
savings_payment_expense: Optional[Decimal] = None
home_insurance_expense: Optional[Decimal] = None
groceries_expense: Optional[Decimal] = None
entertainment_expense: Optional[Decimal] = None
life_insurance_cost_expense: Optional[Decimal] = None
gas_electricity_expense: Optional[Decimal] = None
water_trash_sewer_expense: Optional[Decimal] = None
telephone_cell_expense: Optional[Decimal] = None
cable_internet_expense: Optional[Decimal] = None
auto_expense_gas_expense: Optional[Decimal] = None
auto_insurance_expense: Optional[Decimal] = None
medical_expense: Optional[Decimal] = None
miscellaneous_expense: Optional[Decimal] = None
family_friend_loans_expense: Optional[Decimal] = None
what_bank: Optional[str] = None
bank_debt: Optional[bool] = None
credit_union: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContactSpouse:
contact_spouse_id: int = 0
contact_id: int = 0
name: Optional[str] = None
dob: Optional[datetime.datetime] = None
cell: Optional[str] = None
employer: Optional[str] = None
years: Optional[Decimal] = None
position: Optional[str] = None
email: Optional[str] = None
past_occupations: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContactCreditor:
contact_creditor_id: int = 0
contact_id: int = 0
creditor_name: Optional[str] = None
name_on_account: Optional[str] = None
account_number: Optional[str] = None
current_balance: Optional[Decimal] = None
minimum_payment: Optional[Decimal] = None
has_co_signer: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FactFinderDebtExtended:
contact: Optional[Contact] = None
fact_finder_debt: Optional[FactFinderDebt] = None
spouse: Optional[ContactSpouse] = None
creditors: List[ContactCreditor] = field(default_factory=list)
additional_notes: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FactFinderDebtRequest:
fact_finder_debt: Optional[FactFinderDebtExtended] = None
data_entry: bool = False
contact_id: int = 0
Python FactFinderDebtRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/FactFinderDebt HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FactFinderDebt:
{
Contact:
{
ContactId: 0,
ContactType: 0,
FirstName: String,
LastName: String,
Name: String,
Role: String,
Title: String,
EmailWork: String,
EmailPersonal: String,
District: String,
DistrictID: 0,
School: String,
SchoolID: 0,
State: String,
StateName: String,
StateID: 0,
CountyID: 0,
County: String,
Phone: String,
Department: String,
Flow: String,
LastContact: 0001-01-01,
DoNotContact: False,
Active: False,
AgentId: 0,
PhoneAlt: String,
PeraContactId: 0,
RoomNumber: String,
SourceTypeId: 0,
SourceTypeDesc: String,
SourceNote: String,
ContactStatusId: 0,
ContactStatusDesc: String,
SSN: String,
DateOfBirth: 0001-01-01,
Deleted: False,
IsShared: False,
address_line1: String,
address_city: String,
address_state: String,
address_zip: String,
DeletedBy: String,
DeletedDateTimeUtc: 0001-01-01,
HasNBC: False,
HasFactFinderSheet: False,
MiddleInitial: String,
Tags: String,
DateCreated: 0001-01-01,
PhoneLabel: String,
AltPhoneLabel: String,
Carriers: String,
ContactImage: String,
CompanyAffiliation: String,
AdditionalInformation: String,
HasGiftCard: False,
ContactCategory: 0,
WritingAgentId: 0,
WritingAgentName: String,
MaritalStatus: String,
TotalDebtAmount: 0,
NumberOfDebtAccounts: 0,
FactFinderCodeId: 0,
BusinessName: String,
DBA: String,
ContactGUID: 00000000000000000000000000000000,
ProjectEndDate: 0001-01-01,
Rate: 0,
JobID: 0,
JobName: String,
JobCount: 0,
Locked: False,
LockedByAgentId: 0,
LockedTimestamp: 0001-01-01,
Initials: String,
ContactCategoryName: String,
SMSOptIn: False
},
FactFinderDebt:
{
FactFinderDebtId: 0,
ContactId: 0,
OwnHome: False,
HomeValue: 0,
OtherProperty: False,
OtherPropertyValue: 0,
FirstCar: False,
FirstCarValue: 0,
SecondCar: False,
SecondCarValue: 0,
BoatRv: False,
BoatRvValue: 0,
Stocks401kOther: False,
Stocks401kOtherValue: 0,
HomeRentInsurance: False,
HomeRentInsuranceValue: 0,
ChildAlimonySupport: False,
ChildAlimonySupportValue: 0,
ChildcareRelated: False,
ChildcareRelatedValue: 0,
LifeInsurance: False,
LifePolicyAmount: 0,
LifeInsuranceMonthly: 0,
MortgageRentExpense: 0,
PropertyTaxExpense: 0,
CarPaymentFirstExpense: 0,
CarPaymentSecondExpense: 0,
RVPaymentExpense: 0,
SavingsPaymentExpense: 0,
HomeInsuranceExpense: 0,
GroceriesExpense: 0,
EntertainmentExpense: 0,
LifeInsuranceCostExpense: 0,
GasElectricityExpense: 0,
WaterTrashSewerExpense: 0,
TelephoneCellExpense: 0,
CableInternetExpense: 0,
AutoExpenseGasExpense: 0,
AutoInsuranceExpense: 0,
MedicalExpense: 0,
MiscellaneousExpense: 0,
FamilyFriendLoansExpense: 0,
WhatBank: String,
BankDebt: False,
CreditUnion: False
},
Spouse:
{
ContactSpouseId: 0,
ContactId: 0,
Name: String,
DOB: 0001-01-01,
Cell: String,
Employer: String,
Years: 0,
Position: String,
Email: String,
PastOccupations: String
},
Creditors:
[
{
ContactCreditorId: 0,
ContactId: 0,
CreditorName: String,
NameOnAccount: String,
AccountNumber: String,
CurrentBalance: 0,
MinimumPayment: 0,
HasCoSigner: False
}
],
AdditionalNotes: String
},
DataEntry: False,
ContactId: 0
}