» Integration Module SDK Documentation

Getting Integration Connection List

Function: get_integration_connections()

Purpose

This SDK function retrieves a list of all integration connections available calling the get_integration_connections() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and sends a request to the backend to fetch  integration connection records associated with the authenticated user or organization.

Parameters

This function does not require any input parameters.

Use Case

The user can apply this function to view all existing integration connections linked to their environment. This is helpful for administrative views, system health checks, integration setup validation, or configuration dashboards. It provides an overview of all connected services or third-party platforms and helps in identifying connection status, providers, and configuration details. In the event of authentication failure or other backend issues, the function raises an exception for debugging and analysis.

def test_get_integration_connections():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:

        response = exsited_sdk.integration.connection_list()
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Returns a list of integration connections with associated metadata such as connection UUID, integration partner name, remote instance ID and name, client ID, client secret, access token, and refresh token. The response structure is typically a JSON object containing a list of connections under the integration_connection key and a pagination object for handling paginated records. In case of failure, such as invalid authentication, permission denial, or service error, an ABException is thrown. The function handles the exception and prints the error message, backend error content, and raw response for debugging purposes.

IntegrationConnectionListResponseDTO(
     integration_connection = [
          IntegrationConnectionDTO(
               status = "CONNECTION_STATUS",
               uuid = "CONNECTION_UUID",
               integrationPartner = "INTEGRATION_PARTNER_NAME",
               remoteInstanceId = "REMOTE_INSTANCE_ID",
               remoteInstanceName = "REMOTE_INSTANCE_NAME",
               clientId = "CLIENT_ID",
               clientSecret = "CLIENT_SECRET",
               accessToken = "ACCESS_TOKEN",
               refreshToken = "REFRESH_TOKEN"
          )
     ],
     pagination = {}
)

Getting Integration Connection Details by ID

Function: get_integration_connection_by_id()

Purpose

This SDK function retrieves a specific integration connection by its UUID using the get_connection_by_id() method from the ExsitedSDK. It initializes the SDK with a valid authentication token and sends a request to the backend to fetch details of the specified integration connection associated with the authenticated user or organization.

Parameters

Parameter Type Description
connection_uuid String Unique ID of a integration connection

Use Case

The function can be used to validate and inspect the details of a specific integration connection. It is useful in scenarios like integration diagnostics, admin tools, or audit panels where inspecting configuration details (e.g., integration partner, remote instance ID, credentials metadata) is required. If the UUID is invalid or access is restricted, an ABException is raised with detailed error messages for debugging.

def test_get_integration_connection_by_id():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:

        response = exsited_sdk.integration.get_connection_by_id(connection_uuid='f18f18c6-ac24-4b92-8a26-0a205168e966')
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Returns details of a single integration connection with associated metadata such as connection UUID, integration partner name, remote instance ID and name, client ID, client secret, access token, and refresh token. The response structure is typically a JSON object representing one integration connection, rather than a list. This object includes all configuration details required to identify and manage the integration. In case of failure, such as invalid authentication, an incorrect or missing UUID, permission denial, or a backend service error, an ABException is thrown. The function handles the exception and prints the error message, backend error content, and raw response for debugging purposes.

IntegrationConnectionListResponseDTO(
     integration_connection = [
          IntegrationConnectionDTO(
               status = "CONNECTION_STATUS",
               uuid = "CONNECTION_UUID",
               integrationPartner = "INTEGRATION_PARTNER_NAME",
               remoteInstanceId = "REMOTE_INSTANCE_ID",
               remoteInstanceName = "REMOTE_INSTANCE_NAME",
               clientId = "CLIENT_ID",
               clientSecret = "CLIENT_SECRET",
               accessToken = "ACCESS_TOKEN",
               refreshToken = "REFRESH_TOKEN"
          )
     ]
)

Enabling Integration Connection

Function: enable_integration_connection()

Purpose

This SDK function enables a previously inactive or disabled integration connection by internally calling the enable_connection() method from the ExsitedSDK. It initializes the SDK with a valid authentication token and sends a request to the backend to activate the integration connection specified by its UUID. Once enabled, the connection becomes available for use in data synchronization or integration workflows.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of a integration connection

Use Case

This function is used when reactivating an integration connection that was previously disabled—such as during system maintenance, temporary credential issues, or administrative suspension. It is helpful in integration control panels, monitoring tools, or automation scripts that manage connection states. If the UUID is invalid, the connection doesn't exist, or the user lacks access rights, an ABException is raised containing diagnostic messages for troubleshooting.

def test_enable_integration_connection():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:

        response = exsited_sdk.integration.enable_connection(connection_uuid='ff7018bb-e659-4faf-831b-54742f934935')
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Enabling an integration connection returns a confirmation response indicating the connection was successfully activated. The response typically includes the connection UUID, updated status (e.g., "ACTIVE"), and metadata such as integration partner name, remote instance identifiers, and client credentials. The structure is a JSON object representing the updated integration connection.In case of failure, such as an invalid or missing UUID, insufficient permissions, invalid authentication, or service-side errors, an ABException is thrown. The function captures this exception and outputs the error message, backend error details, and the raw API response to assist in debugging and resolution.

EntegrationConnectionEnableResponseDTO(
    message="XERO integration has been enable successfully"
)

Disabling Integration Connection

Function: disable_integration_connection()

Purpose

This SDK function disables an active integration connection by internally calling the disable_connection() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and sends a request to the backend to deactivate the specified integration connection using its UUID. Once disabled, the connection is prevented from participating in any further data synchronization or integration activities until explicitly re-enabled.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of a integration connection

Use Case

This function is used when suspending an integration connection, commonly required during credential rotation, system updates, temporary service downtime, or administrative decision to pause data exchange. It is useful in integration management consoles, operational workflows, or automated scripts that manage third-party service states. If the UUID is incorrect, the connection is already disabled, or access is denied, the function raises an ABException with full diagnostic details to assist with debugging and resolution.

def test_disable_integration_connection():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:

        response = exsited_sdk.integration.disable_connection(connection_uuid='ff7018bb-e659-4faf-831b-54742f934935')
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Disabling an integration connection returns a confirmation response indicating the connection was successfully deactivated. The response typically includes a message confirming the action, such as "XERO integration has been disable successfully". The structure is a JSON object or DTO conveying the success status of the operation. In case of failure—such as an invalid or missing UUID, insufficient permissions, invalid authentication, or service-side errors—an ABException is thrown. The function captures this exception and prints the error message, backend error content, and raw API response to assist in debugging and resolution.

IntegrationConnectionDisableResponseDTO(
    message='XERO integration has been disable successfully'
)

Creating Partner Function

Function: create_partner_function()

Purpose

This SDK function creates a new partner function under a specified integration connection by calling the create_partner_function() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and constructs a PartnerFunctionRequestDTO that includes details such as function name, direction, description, object mapping, event name, and tags. The function then sends a request to the backend to register this partner function against the provided connection UUID, establishing an operational rule or handler for the specified data object and event.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of a integration connection

Use Case

