Symitar

Core

class q2_cores.Symitar.core.Core(logger, core_user, hq_credentials=None, **kwargs)[source]

Bases: BaseCore

All cores will inherit from this common base class. This contains a self.configured_user property, which is an instance of q2_sdk.models.cores.models.core_user.CoreUser.

CONFIG_FILE_NAME = 'Symitar_Core'
REQUIRED_CONFIGURATIONS = {'CARD_PREFIX': '1', 'DEVICE_TYPE': 'Q2', 'UNIT_NUMBER': '1'}
OPTIONAL_CONFIGURATIONS = {'GET_CARD_TYPE_WHITELIST': ['Credit Card'], 'SET_MEMBER_NUMBER_AS_DEMO_CIF': False, 'STRIP_ZEROS_FROM_MEMBER_NUMBER': False, 'USE_SYMXCHANGE': False}
async build_base_query(repgen_name, procedure, member_number=None, data_attrs=None, mock_response_string=None, data_file_name='', rg_params=None, purge_account_cache=False, mock_failure=False)[source]

A helper method for constructing an Repgen/PowerOn Symconnect request string.

Parameters:
  • repgen_name (str) – Repgen/PowerOn name that will be called

  • procedure (str) – Value that will be passed to RGSTATE

  • member_number (str) – Symitar account number, defaults to None. If none will use self.configured_user.customer_primary_cif

  • data_attrs (dict) – Key/Value pairs to be saved into a letter file e.g. first_name=Joe, defaults to None

  • mock_response_string (str) – The response to emulate what Symitar would respond with, defaults to None

  • data_file_name (str) – Name of the letter file that will be created if using data_attrs, defaults to “”. If used RGUSERCHR1 will also contain the letter file name.

  • rg_params (dict) – RGUSERCHR1 through RGUSERCHR5 parameters, defaults to None

  • purge_account_cache (bool) – Will tell the adapter to dump it’s cache for this account, defaults to False

  • mock_failure – Simulate a Core failure

Return type:

SymitarBaseMapper

Returns:

A mapper that can be executed on

async build_demographic_info()[source]

Returns a DemographicInfoMapper ready to execute

Return type:

BaseDemographicInfoMapper

async get_eligible_skip_loans(configs=None, cif=None)[source]
Return type:

GetEligibleSkipLoansMapper

async skip_loan(loan_id, account_id, skip_fee, repgen='Q2.SKIP.PAY', procedure='SKIP', loan_note=None)[source]
Return type:

SkipLoanMapper

static get_loan_note()[source]
async assess_skip_fee(loan_id, account_id, gl_code, skip_fee, repgen='Q2.SKIP.PAY', startstate='STARTSTATE')[source]
Return type:

AssessSkipFeeMapper

async build_get_cards()[source]

Returns a CardListMapper ready to execute

Return type:

GetCardsMapper

async build_get_all_cards()[source]
Return type:

GetAllCardsMapper

async get_sub_account_list()[source]
Return type:

GetSubAccountMapper

async get_sub_account_details(share_type_id, funding_amount)[source]
Return type:

GetSubAccountDetailsMapper

async open_sub_account(share_type_id, funding_amount, share_start_id, data_file_name, withholdings=None, joint_locator=None)[source]
Return type:

OpenAccountMapper

get_payment_builder(payment_type)[source]
Return type:

Callable

build_principal_payment_string(transaction_info)[source]

Builds custom Symitar principal loan payment request to be added to AddFundsTransfer GT Data

Return type:

SymitarPrincipalPaymentQuery

async get_estatement_enrollment_info(configs=None)[source]
Return type:

EstatementEnrollmentInfoMapper

async update_estatement_preferences(configs=None)[source]
Return type:

EstatementUpdateMapper

async get_account_demographic(repgenname=None, procedure=None)[source]
Return type:

AccountDemographicMapper

async update_account_demographic(repgenname, procedure, data_file, rg_params)[source]
Return type:

AccountDemographicUpdateMapper

DataHelpers

q2_cores.Symitar.data_helpers.get_account_objects(account_list_obj)[source]
q2_cores.Symitar.data_helpers.principal_payment_query(str_acct_num_internal=False)[source]
Return type:

str

q2_cores.Symitar.data_helpers.demographic_test_records()[source]
q2_cores.Symitar.data_helpers.demographic_test_closed_accounts()[source]
q2_cores.Symitar.data_helpers.get_build_query(repggen, state, ssn=None, name_list=None)[source]
q2_cores.Symitar.data_helpers.populate_rg_user_vars(repgen_string)[source]
q2_cores.Symitar.data_helpers.populate_rg_user_nums(repgen_string)[source]
class q2_cores.Symitar.data_helpers.XMLNamespaces(soapenv='http://schemas.xmlsoap.org/soap/envelope/', pow_ns='http://www.symxchange.generated.symitar.com/poweron', tns='http://www.symxchange.generated.symitar.com/common/dto/common')[source]

Bases: object

XMLNamespaces(soapenv: str = ‘http://schemas.xmlsoap.org/soap/envelope/’, pow_ns: str = ‘http://www.symxchange.generated.symitar.com/poweron’, tns: str = ‘http://www.symxchange.generated.symitar.com/common/dto/common’)

soapenv: str = 'http://schemas.xmlsoap.org/soap/envelope/'
pow_ns: str = 'http://www.symxchange.generated.symitar.com/poweron'
tns: str = 'http://www.symxchange.generated.symitar.com/common/dto/common'
q2_cores.Symitar.data_helpers.extract_symconnect_value(symconnect_string, start_code)[source]
q2_cores.Symitar.data_helpers.make_symxchange_xml(symconnect_string)[source]

reformat repgen string into SOAP request which differ based on call signature. https://confluence.q2ebanking.com/display/ProServ/SymConn+to+SymX

Exceptions

exception q2_cores.Symitar.exceptions.SymConnectMessageTypeError[source]

Bases: Exception

Unknown SymConnect message type received

exception q2_cores.Symitar.exceptions.SymXchangeGenericError[source]

Bases: Exception

Generic SymXchange Error response received