| Requires any of the roles: | Worker, Agent, Administrator |
| GET | /v1/Smartsheets/{AgentID} | ||
|---|---|---|---|
| GET | /v1/Smartsheets | ||
| GET | /v1/Smartsheets/{AgentID}/{SheetType} |
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 Attachment:
attachment_id: Optional[str] = None
table_name: Optional[str] = None
field_name: Optional[str] = None
record_id: int = 0
attachment_name: Optional[str] = None
mime_type: Optional[str] = None
attachment_data: bytes = field(default_factory=list)
file_size_in_k_b: float = 0.0
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
created_by: Optional[str] = None
needs_o_c_r: bool = False
ocr_date: datetime.datetime = datetime.datetime(1, 1, 1)
is_securities: bool = False
aws_key: Optional[str] = None
presigned_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Reminder:
reminder_id: Optional[str] = None
table_name: Optional[str] = None
field_name: Optional[str] = None
record_id: int = 0
reminder_date: datetime.datetime = datetime.datetime(1, 1, 1)
reminder_note: Optional[str] = None
created_date: datetime.datetime = datetime.datetime(1, 1, 1)
created_by: Optional[str] = None
completed_date: datetime.datetime = datetime.datetime(1, 1, 1)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsLife:
id: int = 0
first_name: Optional[str] = None
last_name: Optional[str] = None
policy_number: Optional[str] = None
policy_type: Optional[str] = None
cpt: Optional[str] = None
app_date: Optional[str] = None
agent_name: Optional[str] = None
agent_i_d: Optional[int] = None
phase: Optional[str] = None
notes: Optional[str] = None
transfer_amount: Optional[str] = None
account_number: Optional[str] = None
deleted: bool = False
modified_by: Optional[str] = None
flagged: bool = False
transaction_id: Optional[str] = None
face_value: Optional[str] = None
has_change: bool = False
has_conversation: bool = False
has_agent_msg: bool = False
has_admin_msg: bool = False
attachment: List[Attachment] = field(default_factory=list)
reminder: List[Reminder] = field(default_factory=list)
agents: Optional[str] = None
has_o_c_r: bool = False
policy_associate_id: Optional[str] = None
has_required_documents: bool = False
phone: Optional[str] = None
email_address: Optional[str] = None
approved_date: Optional[str] = None
approved_by: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsFlow:
id: int = 0
first_name: Optional[str] = None
last_name: Optional[str] = None
policy_number: Optional[str] = None
policy_type: Optional[str] = None
app_date: Optional[str] = None
agent_name: Optional[str] = None
agent_i_d: Optional[int] = None
sra_start_date: Optional[str] = None
phase: Optional[str] = None
modal_premium: Optional[str] = None
frequency: Optional[str] = None
annual_premium: Optional[str] = None
district: Optional[str] = None
ss: Optional[str] = None
carrier: Optional[str] = None
notes: Optional[str] = None
tpa: Optional[str] = None
flagged: bool = False
deleted: bool = False
modified_by: Optional[str] = None
transaction_id: Optional[str] = None
has_change: bool = False
has_conversation: bool = False
has_agent_msg: bool = False
has_admin_msg: bool = False
attachment: List[Attachment] = field(default_factory=list)
reminder: List[Reminder] = field(default_factory=list)
agents: Optional[str] = None
has_o_c_r: bool = False
policy_associate_id: Optional[str] = None
has_required_documents: bool = False
phone: Optional[str] = None
email_address: Optional[str] = None
approved_date: Optional[str] = None
approved_by: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsTransfer:
id: int = 0
flagged: bool = False
phase: Optional[str] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
policy_number: Optional[str] = None
policy_type: Optional[str] = None
app_date: Optional[str] = None
agent_name: Optional[str] = None
agent_i_d: Optional[int] = None
regional_office: Optional[str] = None
transfer_amount: Optional[str] = None
transferring_company: Optional[str] = None
account_number: Optional[str] = None
ss: Optional[str] = None
notes: Optional[str] = None
deleted: bool = False
modified_by: Optional[str] = None
transaction_id: Optional[str] = None
has_change: bool = False
has_conversation: bool = False
has_agent_msg: bool = False
has_admin_msg: bool = False
attachment: List[Attachment] = field(default_factory=list)
reminder: List[Reminder] = field(default_factory=list)
agents: Optional[str] = None
has_o_c_r: bool = False
policy_associate_id: Optional[str] = None
has_required_documents: bool = False
phone: Optional[str] = None
email_address: Optional[str] = None
approved_date: Optional[str] = None
approved_by: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsIssuedClosed:
type: Optional[str] = None
id: int = 0
flagged: bool = False
phase: Optional[str] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
policy_number: Optional[str] = None
agent_name: Optional[str] = None
notes: Optional[str] = None
deleted: bool = False
modified_by: Optional[str] = None
has_change: bool = False
has_conversation: bool = False
has_agent_msg: bool = False
has_admin_msg: bool = False
attachment: List[Attachment] = field(default_factory=list)
reminder: List[Reminder] = field(default_factory=list)
has_o_c_r: bool = False
app_date: Optional[str] = None
transaction_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsResponse:
response_status: Optional[ResponseStatus] = None
life: List[SmartsheetsLife] = field(default_factory=list)
flow: List[SmartsheetsFlow] = field(default_factory=list)
transfer: List[SmartsheetsTransfer] = field(default_factory=list)
issued_closed: List[SmartsheetsIssuedClosed] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmartsheetsRequest:
agent_i_d: int = 0
sheet_type: Optional[str] = None
Python SmartsheetsRequest 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.
GET /v1/Smartsheets/{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
}
},
Life:
[
{
ID: 0,
FirstName: String,
LastName: String,
PolicyNumber: String,
PolicyType: String,
CPT: String,
AppDate: String,
AgentName: String,
AgentID: 0,
Phase: String,
Notes: String,
TransferAmount: String,
AccountNumber: String,
Deleted: False,
ModifiedBy: String,
Flagged: False,
TransactionId: String,
FaceValue: String,
HasChange: False,
HasConversation: False,
HasAgentMsg: False,
HasAdminMsg: False,
Attachment:
[
{
AttachmentId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
AttachmentName: String,
MimeType: String,
AttachmentData: AA==,
FileSizeInKB: 0,
CreatedDate: 0001-01-01,
CreatedBy: String,
NeedsOCR: False,
OCRDate: 0001-01-01,
IsSecurities: False,
AWSKey: String,
PresignedUrl: String
}
],
Reminder:
[
{
ReminderId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
ReminderDate: 0001-01-01,
ReminderNote: String,
CreatedDate: 0001-01-01,
CreatedBy: String,
CompletedDate: 0001-01-01
}
],
Agents: String,
HasOCR: False,
PolicyAssociateId: 00000000000000000000000000000000,
HasRequiredDocuments: False,
Phone: String,
EmailAddress: String,
ApprovedDate: String,
ApprovedBy: String
}
],
Flow:
[
{
ID: 0,
FirstName: String,
LastName: String,
PolicyNumber: String,
PolicyType: String,
AppDate: String,
AgentName: String,
AgentID: 0,
SRAStartDate: String,
Phase: String,
ModalPremium: String,
Frequency: String,
AnnualPremium: String,
District: String,
SS: String,
Carrier: String,
Notes: String,
TPA: String,
Flagged: False,
Deleted: False,
ModifiedBy: String,
TransactionId: String,
HasChange: False,
HasConversation: False,
HasAgentMsg: False,
HasAdminMsg: False,
Attachment:
[
{
AttachmentId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
AttachmentName: String,
MimeType: String,
AttachmentData: AA==,
FileSizeInKB: 0,
CreatedDate: 0001-01-01,
CreatedBy: String,
NeedsOCR: False,
OCRDate: 0001-01-01,
IsSecurities: False,
AWSKey: String,
PresignedUrl: String
}
],
Reminder:
[
{
ReminderId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
ReminderDate: 0001-01-01,
ReminderNote: String,
CreatedDate: 0001-01-01,
CreatedBy: String,
CompletedDate: 0001-01-01
}
],
Agents: String,
HasOCR: False,
PolicyAssociateId: 00000000000000000000000000000000,
HasRequiredDocuments: False,
Phone: String,
EmailAddress: String,
ApprovedDate: String,
ApprovedBy: String
}
],
Transfer:
[
{
ID: 0,
Flagged: False,
Phase: String,
FirstName: String,
LastName: String,
PolicyNumber: String,
PolicyType: String,
AppDate: String,
AgentName: String,
AgentID: 0,
RegionalOffice: String,
TransferAmount: String,
TransferringCompany: String,
AccountNumber: String,
SS: String,
Notes: String,
Deleted: False,
ModifiedBy: String,
TransactionId: String,
HasChange: False,
HasConversation: False,
HasAgentMsg: False,
HasAdminMsg: False,
Attachment:
[
{
AttachmentId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
AttachmentName: String,
MimeType: String,
AttachmentData: AA==,
FileSizeInKB: 0,
CreatedDate: 0001-01-01,
CreatedBy: String,
NeedsOCR: False,
OCRDate: 0001-01-01,
IsSecurities: False,
AWSKey: String,
PresignedUrl: String
}
],
Reminder:
[
{
ReminderId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
ReminderDate: 0001-01-01,
ReminderNote: String,
CreatedDate: 0001-01-01,
CreatedBy: String,
CompletedDate: 0001-01-01
}
],
Agents: String,
HasOCR: False,
PolicyAssociateId: 00000000000000000000000000000000,
HasRequiredDocuments: False,
Phone: String,
EmailAddress: String,
ApprovedDate: String,
ApprovedBy: String
}
],
IssuedClosed:
[
{
Type: String,
ID: 0,
Flagged: False,
Phase: String,
FirstName: String,
LastName: String,
PolicyNumber: String,
AgentName: String,
Notes: String,
Deleted: False,
ModifiedBy: String,
HasChange: False,
HasConversation: False,
HasAgentMsg: False,
HasAdminMsg: False,
Attachment:
[
{
AttachmentId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
AttachmentName: String,
MimeType: String,
AttachmentData: AA==,
FileSizeInKB: 0,
CreatedDate: 0001-01-01,
CreatedBy: String,
NeedsOCR: False,
OCRDate: 0001-01-01,
IsSecurities: False,
AWSKey: String,
PresignedUrl: String
}
],
Reminder:
[
{
ReminderId: 00000000000000000000000000000000,
TableName: String,
FieldName: String,
RecordId: 0,
ReminderDate: 0001-01-01,
ReminderNote: String,
CreatedDate: 0001-01-01,
CreatedBy: String,
CompletedDate: 0001-01-01
}
],
HasOCR: False,
AppDate: String,
TransactionId: String
}
]
}