This function is helpful when a developer wants to set up a new partner function for an integration — for example, to define what should happen when data is imported or updated from an external system like Xero. You can use it to configure how specific objects (like "customer") are handled during certain events (like "update"). It’s useful during the setup of integrations, especially when building custom data flows or automation rules. If something goes wrong (like the UUID is wrong or you're not authorized), the function will throw an ABException with clear error details to help you debug the issue quickly.

def test_create_partner_function():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = PartnerFunctionRequestDTO(
            partnerFunction=PartnerFunctionDTO(
                name="PARTNER_FUNCTION_NAME",
                direction="FUNCTION_DIRECTION",
                description="FUNCTION_DESCRIPTION",
                objectName="OBJECT_NAME",
                objectMapping="OBJECT_MAPPING_NAME",
                eventName="EVENT_NAME",
                tag="FUNCTION_TAG"
            )
        )

        connection_uuid = "INTEGRATION_CONNECTION_UUID"

        response = exsited_sdk.integration.create_partner_function(connection_uuid=connection_uuid, request_data=request_obj)
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Creating a partner function returns a response containing metadata for the newly created integration function. The response includes details such as the function UUID, name, description, direction (e.g., import/export), associated event name, provider name, object mapping details, script references, and timestamps indicating creation and last update. The structure is represented by a PartnerFunctionCreateResponseDTO, which wraps a PartnerFunctionDTO containing all relevant partner function attributes. In case of failure, such as invalid input data, missing required fields, authentication issues, or permission errors, an ABException is raised. This exception includes the error message, detailed backend error data, and the raw response to help with debugging and issue resolution.

PartnerFunctionCreateResponseDTO(
    partnerFunction=PartnerFunctionDTO(
        uuid="PARTNER_FUNCTION_UUID",
        name="PARTNER_FUNCTION_NAME",
        description="FUNCTION_DESCRIPTION",
        direction="FUNCTION_DIRECTION",
        eventName="EVENT_NAME",
        providerName="INTEGRATION_PROVIDER_NAME",
        objectName="OBJECT_NAME",
        objectMapping="OBJECT_MAPPING_NAME",
        mappingId="MAPPING_ID",
        enabled="BOOLEAN_STRING",
        preRunScriptId="PRE_RUN_SCRIPT_ID",
        postRunScriptId="POST_RUN_SCRIPT_ID",
        tag="FUNCTION_TAG",
        created="CREATED_TIMESTAMP",
        updated="UPDATED_TIMESTAMP"
    )
)

Enabling Partner Function

Function: enable_partner_function()

Purpose

This SDK function enables a previously disabled or inactive partner function by calling the enable_partner_function() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and sends a request to the backend to activate the specified partner function under a given integration connection. Once enabled, the partner function becomes operational and can be used as part of automated data workflows or event-driven processes defined in the integration.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection
partner_function_uuidStringUnique ID of the partner function to be enabled

Use Case

This function is useful when a developer or administrator wants to re-enable a specific partner function that was previously turned off—for example, after resolving errors, updating configurations, or finishing maintenance. It helps restore automation or synchronization logic associated with the function, such as import/export behaviors. If the UUIDs are invalid or the user lacks appropriate permissions, an ABException is raised with detailed error information to assist in resolving the issue efficiently.

def test_enable_partner_function():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        connection_uuid = "connection-uuid"
        partner_function_uuid = "partner-function-uuid"

        response = exsited_sdk.integration.enable_partner_function(connection_uuid, partner_function_uuid)
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Enabling a partner function returns a confirmation response indicating the function was successfully activated. The response is structured as a PartnerFunctionEnableResponseDTO object containing a message field, such as: "Partner function has been enabled successfully". This confirms that the specified function is now active and ready for use in the integration workflow. If there is an issue, such as an invalid connection UUID, incorrect partner function UUID, permission denial, or authentication failure, an ABException is raised. This exception provides the error message, backend error details, and raw response to assist with effective debugging and resolution.

PartnerFunctionEnableResponseDTO(
    message='Partner function has been enabled successfully'
)

Disabling Partner Function

Function: disable_partner_function()

Purpose

This SDK function disables an active partner function by calling the disable_partner_function() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and sends a request to the backend to deactivate the specified partner function under a given integration connection. Once disabled, the partner function becomes inactive and is excluded from any data automation or event-driven processing associated with the integration.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection
partner_function_uuidStringUnique ID of the partner function to be disabled

Use Case

This function is helpful when an integration administrator or developer wants to temporarily or permanently disable a specific partner function—such as stopping the execution of a data import/export rule or an event handler during maintenance, debugging, or configuration changes. Disabling the function ensures that it no longer runs until explicitly re-enabled. If either UUID is incorrect or permissions are lacking, an ABException is raised with detailed error messages and raw response content for effective troubleshooting.

def test_disable_partner_function():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        connection_uuid = "connection-uuid"
        partner_function_uuid = "partner-function-uuid"

        response = exsited_sdk.integration.disable_partner_function(connection_uuid, partner_function_uuid)
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Disabling a partner function returns a confirmation response indicating that the function was successfully deactivated. The response is structured as a PartnerFunctionDisableResponseDTO object and contains a message field, such as: "Partner function has been disabled successfully". This confirms that the specified function is no longer active and will not participate in integration workflows until re-enabled. If any issue occurs, such as an invalid connection UUID, incorrect partner function UUID, lack of permissions, or authentication failure, an ABException is raised. This exception provides helpful information including the error message, backend error details, and the raw response to support efficient debugging and resolution.

PartnerFunctionDisableResponseDTO(
    message='Partner function has been disabled successfully'
)

Creating Integration Connection

Function: create_integration_connections()

Purpose

This SDK function creates a new integration connection by calling the create_connection() method from the ExsitedSDK. It initializes the SDK with a valid authentication token and constructs an IntegrationConnectionCreateRequestDTO containing details such as provider name, remote instance metadata, OAuth credentials, supporting fields, and company information. Once invoked, the function sends a request to the backend to register the integration connection, establishing a secure link between the platform and an external service like an accounting or ERP system.

Parameters

This function does not require any input parameters.

Use Case

This function is useful when a developer or system administrator wants to set up a new integration connection for syncing data between the platform and a third-party provider. It is typically used during the onboarding or configuration phase of an integration, enabling data exchange by saving the connection credentials and relevant metadata. Common use cases include connecting to systems like Xero, NetSuite, or QuickBooks, defining tenant-specific details, and supplying authentication tokens. If any required fields are missing, credentials are invalid, or permissions are insufficient, the function raises an ABException with detailed error information to support fast debugging and resolution.

def test_create_integration_connections():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = IntegrationConnectionCreateRequestDTO(
            provider="PROVIDER_NAME",
            remoteInstanceId="REMOTE_INSTANCE_ID",
            remoteInstanceCode="REMOTE_INSTANCE_CODE",
            remoteInstanceName="REMOTE_INSTANCE_NAME",
            remoteInstanceDisplay="REMOTE_INSTANCE_DISPLAY",

            integrationClientId="CLIENT_ID",
            integrationClientSecret="CLIENT_SECRET",

            integrationAccessToken="ACCESS_TOKEN",
            integrationRefreshToken="REFRESH_TOKEN",
            tokenType="TOKEN_TYPE",
            expiresIn="EXPIRY_DATE",

            accountServer="ACCOUNT_SERVER_URL",
            apiDomain="API_DOMAIN_URL",

            supportingFields='{"key":"value"}',

            userName="USERNAME",
            userPassword="USER_PASSWORD",

            requireAuthentication=True,
            state="STATE_VALUE",

            companyFile="COMPANY_FILE_ID",
            companyName="COMPANY_NAME",
        )

        response = exsited_sdk.integration.create_connection(request_data=request_obj)
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Creating an integration connection returns a structured IntegrationConnectionCreateResponseDTO containing a data object. Inside this, the integration field holds an IntegrationConnectionDTO with details such as connection status, UUID, integration partner name, remote instance identifiers, and client authentication credentials (client ID, secret, access and refresh tokens). This confirms that the connection has been successfully established and is ready for use in integration workflows. If the request fails due to missing fields, invalid values, or permission issues, an ABException is raised, including a clear error message, backend error content, and the raw response to help troubleshoot the issue effectively.

IntegrationConnectionCreateResponseDTO(
    data=IntegrationConnectionResponseDataDTO(
        integration=IntegrationConnectionDTO(
            status="CONNECTION_STATUS",
            uuid="CONNECTION_UUID",
            integrationPartner="INTEGRATION_PARTNER",
            remoteInstanceId="REMOTE_INSTANCE_ID",
            remoteInstanceName="REMOTE_INSTANCE_NAME",
            clientId="CLIENT_ID",
            clientSecret="CLIENT_SECRET",
            accessToken="ACCESS_TOKEN",
            refreshToken="REFRESH_TOKEN"
        )
    )
)

Creating Automation

Function: create_automation()

Purpose

This SDK function creates a new automation under a specified integration connection by calling the create_automation() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and constructs an AutomationRequestDTO object, which includes configuration data such as automation name, trigger type (e.g., timer-based), direction (IMPORT/EXPORT), execution frequency, overwrite behavior, criteria rules, and associated actions. The function sends this request to the backend, where the automation logic is registered and becomes active for use in scheduled or conditional integration workflows.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection.

Use Case

This function is useful when developers or integration administrators need to define and enable automated workflows — for example, syncing data every 8 hours, filtering suppliers based on conditions, or executing import actions tied to specific partner functions. It simplifies integration management by programmatically defining automation without using the UI. If the request data is invalid, missing required fields, or the user lacks proper permissions, an ABException is raised, containing error messages and raw backend details for fast debugging and resolution.

def test_create_automation():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = AutomationRequestDTO(
            integration=IntegrationDTO(
                automationDetails=AutomationDetailsDTO(
                    name="Generic Automation",
                    displayName="Generic Automation Display",
                    code="auto_code_01",
                    descriptionEnabled="true",
                    description="This is a generic automation description.",
                    anotherAutomation="SecondaryAutomation",
                    appliesTo="vendor",
                    appliesToFunction="create",
                    automationType="eventBased",
                    direction="EXPORT",
                    checkOn="12 hours",
                    customDay="monday",
                    customTime="09:30:00",
                    doNotOverWriteLatestData="false",
                    ignoreThreshold="5",
                    performAction="12345678-abcd-1234-efgh-567890abcdef",
                    sinceLastLookUp="false",
                    additionalCriteria="true",
                    propertyName=""
                ),
                additionalCriteriaDetails=[
                    AdditionalCriteriaDTO(
                        groupCondition="OR",
                        rules=[
                            CriteriaRuleDTO(
                                fieldName="CustomerID",
                                operator="CONTAINS",
                                value="CUST001",
                                condition="OR"
                            ),
                            CriteriaRuleDTO(
                                fieldName="Email",
                                operator="HAS_VALUE",
                                value=None,
                                condition="OR"
                            )
                        ]
                    )
                ]
            )
        )

        connection_uuid = "11112222-3333-4444-aaaa-bbbbbbbbbbbb"

        response = exsited_sdk.integration.create_automation(connection_uuid, request_data=request_obj)
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Creating an automation returns a structured response confirming the automation rule has been successfully created. The response is represented by an AutomationCreateResponseDTO, which wraps an IntegrationAutomationDTO containing detailed attributes of the newly created automation. These attributes include automation UUID, name, code, direction (e.g., IMPORT), trigger type (e.g., timerBased), execution frequency (checkOn), condition text, and related partner function references. It also reflects metadata such as provider name, status, and configured criteria logic. If the creation fails due to issues like missing fields, invalid data, or permission errors, an ABException is raised with descriptive error messages, backend details, and raw response content for effective troubleshooting.

AutomationCreateResponseDTO(
    integrationAutomation=IntegrationAutomationDTO(
        checkOn="CHECK_INTERVAL",
        checkOnMinutes="CHECK_INTERVAL_MINUTES",
        additionalCriteria="BOOLEAN_FLAG",
        appliesTo="ENTITY_TYPE",
        appliesToFunction="FUNCTION_TYPE",
        automationType="AUTOMATION_TYPE",
        code="AUTOMATION_CODE",
        customDay="CUSTOM_DAY",
        customDayTime="CUSTOM_DAY_TIME",
        customTime="CUSTOM_TIME",
        description="AUTOMATION_DESCRIPTION",
        direction="DIRECTION",
        displayName="DISPLAY_NAME",
        name="AUTOMATION_NAME",
        performFunction="FUNCTION_UUID",
        provider="PROVIDER_NAME",
        status="AUTOMATION_STATUS",
        uuid="AUTOMATION_UUID",
        triggerConditionText="TRIGGER_CONDITION",
        performActionText="ACTION_LABEL",
        checkOnText="CHECK_INTERVAL_LABEL"
    )
)

Updating Automation with Additional Criteria

Function: update_automation()

Purpose

This SDK function updates an existing automation under a specified integration connection by calling the update_automation() method with additional criteria from the ExsitedSDK. It initializes the SDK using a valid authentication token and builds an AutomationRequestDTO object containing updated automation details — including name, display name, description, trigger type, execution frequency, criteria logic, and linked partner functions. The function sends this update request to the backend using the automation’s unique UUID, allowing users to modify automation behavior or configuration without recreating it.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection.
automation_uuidStringUnique ID of the automation.

Use Case

This function is helpful when developers or system administrators need to update or refine existing automation workflows for additional criteria, for example, changing the trigger condition, execution schedule, or logic rules for when an import or export should happen. This enables dynamic adjustment of automation behavior in response to changing business requirements or data flows. If the automation UUID is invalid, the request is malformed, or the user lacks the necessary permissions, an ABException is raised with descriptive error messages and raw backend response for debugging.

def test_update_automation():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = AutomationRequestDTO(
            integration=IntegrationDTO(
                automationDetails=AutomationDetailsDTO(
                    name="AUTOMATION_NAME",
                    displayName="DISPLAY_NAME",
                    code="AUTOMATION_CODE",
                    descriptionEnabled="BOOLEAN_FLAG",
                    description="AUTOMATION_DESCRIPTION",
                    anotherAutomation="SECONDARY_AUTOMATION",
                    appliesTo="ENTITY_TYPE",
                    appliesToFunction="FUNCTION_TYPE",
                    automationType="AUTOMATION_TYPE",
                    checkOn="CHECK_INTERVAL",
                    customDay="CUSTOM_DAY",
                    customTime="CUSTOM_TIME",
                    direction="DIRECTION",
                    doNotOverWriteLatestData="BOOLEAN_FLAG",
                    ignoreThreshold="IGNORE_THRESHOLD_VALUE",
                    performAction="FUNCTION_UUID",
                    sinceLastLookUp="BOOLEAN_FLAG",
                    additionalCriteria="BOOLEAN_FLAG",
                    propertyName=""
                ),
                additionalCriteriaDetails=[
                    AdditionalCriteriaDTO(
                        groupCondition="AND",
                        rules=[
                            CriteriaRuleDTO(
                                fieldName="FIELD_NAME_1",
                                operator="EQUALS",
                                value="VALUE_1",
                                condition="AND"
                            )
                        ]
                    ),
                    AdditionalCriteriaDTO(
                        groupCondition="OR",
                        rules=[
                            CriteriaRuleDTO(
                                fieldName="FIELD_NAME_2",
                                operator="HAS_VALUE",
                                value=None,
                                condition="OR"
                            ),
                            CriteriaRuleDTO(
                                fieldName="FIELD_NAME_3",
                                operator="CONTAINS",
                                value="STRING_VALUE",
                                condition="AND"
                            )
                        ]
                    ),
                    AdditionalCriteriaDTO(
                        groupCondition="AND",
                        rules=[
                            CriteriaRuleDTO(
                                fieldName="FIELD_NAME_4",
                                operator="DOES_NOT_HAVE_VALUE",
                                value=None,
                                condition="AND"
                            ),
                            CriteriaRuleDTO(
                                fieldName="FIELD_NAME_5",
                                operator="EQUALS",
                                value="VALUE_2",
                                condition="AND"
                            )
                        ]
                    )
                ]
            )
        )

        connection_uuid = "CONNECTION_UUID_PLACEHOLDER"
        automation_uuid = "AUTOMATION_UUID_PLACEHOLDER"

        response = exsited_sdk.integration.update_automation(
            connection_uuid=connection_uuid,
            automation_uuid=automation_uuid,
            request_data=request_obj
        )
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Updating an automation returns a structured confirmation wrapped in an AutomationUpdateResponseDTO. This includes an IntegrationAutomationDTO that reflects the updated automation attributes such as UUID, name, execution timing (checkOn, customTime), trigger direction (IMPORT/EXPORT), automation type (e.g., timerBased), and partner function association. The response also includes provider info, status, and human-readable labels for the trigger condition and action. If the update fails due to issues like invalid values or missing parameters, the SDK raises an ABException with complete error diagnostics to help quickly resolve the problem.

AutomationUpdateResponseDTO(
    integrationAutomation=IntegrationAutomationDTO(
        checkOn="CHECK_INTERVAL",
        checkOnMinutes="CHECK_INTERVAL_MINUTES",
        additionalCriteria="BOOLEAN_FLAG",
        appliesTo="ENTITY_TYPE",
        appliesToFunction="FUNCTION_TYPE",
        automationType="AUTOMATION_TYPE",
        code="AUTOMATION_CODE",
        customDay="CUSTOM_DAY",
        customDayTime="CUSTOM_DAY_TIME",
        customTime="CUSTOM_TIME",
        description="AUTOMATION_DESCRIPTION",
        direction="DIRECTION",
        displayName="DISPLAY_NAME",
        name="AUTOMATION_NAME",
        performFunction="FUNCTION_UUID",
        provider="PROVIDER_NAME",
        status="AUTOMATION_STATUS",
        uuid="AUTOMATION_UUID",
        triggerConditionText="TRIGGER_CONDITION",
        performActionText="ACTION_LABEL",
        checkOnText="CHECK_INTERVAL_LABEL"
    )
)

Updating Integration Configuration

Function: update_integration_configuration()

Purpose

This SDK function updates the configuration of an existing integration connection by calling the update_integration_configuration() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and constructs an IntegrationConnectionConfigRequestDTO object containing updated settings related to accounts and transactions. These configurations include import/export preferences, account mappings, tax settings, field identifiers, and invoice revenue mappings. The function sends this data to the backend to modify how the platform handles accounting and transactional synchronization with the external provider.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection.

Use Case

This function is used when a developer or administrator needs to update how the platform communicates with a third-party service, such as Xero. Common use cases include adjusting account receivable/payable mappings, changing tax settings, enabling or disabling data sync, and customizing invoice number formats. These changes are often required when financial structures evolve, integration behavior changes, or during integration fine-tuning. If the request contains invalid fields or lacks permission, the function raises an ABException with detailed backend error information to support effective debugging and resolution.

def test_update_integration_configuration():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = IntegrationConnectionConfigRequestDTO(
            account=AccountDTO(
                export=AccountImportExportDTO(
                    enabled="true",
                    defaultAccountReceivable="RECEIVABLE_ACCOUNT_NAME",
                    accountReceivableMapping=AccountMappingDTO(
                        enabled="true",
                        mappings=[
                            MappingDTO(source="SOURCE_NAME_1", target="TARGET_NAME_1"),
                            MappingDTO(source="SOURCE_NAME_2", target="TARGET_NAME_2"),
                        ],
                    ),
                    defaultAccountPayable="PAYABLE_ACCOUNT_NAME",
                    accountPayableMapping=AccountMappingDTO(
                        enabled="true",
                        mappings=[
                            MappingDTO(source="SOURCE_NAME_3", target="TARGET_NAME_3"),
                            MappingDTO(source="SOURCE_NAME_4", target="TARGET_NAME_4"),
                        ],
                    ),
                    defaultTax=None,
                    taxMapping=AccountMappingDTO(
                        enabled="false",
                        mappings=[],
                    ),
                    xeroAccountNumberField="ACCOUNT_NUMBER_FIELD",
                    syncToXero="true",
                ),
                import_=AccountImportExportDTO(
                    enabled="true",
                    defaultAccountReceivable="IMPORT_RECEIVABLE_NAME",
                    accountReceivableMapping=AccountMappingDTO(
                        enabled="true",
                        mappings=[
                            MappingDTO(source="SOURCE_NAME_5", target="TARGET_NAME_5"),
                            MappingDTO(source="SOURCE_NAME_6", target="TARGET_NAME_6"),
                        ],
                    ),
                    defaultAccountPayable="IMPORT_PAYABLE_NAME",
                    accountPayableMapping=AccountMappingDTO(
                        enabled="true",
                        mappings=[
                            MappingDTO(source="SOURCE_NAME_7", target="TARGET_NAME_7"),
                            MappingDTO(source="SOURCE_NAME_8", target="TARGET_NAME_8"),
                        ],
                    ),
                    xeroAccountIdField="ACCOUNT_ID_FIELD",
                ),
            ),
            transaction=TransactionDTO(
                invoice=InvoiceDTO(
                    export=InvoiceExportDTO(
                        enabled="true",
                        defaultSalesRevenue="SALES_REVENUE_ACCOUNT",
                        salesRevenueMapping=SalesRevenueMappingDTO(
                            enabled="true",
                            mappings=[
                                MappingDTO(source="SALES_SOURCE_1", target="SALES_TARGET_1"),
                                MappingDTO(source="SALES_SOURCE_2", target="SALES_TARGET_2"),
                            ],
                        ),
                        xeroInvoiceNumberField="INVOICE_NUMBER_FIELD",
                        syncToXero="true",
                    )
                )
            )
        )

        connection_uuid = "CONNECTION_UUID_PLACEHOLDER"

        response = exsited_sdk.integration.update_integration_configuration(
            connection_uuid, request_data=request_obj
        )
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Updating an integration configuration returns a structured response confirming the configuration was successfully applied. The response contains a message field, such as: "Configuration has been updated successfully", indicating that the account and transaction settings have been saved and applied to the integration connection. If the update fails due to issues like invalid input data, missing fields, or permission errors, an ABException is raised. This exception includes descriptive error messages, backend details, and the raw response to assist with troubleshooting and resolution.

IntegrationConnectionConfigResponseDTO(
    message='Configuration has been updated successfully'
)

Updating Partner Function

Function: update_partner_function()

Purpose

This SDK function updates the configuration of an existing partner function under a specified integration connection by calling the update_partner_function() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and builds a PartnerFunctionRequestDTO, which includes details like the function's name, direction (IMPORT/EXPORT), description, associated object and mapping, event name, and an optional tag. The function sends this request to the backend using the partner function’s unique UUID, allowing users to modify the behavior of a partner function without deleting or recreating it.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection.
partner_function_uuidStringUnique ID of the partner function.

Use Case

This function is used when developers or administrators need to update an existing partner function’s configuration — for example, changing its mapped object, direction (from IMPORT to EXPORT), or event trigger. It allows quick iteration or correction of automation behavior without full deletion. If the UUIDs are invalid, the input data is malformed, or the user lacks necessary permissions, an ABException is raised with detailed error messages, backend error details, and the raw response to assist in debugging and resolution.

def test_update_partner_function():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        request_obj = PartnerFunctionRequestDTO(
            partnerFunction=PartnerFunctionDTO(
                name="FUNCTION_NAME_PLACEHOLDER",
                direction="DIRECTION_TYPE",  # IMPORT or EXPORT
                description="FUNCTION_DESCRIPTION",
                objectName="OBJECT_NAME_PLACEHOLDER",
                objectMapping="OBJECT_MAPPING_NAME_PLACEHOLDER",
                eventName="EVENT_NAME_PLACEHOLDER",
                tag="FUNCTION_TAG_PLACEHOLDER"
            )
        )

        connection_uuid = "CONNECTION_UUID_PLACEHOLDER"
        partner_function_uuid = "PARTNER_FUNCTION_UUID_PLACEHOLDER"

        response = exsited_sdk.integration.update_partner_function(
            connection_uuid=connection_uuid,
            partner_function_uuid=partner_function_uuid,
            request_data=request_obj
        )
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Updating a partner function returns a structured response confirming that the function was successfully modified. The response is represented by a PartnerFunctionUpdateResponseDTO object, which contains updated attributes of the partner function including its UUID, name, direction (IMPORT or EXPORT), event name, provider, and associated object mapping. It also includes metadata such as creation and update timestamps, whether the function is enabled, any pre- or post-execution script IDs, and a custom tag for labeling or categorization. If the update fails due to invalid UUIDs, malformed data, or insufficient permissions, an ABException is raised. This exception contains error messages, backend diagnostic information, and the raw response to support efficient debugging and resolution.

PartnerFunctionUpdateResponseDTO(
    uuid="PARTNER_FUNCTION_UUID",
    name="FUNCTION_NAME_PLACEHOLDER",
    description="FUNCTION_DESCRIPTION_PLACEHOLDER",
    direction="DIRECTION_TYPE",  # e.g., IMPORT or EXPORT
    eventName="EVENT_NAME_PLACEHOLDER",
    providerName="PROVIDER_NAME_PLACEHOLDER",
    objectName="OBJECT_NAME_PLACEHOLDER",
    objectMapping="OBJECT_MAPPING_PLACEHOLDER",
    mappingId="MAPPING_ID_PLACEHOLDER",
    enabled="BOOLEAN_FLAG",
    preRunScriptId="SCRIPT_ID_BEFORE_PLACEHOLDER",
    postRunScriptId="SCRIPT_ID_AFTER_PLACEHOLDER",
    tag="TAG_LABEL_PLACEHOLDER",
    created="CREATED_TIMESTAMP_PLACEHOLDER",   
    updated="UPDATED_TIMESTAMP_PLACEHOLDER"    
)

Deleting Integration Connection

Function: connection_delete()

Purpose

This SDK function deletes an existing integration connection by calling the connection_delete() method from the ExsitedSDK. It initializes the SDK with a valid authentication token and sends a request to the backend to remove the specified integration connection identified by its unique UUID. Once deleted, the connection is no longer available for data synchronization or integration workflows.

Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection to be deleted.

Use Case

This function is useful when a developer or system administrator needs to permanently remove an integration connection that is no longer needed or is being replaced. Deleting the connection stops all automated syncs and integrations associated with it. If the UUID is invalid or the user lacks proper permissions, an ABException is raised with detailed error information to aid in troubleshooting and resolution.

def test_delete_integration_connections():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())

    try:
        response = exsited_sdk.integration.connection_delete(connection_uuid="CONNECTION_UUID_PLACEHOLDER")
        print(response)

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

