EFSPIntegration.py_efsp_client
- EFSPIntegration.py_efsp_client
- re
- logging
- requests
- LoggerAdapter
- Request
- PreparedRequest
- UUID
- uuid4
- Response
- datetime
- Optional
- Union
- List
- Dict
- http_client
- deepcopy
- __all__
- SESSION_ID_HEADER
- CORR_ID_HEADER
- REQUEST_ID_HEADER
- LoggerWithContext
- ApiResponse
- _user_visible_resp
- EfspConnection
- __init__
- _call_proxy
- _send
- get_session_id
- get_interview_name
- get_logger
- verbose_logging
- set_verbose_logging
- full_url
- tyler_token
- authenticate_user
- register_user
- get_password_rules
- is_valid_password
- get_user_list
- get_users
- get_user
- get_user_roles
- add_user_roles
- remove_user_roles
- change_password
- self_change_password
- self_resend_activation_email
- resend_activation_email
- update_notification_preferences
- get_notification_preferences
- get_notification_options
- self_update_user
- update_user
- remove_user
- reset_user_password
- get_firm
- update_firm
- get_attorney_list
- get_attorney
- update_attorney
- create_attorney
- remove_attorney
- get_payment_account_type_list
- get_payment_account_list
- get_payment_account
- update_payment_account
- remove_payment_account
- create_waiver_account
- get_global_payment_account_list
- get_global_payment_account
- update_global_payment_account
- remove_global_payment_account
- get_service_contact_list
- get_service_contact
- update_service_contact
- create_service_contact
- remove_service_contact
- get_public_service_contacts
- attach_service_contact
- detach_service_contact
- get_attached_cases
- get_public_list
- get_courts
- get_court
- get_court_list
- get_filing_list
- get_filing
- get_policy
- get_filing_status
- cancel_filing_status
- check_filing
- file_for_review
- get_service_types
- calculate_filing_fees
- get_return_date
- reserve_court_date
- get_cases_raw
- get_case
- get_document
- get_service_attach_case_list
- get_service_information
- get_service_information_history
- search_case_categories
- retrieve_case_categories
- get_case_categories
- get_filer_types
- search_case_types
- retrieve_case_types
- get_case_types
- get_case_type
- get_case_subtypes
- search_filing_types
- retrieve_filing_types
- get_filing_types
- get_service_type_codes
- search_party_types
- retrieve_party_types
- get_party_types
- get_document_types
- get_motion_types
- get_filing_components
- search_optional_services
- retrieve_optional_services
- get_optional_services
- get_cross_references
- get_damage_amounts
- get_procedure_or_remedies
- get_datafield
- get_disclaimers
- get_server_id
- get_server_name
- get_logs
The base python client used to communicate with the E-file proxy server.
Doesn't include anything from docassemble, and can be used without having it installed.
re
logging
requests
LoggerAdapter
Request
PreparedRequest
UUID
uuid4
Response
datetime
Optional
Union
List
Dict
http_client
deepcopy
__all__
SESSION_ID_HEADER
CORR_ID_HEADER
TODO(brycew): Figure out how to add
REQUEST_ID_HEADER
LoggerWithContext Objects
class LoggerWithContext(LoggerAdapter)
Acts like the merge_extra feature from LoggerAdapter (python 3.13) is always on.
See https://github.com/python/cpython/pull/107292/files.
__init__
def __init__(logger, extra)
process
def process(msg, kwargs)
ApiResponse Objects
class ApiResponse(object)
__init__
def __init__(response_code: int,
error_msg: Optional[str],
data,
*,
session_id: Optional[str] = None,
req_id: Optional[str] = None)
__str__
def __str__()
__repr__
def __repr__()
is_ok
def is_ok()
get_session_id
def get_session_id()
get_req_id
def get_req_id()
_user_visible_resp
def _user_visible_resp(resp: Union[Response, str, None]) -> ApiResponse
This function takes the essentials of a response and puts in into a simple object.
EfspConnection Objects
class EfspConnection()
A python client that communicates with the E-file proxy server.
__init__
def __init__(*,
url: str,
api_key: str,
default_jurisdiction: str = None,
interview_name: str = None,
logger=None)
Arguments
url (str) api_key (str) default_jurisdiction (str)
_call_proxy
def _call_proxy(req: PreparedRequest) -> ApiResponse
_send
def _send(to_send: Request, *, req_id: Optional[UUID] = None) -> ApiResponse
Handle sending the request / structuring the response
get_session_id
def get_session_id()
get_interview_name
def get_interview_name()
get_logger
def get_logger()
verbose_logging
@staticmethod
def verbose_logging(turn_on: bool) -> None
set_verbose_logging
def set_verbose_logging(turn_on: bool) -> None
full_url
def full_url(endpoint: str, jurisdiction: str = None) -> str
tyler_token
def tyler_token() -> Optional[str]
authenticate_user
def authenticate_user(*,
tyler_email: Optional[str] = None,
tyler_password: Optional[str] = None,
jurisdiction: str = None) -> ApiResponse
Authenticates the user with the EFM server (not the E-file proxy).
register_user
def register_user(person: dict,
registration_type: str,
*,
password: str = None,
firm_name_or_id: str = None) -> ApiResponse
registration_type needs to be INDIVIDUAL, FIRM_ADMINISTRATOR, or FIRM_ADMIN_NEW_MEMBER. If registration_type is INDIVIDUAL or FIRM_ADMINISTRATOR, you need a password. If it's FIRM_ADMINISTRATOR or FIRM_ADMIN_NEW_MEMBER, you need a firm_name_or_id
get_password_rules
def get_password_rules() -> ApiResponse
Password rules are stored in the global court, id 0.
TODO: They're in other courts too, including 1. Could they ever be different?
is_valid_password
def is_valid_password(password: str) -> Optional[bool]
get_user_list
def get_user_list() -> ApiResponse
get_users
def get_users() -> ApiResponse
get_user
def get_user(id: str = None) -> ApiResponse
get_user_roles
def get_user_roles(id: str) -> ApiResponse
add_user_roles
def add_user_roles(id: str, roles: List[dict]) -> ApiResponse
remove_user_roles
def remove_user_roles(id: str, roles: List[dict]) -> ApiResponse
change_password
def change_password(id: str, email: str, new_password: str) -> ApiResponse
self_change_password
def self_change_password(current_pwd: str, new_pwd: str) -> ApiResponse
self_resend_activation_email
def self_resend_activation_email(email: str) -> ApiResponse
resend_activation_email
def resend_activation_email(id: str) -> ApiResponse
update_notification_preferences
def update_notification_preferences(
notif_preferences: List[dict]) -> ApiResponse
get_notification_preferences
def get_notification_preferences() -> ApiResponse
get_notification_options
def get_notification_options() -> ApiResponse
AKA NotificationPreferencesList
self_update_user
def self_update_user(email: str = None,
first_name: str = None,
middle_name: str = None,
last_name: str = None) -> ApiResponse
update_user
def update_user(id: str,
email: str = None,
first_name: str = None,
middle_name: str = None,
last_name: str = None) -> ApiResponse
remove_user
def remove_user(id: str) -> ApiResponse
reset_user_password
def reset_user_password(email: str) -> ApiResponse
get_firm
def get_firm() -> ApiResponse
Gets info about the "firm" for an associated user. If a user is a pro-se, this contains their address information.
update_firm
def update_firm(firm: dict) -> ApiResponse
firm should have the below keys:
- firstName, middleName, lastName if it's a person
- firmName if it's a business
- address (a dict), with keys addressLine1 addressLine2, city, state, zipCode, country
- phoneNumber
get_attorney_list
def get_attorney_list() -> ApiResponse
get_attorney
def get_attorney(attorney_id)
update_attorney
def update_attorney(attorney_id,
bar_number: str = None,
first_name: str = None,
middle_name: str = None,
last_name: str = None) -> ApiResponse
create_attorney
def create_attorney(bar_number: str,
first_name: str,
middle_name: str = None,
last_name: str = None) -> ApiResponse
remove_attorney
def remove_attorney(attorney_id) -> ApiResponse
get_payment_account_type_list
def get_payment_account_type_list() -> ApiResponse
get_payment_account_list
def get_payment_account_list(court_id: Optional[str] = None) -> ApiResponse
get_payment_account
def get_payment_account(payment_account_id: str) -> ApiResponse
update_payment_account
def update_payment_account(payment_account_id: str,
account_name: str = None,
active: bool = True) -> ApiResponse
remove_payment_account
def remove_payment_account(payment_account_id: str) -> ApiResponse
create_waiver_account
def create_waiver_account(account_name: str, is_global: bool) -> ApiResponse
get_global_payment_account_list
def get_global_payment_account_list() -> ApiResponse
get_global_payment_account
def get_global_payment_account(global_payment_account_id: str) -> ApiResponse
update_global_payment_account
def update_global_payment_account(global_payment_account_id: str,
account_name: str = None,
active: bool = True) -> ApiResponse
remove_global_payment_account
def remove_global_payment_account(
global_payment_account_id: str) -> ApiResponse
get_service_contact_list
def get_service_contact_list() -> ApiResponse
get_service_contact
def get_service_contact(service_contact_id) -> ApiResponse
update_service_contact
def update_service_contact(service_contact_id: str,
service_contact: dict,
*,
is_public: bool = None,
is_in_master_list: bool = None,
admin_copy: str = None) -> ApiResponse
create_service_contact
def create_service_contact(service_contact: dict,
*,
is_public: bool,
is_in_master_list: bool,
admin_copy: str = None) -> ApiResponse
remove_service_contact
def remove_service_contact(service_contact_id) -> ApiResponse
get_public_service_contacts
def get_public_service_contacts(first_name: str = None,
middle_name: str = None,
last_name: str = None,
email: str = None) -> ApiResponse
attach_service_contact
def attach_service_contact(service_contact_id: str,
case_id: str,
case_party_id: str = None) -> ApiResponse
detach_service_contact
def detach_service_contact(service_contact_id: str,
case_id: str,
case_party_id: str = None) -> ApiResponse
get_attached_cases
def get_attached_cases(court_id: str, service_contact_id: str) -> ApiResponse
get_public_list
def get_public_list()
get_courts
def get_courts(fileable_only: bool = False,
fileable_type: str = "",
with_names: bool = False) -> ApiResponse
Gets the list of courts.
get_court
def get_court(court_id: str) -> ApiResponse
Gets codes for a specific court
get_court_list
def get_court_list() -> ApiResponse
Gets a list of all of the courts that you can file into. Slightly more limited than get_courts
get_filing_list
def get_filing_list(court_id: str,
user_id: str = None,
start_date: datetime = None,
before_date: datetime = None) -> ApiResponse
Returns a list of filings that a particular user has made with a court.
get_filing
def get_filing(court_id: str, filing_id: str) -> ApiResponse
get_policy
def get_policy(court_id: str) -> ApiResponse
get_filing_status
def get_filing_status(court_id: str, filing_id: str) -> ApiResponse
cancel_filing_status
def cancel_filing_status(court_id: str, filing_id: str) -> ApiResponse
check_filing
def check_filing(court_id: str, all_vars: dict) -> ApiResponse
file_for_review
def file_for_review(court_id: str, all_vars: dict) -> ApiResponse
get_service_types
def get_service_types(court_id: str, all_vars: dict = None) -> ApiResponse
Checks the court info: if it has conditional service types, call a special API with all filing info so far to get service types
calculate_filing_fees
def calculate_filing_fees(court_id: str, all_vars: dict) -> ApiResponse
get_return_date
def get_return_date(court_id: str, req_return_date: datetime,
all_vars_obj: dict) -> ApiResponse
reserve_court_date
def reserve_court_date(court_id: str,
doc_id: str,
range_after: Union[datetime, str] = None,
range_before: Union[datetime, str] = None,
estimated_duration=None) -> ApiResponse
get_cases_raw
def get_cases_raw(court_id: str,
*,
person_name: dict = None,
business_name: str = None,
docket_number: str = None) -> ApiResponse
Finds existing cases at a particular court. Only one of person_name, business_name, or docket_number should be provided at a time. Params: court_id (str) person_name (dict) business_name (str) docket_number (str)
get_case
def get_case(court_id: str, case_id: str) -> ApiResponse
get_document
def get_document(court_id: str, case_id: str) -> ApiResponse
get_service_attach_case_list
def get_service_attach_case_list(court_id: str,
service_contact_id: str) -> ApiResponse
get_service_information
def get_service_information(court_id: str,
case_tracking_id: str) -> ApiResponse
get_service_information_history
def get_service_information_history(court_id: str,
case_tracking_id: str) -> ApiResponse
search_case_categories
def search_case_categories(search_term: Optional[str] = None) -> ApiResponse
retrieve_case_categories
def retrieve_case_categories(
retrieve_name: Optional[str] = None) -> ApiResponse
get_case_categories
def get_case_categories(court_id: str,
fileable_only: bool = False,
timing: Optional[str] = None) -> ApiResponse
get_filer_types
def get_filer_types(court_id: str) -> ApiResponse
search_case_types
def search_case_types(search_term: Optional[str] = None) -> ApiResponse
retrieve_case_types
def retrieve_case_types(retrieve_name: Optional[str] = None) -> ApiResponse
get_case_types
def get_case_types(court_id: str,
case_category: str,
timing: str = None) -> ApiResponse
get_case_type
def get_case_type(court_id: str, case_type: str) -> ApiResponse
get_case_subtypes
def get_case_subtypes(court_id: str, case_type: str) -> ApiResponse
search_filing_types
def search_filing_types(search_term: Optional[str] = None) -> ApiResponse
retrieve_filing_types
def retrieve_filing_types(retrieve_name: Optional[str] = None) -> ApiResponse
get_filing_types
def get_filing_types(court_id: str, case_category: str, case_type: str,
initial: bool) -> ApiResponse
get_service_type_codes
def get_service_type_codes(court_id: str) -> ApiResponse
search_party_types
def search_party_types(search_term: Optional[str] = None) -> ApiResponse
retrieve_party_types
def retrieve_party_types(retrieve_name: Optional[str] = None) -> ApiResponse
get_party_types
def get_party_types(court_id: str, case_type_id: Optional[str]) -> ApiResponse
get_document_types
def get_document_types(court_id: str, filing_type: str) -> ApiResponse
get_motion_types
def get_motion_types(court_id: str, filing_type: str) -> ApiResponse
get_filing_components
def get_filing_components(court_id: str, filing_type: str) -> ApiResponse
search_optional_services
def search_optional_services(search_term: Optional[str] = None) -> ApiResponse
retrieve_optional_services
def retrieve_optional_services(
retrieve_name: Optional[str] = None) -> ApiResponse
get_optional_services
def get_optional_services(court_id: str, filing_type: str) -> ApiResponse
get_cross_references
def get_cross_references(court_id: str, case_type: str) -> ApiResponse
get_damage_amounts
def get_damage_amounts(court_id: str,
case_category: Optional[str] = None) -> ApiResponse
get_procedure_or_remedies
def get_procedure_or_remedies(court_id: str,
case_category: Optional[str] = None
) -> ApiResponse
get_datafield
def get_datafield(court_id: str, field_name: str) -> ApiResponse
get_disclaimers
def get_disclaimers(court_id: str) -> ApiResponse
get_server_id
def get_server_id() -> ApiResponse
get_server_name
def get_server_name() -> ApiResponse
get_logs
def get_logs() -> ApiResponse