FiscusClient Class (API Reference)
The FiscusClient
class is the main entry point to the Fiscus SDK. It is responsible for executing operations across various connectors, managing authentication, handling WebSocket connections, and providing detailed logging and auditing for API interactions.
Initialization
__init__
__init__(self, api_key: str, user_id: Optional[str] = None, logging_level: str = 'INFO', log_to_file: bool = False, log_file_path: Optional[str] = None, enable_audit_logging: bool = False, connection_type: FiscusConnectionType = FiscusConnectionType.REST, response_format: FiscusResponseFormat = FiscusResponseFormat.TEXT, retries: int = 3, backoff_factor: float = 0.5, context_loader: Optional[Callable[[], Dict[str, Any]]] = None, context_saver: Optional[Callable[[Dict[str, Any]], None]] = None, **kwargs)
Parameters:
api_key
(str): The API key used to authenticate with the Fiscus SDK.user_id
(Optional[str]): A unique identifier for the user. If provided, it creates aFiscusUser
instance linked to the client.logging_level
(str): Logging level (e.g., 'DEBUG', 'INFO'). Defaults to 'INFO'.log_to_file
(bool): Whether to log events to a file. Defaults to False.log_file_path
(Optional[str]): Path to the log file, required iflog_to_file
is set to True.enable_audit_logging
(bool): Whether to enable audit logging. Defaults to False.connection_type
(FiscusConnectionType): Enum to specify the connection type. Defaults toFiscusConnectionType.REST
.response_format
(FiscusResponseFormat): Enum to specify the response format. Defaults toFiscusResponseFormat.TEXT
.retries
(int): The number of retries for failed API calls. Defaults to 3.backoff_factor
(float): Factor to determine the exponential backoff time between retries. Defaults to 0.5.context_loader
(Optional[Callable]): Callable to load user context. Defaults to None.context_saver
(Optional[Callable]): Callable to save user context. Defaults to None.**kwargs
: Additional custom options for the client.
Methods
execute
execute(self, connector_name: Optional[str] = None, operation: Optional[str] = None, params: Optional[Dict[str, Any]] = None, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_options: Optional[Dict[str, Any]] = None, tasks: Optional[List[Dict[str, Any]]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse
Executes one or more operations synchronously.
Parameters:
connector_name
(Optional[str]): Name of the connector for the operation. Required unlesstasks
are provided.operation
(Optional[str]): The name of the operation to be executed. Required unlesstasks
are provided.params
(Optional[Dict[str, Any]]): Parameters for the operation.callbacks
(Optional[Dict[str, FiscusCallback]]): A dictionary of callback functions for success, error, and other events.custom_options
(Optional[Dict[str, Any]]): Custom options for the execution.tasks
(Optional[List[Dict[str, Any]]]): A list of tasks to be executed as a workflow.connection_type
(Optional[FiscusConnectionType]): Specifies whether the request should be handled overREST
orWEBSOCKET
. Defaults toFiscusConnectionType.REST
.response_format
(Optional[FiscusResponseFormat]): Specifies whether the response should be returned inTEXT
orJSON
format. Defaults toFiscusResponseFormat.TEXT
.user
(Optional[FiscusUser]): The user associated with the operation.
Returns:
FiscusResponse
: The response object containing the result of the operation.
execute_async
execute_async(self, connector_name: Optional[str] = None, operation: Optional[str] = None, params: Optional[Dict[str, Any]] = None, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_options: Optional[Dict[str, Any]] = None, tasks: Optional[List[Dict[str, Any]]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse
Executes one or more operations asynchronously.
Parameters:
- Same as
execute
.
Returns:
FiscusResponse
: The response object containing the result of the operation.
ai_execute
ai_execute(self, input: str, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_overrides: Optional[Dict[str, Any]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse
Executes an AI-based dynamic workflow based on user input synchronously.
Parameters:
input
(str): The input string for the AI-based workflow.callbacks
(Optional[Dict[str, FiscusCallback]]): A dictionary of callback functions for success, error, and other events.custom_overrides
(Optional[Dict[str, Any]]): Custom overrides for execution.connection_type
(Optional[FiscusConnectionType]): Specifies the connection type (REST
orWEBSOCKET
). Defaults toFiscusConnectionType.REST
.response_format
(Optional[FiscusResponseFormat]): Specifies the response format (TEXT
orJSON
). Defaults toFiscusResponseFormat.TEXT
.user
(Optional[FiscusUser]): The user associated with the operation.
Returns:
FiscusResponse
: The response object containing the result of the operation.
ai_execute_async
ai_execute_async(self, input: str, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_overrides: Optional[Dict[str, Any]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse
Executes an AI-based dynamic workflow asynchronously.
Parameters:
- Same as
ai_execute
.
Returns:
FiscusResponse
: The response object containing the result of the operation.
stop_stream
stop_stream(self) -> None
Stops an active WebSocket stream.
Parameters:
- None.
Returns:
- None.
restart_stream
restart_stream(self) -> None
Restarts a previously stopped WebSocket stream.
Parameters:
- None.
Returns:
- None.