On successful deletion, the function returns a dictionary confirming the operation, with a 204 status code and a success flag.

{'success': True, 'status_code': 204}

Getting Integration Configuration

Function: integration_configuration()

Purpose

This SDK function retrieves the current configuration details of an integration connection by calling the integration_configuration() method from the ExsitedSDK. It initializes the SDK using a valid authentication token and fetches the configuration tied to the provided integration UUID. The response includes configuration data for accounts and transactions, such as import/export mapping, tax settings, default accounts, and invoice behavior.

Parameters

ParameterTypeDescription
integration_uuidStringUnique ID of an integration connection

Use Case

This function is useful when developers or integration administrators want to view or audit the current settings applied to a given integration. It helps verify mapped accounts, tax logic, synchronization rules, and invoice export behavior before making changes or debugging issues. If the UUID is invalid or permissions are insufficient, an ABException is raised with backend details and raw error output to aid troubleshooting.

def test_get_integration_configuration():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())
    try:
        response = exsited_sdk.integration.integration_configuration( integration_uuid="INTEGRATION_UUID_PLACEHOLDER")
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Calling this function returns a structured response represented by the XeroIntegrationConfigurationResponseDTO. This response encapsulates the current integration configuration for the connected system, categorized into four primary modules: account, item, transaction, and purchase. Each module includes both export and import configurations. Export settings (XeroExportSettingsDTO) define which entity types (such as accounts, items, invoices, payments, credit notes, refunds, purchase orders, and purchase bills) are enabled for outbound synchronization. Import settings are returned as key-value pairs where each key represents a specific data flow (e.g., importing tax details or enabling mappings), and the corresponding value indicates whether that flow is active. These values use string-based booleans like "true" or "false". This structured response allows developers or administrators to verify the active configuration for each integration module and assess what data is being exchanged between the platforms. If the retrieval fails — for instance, due to an invalid integration identifier or insufficient access — an ABException is raised with detailed error messages and the raw response for troubleshooting.

XeroIntegrationConfigurationResponseDTO(
    integration=XeroIntegrationDataDTO(
        account=XeroAccountDTO(
            provider="PROVIDER_NAME_PLACEHOLDER",
            accountSyncToXero="BOOLEAN_FLAG",
            export=XeroExportSettingsDTO(
                accountToXeroEnabled="BOOLEAN_FLAG",
                accountToXeroTaxEnable="BOOLEAN_FLAG",
                itemToXeroEnabled=None,
                productToXeroSalesRevenueEnable=None,
                productToXeroTaxEnable=None,
                invoiceToXeroEnabled=None,
                invoiceToXeroSalesRevenueEnable=None,
                invoiceToXeroTaxEnable=None,
                paymentToXeroEnabled=None,
                creditNoteToXeroEnabled=None,
                refundToXeroEnabled=None,
                purchaseOrderToXeroEnabled=None,
                purchaseOrderToXeroTaxEnable=None,
                purchaseInvoiceToXeroEnabled=None,
                purchaseInvoiceToXeroTaxEnable=None,
                purchasePaymentToXeroEnabled=None,
                purchasePaymentToXeroTaxEnable=None,
                purchaseCreditNoteToXeroEnabled=None,
                purchaseRefundToXeroEnabled=None
            ),
            import_={
                accountFromXeroEnabled: "BOOLEAN_FLAG",
                accountToXeroAccountReceivableEnable: "BOOLEAN_FLAG",
                accountToXeroAccountPayableEnable: "BOOLEAN_FLAG",
                accountToXeroTaxEnable: "BOOLEAN_FLAG"
            }
        ),
        item=XeroItemDTO(
            provider="PROVIDER_NAME_PLACEHOLDER",
            itemSyncToXero="BOOLEAN_FLAG",
            export=XeroExportSettingsDTO(
                accountToXeroEnabled=None,
                accountToXeroTaxEnable=None,
                itemToXeroEnabled="BOOLEAN_FLAG",
                productToXeroSalesRevenueEnable="BOOLEAN_FLAG",
                productToXeroTaxEnable="BOOLEAN_FLAG",
                invoiceToXeroEnabled=None,
                invoiceToXeroSalesRevenueEnable=None,
                invoiceToXeroTaxEnable=None,
                paymentToXeroEnabled=None,
                creditNoteToXeroEnabled=None,
                refundToXeroEnabled=None,
                purchaseOrderToXeroEnabled=None,
                purchaseOrderToXeroTaxEnable=None,
                purchaseInvoiceToXeroEnabled=None,
                purchaseInvoiceToXeroTaxEnable=None,
                purchasePaymentToXeroEnabled=None,
                purchasePaymentToXeroTaxEnable=None,
                purchaseCreditNoteToXeroEnabled=None,
                purchaseRefundToXeroEnabled=None
            ),
            import_={
                itemFromXeroEnabled: "BOOLEAN_FLAG",
                productFromXeroSalesRevenueEnable: "BOOLEAN_FLAG",
                productFromXeroTaxEnable: "BOOLEAN_FLAG"
            }
        ),
        transaction=XeroTransactionDTO(
            provider="PROVIDER_NAME_PLACEHOLDER",
            invoiceSyncToXero="BOOLEAN_FLAG",
            paymentSyncToXero="BOOLEAN_FLAG",
            creditNoteSyncToXero="BOOLEAN_FLAG",
            refundSyncToXero="BOOLEAN_FLAG",
            export=XeroExportSettingsDTO(
                accountToXeroEnabled=None,
                accountToXeroTaxEnable=None,
                itemToXeroEnabled=None,
                productToXeroSalesRevenueEnable=None,
                productToXeroTaxEnable=None,
                invoiceToXeroEnabled="BOOLEAN_FLAG",
                invoiceToXeroSalesRevenueEnable="BOOLEAN_FLAG",
                invoiceToXeroTaxEnable="BOOLEAN_FLAG",
                paymentToXeroEnabled="BOOLEAN_FLAG",
                creditNoteToXeroEnabled="BOOLEAN_FLAG",
                refundToXeroEnabled="BOOLEAN_FLAG",
                purchaseOrderToXeroEnabled=None,
                purchaseOrderToXeroTaxEnable=None,
                purchaseInvoiceToXeroEnabled=None,
                purchaseInvoiceToXeroTaxEnable=None,
                purchasePaymentToXeroEnabled=None,
                purchasePaymentToXeroTaxEnable=None,
                purchaseCreditNoteToXeroEnabled=None,
                purchaseRefundToXeroEnabled=None
            ),
            import_={
                invoiceFromXeroEnabled: "BOOLEAN_FLAG",
                invoiceFromXeroSalesRevenueEnable: "BOOLEAN_FLAG",
                invoiceFromXeroTaxEnable: "BOOLEAN_FLAG",
                paymentFromXeroEnabled: "BOOLEAN_FLAG",
                creditNoteFromXeroEnabled: "BOOLEAN_FLAG",
                refundFromXeroEnabled: "BOOLEAN_FLAG"
            }
        ),
        purchase=XeroPurchaseDTO(
            provider="PROVIDER_NAME_PLACEHOLDER",
            purchaseOrderSyncToXero="BOOLEAN_FLAG",
            purchaseInvoiceSyncToXero="BOOLEAN_FLAG",
            purchasePaymentSyncToXero="BOOLEAN_FLAG",
            export=XeroExportSettingsDTO(
                accountToXeroEnabled=None,
                accountToXeroTaxEnable=None,
                itemToXeroEnabled=None,
                productToXeroSalesRevenueEnable=None,
                productToXeroTaxEnable=None,
                invoiceToXeroEnabled=None,
                invoiceToXeroSalesRevenueEnable=None,
                invoiceToXeroTaxEnable=None,
                paymentToXeroEnabled=None,
                creditNoteToXeroEnabled=None,
                refundToXeroEnabled=None,
                purchaseOrderToXeroEnabled="BOOLEAN_FLAG",
                purchaseOrderToXeroTaxEnable="BOOLEAN_FLAG",
                purchaseInvoiceToXeroEnabled="BOOLEAN_FLAG",
                purchaseInvoiceToXeroTaxEnable="BOOLEAN_FLAG",
                purchasePaymentToXeroEnabled="BOOLEAN_FLAG",
                purchasePaymentToXeroTaxEnable="BOOLEAN_FLAG",
                purchaseCreditNoteToXeroEnabled="BOOLEAN_FLAG",
                purchaseRefundToXeroEnabled="BOOLEAN_FLAG"
            ),
            import_={
                purchaseOrderFromXeroEnabled: "BOOLEAN_FLAG",
                purchaseOrderFromXeroExpenseEnable: "BOOLEAN_FLAG",
                purchaseOrderFromXeroTaxEnable: "BOOLEAN_FLAG",
                purchaseBillFromXeroEnabled: "BOOLEAN_FLAG",
                purchaseBillFromXeroExpenseEnable: "BOOLEAN_FLAG",
                purchaseBillFromXeroTaxEnable: "BOOLEAN_FLAG",
                purchasePaymentFromXeroEnabled: "BOOLEAN_FLAG",
                purchasePaymentProcessorFromXeroEnable: "BOOLEAN_FLAG",
                purchaseCreditNoteFromXeroEnabled: "BOOLEAN_FLAG",
                purchaseRefundFromXeroEnabled: "BOOLEAN_FLAG"
            }
        )
    )
)

Getting Partner Function List

Function: partner_function_list()

Purpose

This SDK function retrieves a list of partner functions associated with a given integration connection by calling the partner_function_list() method from the ExsitedSDK. It initializes the SDK with a valid authentication token and uses the specified integration UUID to fetch all partner functions available under that connection. Each partner function represents an action or trigger (e.g., import, export, event) tied to specific business logic within the integration.

Parameters

ParameterTypeDescription
integration_uuidStringUnique ID of an integration connection

Use Case

This function is useful when developers or integration administrators want to retrieve all defined partner functions for a specific integration. This enables them to audit or configure automations, review available triggers and actions, or inspect partner mappings for event handling. If the UUID is invalid or access is unauthorized, the function raises an ABException with detailed backend errors and raw response data for debugging.

def test_get_integration_partner_function_list():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())
    try:

        response = exsited_sdk.integration.partner_function_list(integration_uuid='INTEGRATION_UUID_PLACEHOLDER')
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Calling the partner_function_list() function returns a PartnerFunctionListResponseDTO, which includes a list of PartnerFunctionDTO objects representing each partner function configured under the specified integration. Each entry contains metadata such as UUID, name, direction (IMPORT or EXPORT), event name, object name, object mapping, provider, status, and timestamps for creation and updates. It also provides pagination details through PaginationDTO, which helps in navigating large result sets. If the request encounters issues like an invalid integration UUID or insufficient permissions, an ABException is raised with descriptive error messages, backend diagnostics, and the raw API response to support effective debugging.

PartnerFunctionListResponseDTO(
    partnerFunctions=[
        PartnerFunctionDTO(
            uuid="UUID_PLACEHOLDER_1",
            name="FUNCTION_NAME_1",
            description="FUNCTION_DESCRIPTION_1",
            direction="DIRECTION_TYPE_1",  # e.g., IMPORT or EXPORT
            eventName="EVENT_NAME_1",
            providerName="PROVIDER_NAME_1",
            objectName="OBJECT_NAME_1",
            objectMapping="OBJECT_MAPPING_1",
            mappingId="MAPPING_ID_1",
            enabled="BOOLEAN_FLAG_1",
            preRunScriptId="SCRIPT_BEFORE_ID_1",
            postRunScriptId="SCRIPT_AFTER_ID_1",
            tag="TAG_1",
            created="CREATED_TIMESTAMP_1",
            updated="UPDATED_TIMESTAMP_1"
        ),
        PartnerFunctionDTO(
            uuid="UUID_PLACEHOLDER_2",
            name="FUNCTION_NAME_2",
            description="FUNCTION_DESCRIPTION_2",
            direction="DIRECTION_TYPE_2",
            eventName="EVENT_NAME_2",
            providerName="PROVIDER_NAME_2",
            objectName="OBJECT_NAME_2",
            objectMapping="OBJECT_MAPPING_2",
            mappingId="MAPPING_ID_2",
            enabled="BOOLEAN_FLAG_2",
            preRunScriptId="SCRIPT_BEFORE_ID_2",
            postRunScriptId="SCRIPT_AFTER_ID_2",
            tag="TAG_2",
            created="CREATED_TIMESTAMP_2",
            updated="UPDATED_TIMESTAMP_2"
        ),
        PartnerFunctionDTO(
            uuid="UUID_PLACEHOLDER_3",
            name="FUNCTION_NAME_3",
            description="FUNCTION_DESCRIPTION_3",
            direction="DIRECTION_TYPE_3",
            eventName="EVENT_NAME_3",
            providerName="PROVIDER_NAME_3",
            objectName="OBJECT_NAME_3",
            objectMapping="OBJECT_MAPPING_3",
            mappingId="MAPPING_ID_3",
            enabled="BOOLEAN_FLAG_3",
            preRunScriptId="SCRIPT_BEFORE_ID_3",
            postRunScriptId="SCRIPT_AFTER_ID_3",
            tag="TAG_3",
            created="CREATED_TIMESTAMP_3",
            updated="UPDATED_TIMESTAMP_3"
        ),
        PartnerFunctionDTO(
            uuid="UUID_PLACEHOLDER_4",
            name="FUNCTION_NAME_4",
            description="FUNCTION_DESCRIPTION_4",
            direction="DIRECTION_TYPE_4",
            eventName="EVENT_NAME_4",
            providerName="PROVIDER_NAME_4",
            objectName="OBJECT_NAME_4",
            objectMapping="OBJECT_MAPPING_4",
            mappingId="MAPPING_ID_4",
            enabled="BOOLEAN_FLAG_4",
            preRunScriptId="SCRIPT_BEFORE_ID_4",
            postRunScriptId="SCRIPT_AFTER_ID_4",
            tag="TAG_4",
            created="CREATED_TIMESTAMP_4",
            updated="UPDATED_TIMESTAMP_4"
        )
    ],
    pagination=PaginationDTO(
        records=TOTAL_RECORDS,
        limit=PAGE_LIMIT,
        offset=PAGE_OFFSET,
        previousPage="PREV_PAGE_URL_OR_EMPTY",
        nextPage="NEXT_PAGE_URL_OR_NULL"
    )
)

Getting Partner Function Details by ID

Function: partner_function_details()

Purpose

This SDK function retrieves the details of a specific partner function under a given integration. It calls the partner_function_details() method from the ExsitedSDK, using a valid authentication token. The function fetches configuration attributes such as name, direction, object mapping, event trigger, and other metadata associated with the partner function. This enables the user to programmatically access the setup of a particular partner function without navigating through the UI.

Parameters

ParameterTypeDescription
integration_uuidStringUnique ID of the integration connection.
partner_function_uuidStringUnique ID of the partner function to retrieve.

Use Case

This function is useful when developers or administrators need to inspect or verify the configuration of a specific partner function — for example, to confirm mappings, tags, or trigger logic. It supports debugging, validation, and display of integration metadata in custom tools or dashboards. If the provided UUIDs are invalid or access is restricted, an ABException is raised with detailed error messages and the raw backend response to facilitate troubleshooting.

def test_get_integration_partner_function_details():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())
    try:

        response = exsited_sdk.integration.partner_function_details(integration_uuid='INTEGRATION_UUID_PLACEHOLDER', partner_function_uuid='PARTNER_FUNCTION_UUID_PLACEHOLDER')
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Calling this function returns the details of a single partner function in a structured response, represented by a PartnerFunctionDetailsResponseDTO, which wraps a PartnerFunctionDTO object. This includes all configuration details such as the partner function's uuid, name, description, direction (e.g., IMPORT), eventName, providerName, objectName, and objectMapping. It also contains mapping identifiers, enabled status, optional pre- and post-run script IDs, tag, and timestamps for created and updated. This response enables consumers of the SDK to retrieve and inspect the setup of an individual partner function. If the request fails, an ABException is raised containing descriptive error information and the raw backend response for effective debugging.

PartnerFunctionDetailsResponseDTO(
    partnerFunction=PartnerFunctionDTO(
        uuid="PARTNER_FUNCTION_UUID",
        name="FUNCTION_NAME_PLACEHOLDER",
        description="FUNCTION_DESCRIPTION_PLACEHOLDER",
        direction="DIRECTION_TYPE",  # e.g., IMPORT or EXPORT
        eventName="EVENT_NAME_PLACEHOLDER",
        providerName="PROVIDER_NAME_PLACEHOLDER",
        objectName="OBJECT_NAME_PLACEHOLDER",
        mappingId="MAPPING_ID_PLACEHOLDER",
        enabled="BOOLEAN_FLAG",
        preRunScriptId="PRE_RUN_SCRIPT_ID_PLACEHOLDER",
        postRunScriptId="POST_RUN_SCRIPT_ID_PLACEHOLDER",
        tag="TAG_PLACEHOLDER",
        created="CREATED_TIMESTAMP_PLACEHOLDER",
        updated="UPDATED_TIMESTAMP_PLACEHOLDER",
        objectMapping="OBJECT_MAPPING_PLACEHOLDER"
    )
)

Getting Integration Automation List

Function: automation_list()

Purpose

This SDK function retrieves a list of automation configurations linked to a specified integration. It calls the automation_list() method from the ExsitedSDK, initializing the SDK with a valid authentication token and supplying the integration UUID. The function fetches automation metadata such as name, type (timer-based, event-based, etc.), execution frequency, trigger conditions, and direction (IMPORT/EXPORT) for each automation.

Parameters

ParameterTypeDescription
integration_uuidStringUnique ID of the integration connection.

Use Case

This function is useful when developers or integration administrators need to view all existing automations configured under a particular integration. It supports audit, monitoring, and management activities by providing details about each automation’s purpose and behavior. If the integration UUID is incorrect or inaccessible, an ABException is raised, providing backend error messages and raw response data to assist in resolution.

def test_get_integration_automation_list():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())
    try:
        response = exsited_sdk.integration.automation_list(integration_uuid='INTEGRATION_UUID_PLACEHOLDER')
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

The function returns an AutomationListResponseDTO containing a list of IntegrationAutomationDTO objects. Each object represents a configured automation under the integration and includes key details such as UUID, name, display name, code, direction (e.g., IMPORT or EXPORT), automation type (e.g., timerBased), execution interval (checkOn), trigger condition text, and partner function references. It also includes metadata like status, provider name, and timestamps for creation and updates. The response supports pagination through a PaginationDTO object, which includes information like record count, limit, offset, and navigation references. If the request encounters issues such as an invalid integration UUID or permission errors, an ABException is raised, providing descriptive error messages and backend response content to assist with resolution.

IntegrationAutomationListResponseDTO(
    integrationAutomations=[
        IntegrationAutomationDTO(
            checkOn="CHECK_INTERVAL_PLACEHOLDER",
            checkOnMinutes="CHECK_INTERVAL_MINUTES_PLACEHOLDER",
            additionalCriteria="BOOLEAN_FLAG",
            appliesTo="ENTITY_TYPE_PLACEHOLDER",
            appliesToFunction="FUNCTION_TYPE_PLACEHOLDER",
            automationType="AUTOMATION_TYPE_PLACEHOLDER",
            code="AUTOMATION_CODE_PLACEHOLDER",
            customDay="CUSTOM_DAY_PLACEHOLDER",
            customDayTime="CUSTOM_DAY_TIME_PLACEHOLDER",
            customTime="CUSTOM_TIME_PLACEHOLDER",
            description="AUTOMATION_DESCRIPTION_PLACEHOLDER",
            direction="DIRECTION_PLACEHOLDER",  # e.g., IMPORT or EXPORT
            displayName="DISPLAY_NAME_PLACEHOLDER",
            name="AUTOMATION_NAME_PLACEHOLDER",
            performFunction="FUNCTION_UUID_PLACEHOLDER",
            provider="PROVIDER_NAME_PLACEHOLDER",
            status="AUTOMATION_STATUS_PLACEHOLDER",
            uuid="AUTOMATION_UUID_PLACEHOLDER",
            triggerConditionText="TRIGGER_CONDITION_TEXT_PLACEHOLDER",
            performActionText="ACTION_TEXT_PLACEHOLDER",
            checkOnText="CHECK_INTERVAL_TEXT_PLACEHOLDER"
        )
    ],
    pagination=PaginationDTO(
        records=TOTAL_RECORDS_PLACEHOLDER,
        limit=LIMIT_PLACEHOLDER,
        offset=OFFSET_PLACEHOLDER,
        previousPage="PREVIOUS_PAGE_PLACEHOLDER",
        nextPage="NEXT_PAGE_PLACEHOLDER"
    )
)

Getting Integration Automation Details by ID

Function: automation_details()

Purpose

This SDK function retrieves the details of a specific automation configured under an integration connection. It uses the automation_details() method of the ExsitedSDK, initialized with a valid authentication token. The function requires both the integration_uuid and the automation_uuid to locate and return the full configuration of the automation, including execution settings, type, direction, criteria, and linked partner functions.

Parameters

ParameterTypeDescription
integration_uuidStringUnique ID of the integration connection.
automation_uuidStringUnique ID of the automation to retrieve details.

Use Case

This function is useful when developers or integration admins need to inspect the current configuration of an automation—such as to validate settings before updating, auditing automation behavior, or troubleshooting integration issues. It returns all relevant configuration fields so that they can be reviewed or reused in future operations.

def test_get_integration_automation_details():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False
    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(request_token_dto=CommonData.get_request_token_dto())
    try:
        response = exsited_sdk.integration.automation_details(integration_uuid="INTEGRATION_UUID_PLACEHOLDER", automation_uuid="AUTOMATION_UUID_PLACEHOLDER")
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

Retrieving automation details returns a structured response represented by an IntegrationAutomationDetailsResponseDTO, which encapsulates an IntegrationAutomationDTO containing the full configuration of the automation. This includes metadata such as the automation’s UUID, name, and code, along with technical configurations like trigger type (timerBased), execution frequency (checkOn), direction (IMPORT or EXPORT), and status (ACTIVE). It also includes contextual attributes such as which entity the automation applies to (supplier), the associated partner function (performFunction), and descriptive fields like display name and custom notes. Optional fields like performActionText and checkOnText may be null if not explicitly set. If the automation UUID is invalid or access is restricted, an ABException is thrown with diagnostic messages and the raw backend response to assist in troubleshooting.

IntegrationAutomationDetailsResponseDTO(
    integrationAutomation=IntegrationAutomationDTO(
        checkOn="CHECK_INTERVAL",
        checkOnMinutes="CHECK_INTERVAL_MINUTES",
        additionalCriteria="BOOLEAN_FLAG",
        appliesTo="ENTITY_TYPE",
        appliesToFunction="FUNCTION_TYPE",
        automationType="AUTOMATION_TYPE",
        code="AUTOMATION_CODE",
        customDay="CUSTOM_DAY",
        customDayTime="CUSTOM_DAY_TIME",
        customTime="CUSTOM_TIME",
        description="AUTOMATION_DESCRIPTION",
        direction="DIRECTION_TYPE",
        displayName="AUTOMATION_DISPLAY_NAME",
        name="AUTOMATION_NAME",
        performFunction="FUNCTION_UUID",
        provider="PROVIDER_NAME",
        status="AUTOMATION_STATUS",
        uuid="AUTOMATION_UUID",
        triggerConditionText="TRIGGER_CONDITION_LABEL",
        performActionText="ACTION_LABEL_PLACEHOLDER",
        checkOnText="CHECK_INTERVAL_LABEL"
    )
)