### Install React Native SDK Package Source: https://docs.finbox.in/device-connect/react-native.html Install the `react-native-risk-sdk` package using either NPM or Yarn. ```bash npm install --save react-native-risk-sdk ``` ```bash yarn add react-native-risk-sdk ``` -------------------------------- ### Install Cordova Plugin Source: https://docs.finbox.in/bank-connect/cordova.html Install the BankConnect Cordova SDK using npm. This command adds the necessary plugin to your Cordova project. ```bash cordova plugin add cordova-plugin-finbox-bankconnect ``` -------------------------------- ### Install React Native Risk SDK via NPM Source: https://docs.finbox.in/bank-connect/react-native.html Install the react-native-risk-sdk package using npm. This is a prerequisite for integrating the Bank Connect SDK. ```bash npm install --save react-native-risk-sdk ``` -------------------------------- ### Start Periodic Sync Source: https://docs.finbox.in/device-connect/react-native.html Initiates background syncing for all data sources. Should be called after `createUser`. ```APIDOC ## startPeriodicSync ### Description Initiates background syncing for all data sources based on user permissions. Data is synced at regular intervals in the background. ### Method `startPeriodicSync(intervalInHours: number)` ### Parameters #### Path Parameters - **intervalInHours** (number) - Required - The interval in hours after which data should be synced periodically. ### Request Example ```javascript FinBoxRiskSdk.startPeriodicSync(12); ``` ``` -------------------------------- ### Start BankActivity and Listen for Result (Java) Source: https://docs.finbox.in/session-flow/android.html Use `registerForActivityResult` to launch `BankActivity` and handle the result. The result is parsed by `parseActivityResult`. ```java @NonNull private final ActivityResultLauncher result = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), this::parseActivityResult); // Start Bank Activity result.launch(new Intent(this, BankActivity.class)); ``` -------------------------------- ### Start BankActivity and Listen for Result (Kotlin) Source: https://docs.finbox.in/session-flow/android.html Use `registerForActivityResult` to launch `BankActivity` and handle the result. The result is parsed by `parseActivityResult`. ```kotlin private val result = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { // Parse the result parseActivityResult(it) } // Start Bank Activity result.launch(Intent(this, BankActivity::class.java)) ``` -------------------------------- ### Install React Native Risk SDK via Yarn Source: https://docs.finbox.in/bank-connect/react-native.html Install the react-native-risk-sdk package using Yarn. This is an alternative to npm for installing the Bank Connect SDK's dependencies. ```bash yarn add react-native-risk-sdk ``` -------------------------------- ### Show SDK Screen Source: https://docs.finbox.in/session-flow/ionic-capacitor.html Initiate the Bank Connect UI flow and set up callbacks to handle the results of the user's interaction. ```APIDOC ## Show SDK Screen Start Bank Screen and listen for the result ```typescript // Show BankConnect UI IonicBankConnectSdk.showBankConnect((error: any) => { // error callback }, (entityId: any, sessionId: any) => { // Success callback }); ``` ``` -------------------------------- ### Initialize Bank Connect SDK Source: https://docs.finbox.in/bank-connect/flutter.html Call `initSdk` with your client API key and optional parameters to start the bank connection process. Ensure all required parameters are provided and date formats are correct. ```dart FinBoxBcPlugin.initSdk( "CLIENT_API_KEY", "FROM_DATE", // Optional: Default 6 months old date "TO_DATE", // Optional: Default value 1 day less than current date "BANK_NAME", // Optional: Short code of the bank "MODE", // Optional: PDF Mode "MOBILE_NUMBER", // Optional: Mobile number "JOURNEY_MODE", // Optional: Multi PDF journey "AA_JOURNEY_MODE", // Optional: Recurring AA pulls "AA_RECURRING_TENURE_MONTH_COUNT", // Optional: Consent duration is valid for 3 months "AA_RECURRING_FREQUENCY_UNIT", // Optional: Frequency value is in Days "AA_RECURRING_FREQUENCY_VALUE" // Optional: Number of times to pull the data ); ``` -------------------------------- ### Get Session Status Source: https://docs.finbox.in/session-flow/fetch-data.html This section describes how to get the status of a session and the possible error responses. ```APIDOC ## Get Session Status This operation retrieves the status of a given session. **Error Response:** ```json { "error": { "code": "SESSION_NOT_FOUND", "message": "The provided session ID is invalid" } } ``` **Possible Error Codes:** - PDF_IS_IMAGE: Scanned images are not supported. - EXTRACTION_FAILED: Failed to extract information from the statement. - OUT_OF_DATE_RANGE: The statement uploaded is beyond the specified date range. - STATEMENT_NO_TRANSACTIONS: No transactions were identified in the uploaded statement. - BANK_NAME_UNDETECTED: Bank name could not be identified. ``` -------------------------------- ### Webhook Success Payload Example Source: https://docs.finbox.in/session-flow/upload-status.html Example of the payload received when an upload is completed and the webhook is triggered. ```APIDOC ## Webhook Success Payload ### Description This is an example of the JSON payload received by your configured webhook URL upon successful completion of a user's upload. ### Response Example ```json { "session_id": "136b1aa3-4610-4d0a-89f3-03078a2fce92", "event_name": "SESSION_REQUIREMENT_COMPLETION_NOTIFICATION/SESSION_EXPIRY_NOTIFICATION", "message": "Upload Completed", "accounts": [ { "account_id": "d35b9df1-871d-43d1-b6c1-67ded2c2e8e5", "account_number": "XXXXXXXXXXXX3135", "bank_name": "axis", "created_at": "2025-11-13 06:48:44", "last_updated_at": "2025-11-13 06:48:44", "statements": [ { "statement_id": "bc04560a-d06c-4a51-b412-031b692ecf6f", "statement_status": "completed", "error_code": null, "error_message": null, "source": "pdf", "upload_file_name": "168c64e6-3d12-40c0-9ffb-2c02d59fe84c_axis.pdf", "statement_date_range": { "from_date": "11/08/2025", "to_date": "10/11/2025" }, "created_at": "2025-11-13 06:48:43.660968+00:00" } ], "account_status": "PARTIAL", "months": [ "2025-08", "2025-09", "2025-10", "2025-11" ], "missing_data": [] } ], "session_date_range": { "from_date": "11/08/2025", "to_date": "11/11/2025" } } ``` ``` -------------------------------- ### Error Response Example Source: https://docs.finbox.in/session-flow/submit-data-backend.html This is an example of an error response from the upload API, indicating a session-related issue. ```json { "session_id":"", "statement_id":"", "error": { "code": "SESSION_NOT_FOUND", "message": "The provided Session ID is invalid" } } ``` -------------------------------- ### Initialize SDK Source: https://docs.finbox.in/bank-connect/flutter.html Initialize the BankConnect SDK with your API key and other optional parameters to start the bank statement fetching journey. ```APIDOC ## Initialize SDK Use the `initSdk` method to initialize the BankConnect SDK. This method requires your `CLIENT_API_KEY` and accepts several optional parameters to customize the user experience and data fetching. ### Method Signature ```dart FinBoxBcPlugin.initSdk( String apiKey, String fromDate, // Optional: Default 6 months old date String toDate, // Optional: Default value 1 day less than current date String bankName, // Optional: Short code of the bank String mode, // Optional: PDF Mode String mobileNumber, // Optional: Mobile number String journeyMode, // Optional: Multi PDF journey String aaJourneyMode, // Optional: Recurring AA pulls String aaRecurringTenureMonthCount, // Optional: Consent duration is valid for 3 months String aaRecurringFrequencyUnit, // Optional: Frequency value is in Days String aaRecurringFrequencyValue // Optional: Number of times to pull the data ); ``` ### Parameters | Builder Property | Description | Required | |---|---|---| | `apiKey` | specifies the `api_key` | Yes | | `linkId` | specifies the `link_id` | Yes | | `fromDate` | specifies the starting period of the statement in `DD/MM/YYYY` format | No | | `toDate` | specifies the end period of the statement in `DD/MM/YYYY` format | No | | `bank` | pass the bank identifier to skip the bank selection screen and directly open a that bank's screen instead | No | | `mode` | set the mode as pdf (manual upload) or aa (Account Aggregator) or online (Net Banking) | No | | `mobile_number` | Prefills phone number in Account Aggregator mode | No | | `journey_mode` | Optional parameter to set the journey (i.e.multi_pdf or multi_banking) | No | | `aa_journey_mode` | set the journey mode for AA (i.e only_once or only_recurring) | No | | `aa_recurring_tenure_month_count` | set the recurring consent duration (min: 1 and max: 24) | No | | `aa_recurring_frequency_unit` | set the frequency unit to pull the data during the recurring consent duration (year, month, day, hour) | No | | `aa_recurring_frequency_value` | set the frequency value to pull the data during the recurring consent duration (min: 1 and max: 3) | No | ### Date Range `fromDate` and `toDate` specify the period for which the statements will be fetched. If not provided, the default date range is 6 months from the current date. It should be in `DD/MM/YYYY` format. ### Minimal Requirements 1. `apiKey` is mandatory. 2. `linkId` is mandatory and should be at least 8 characters long. 3. If `fromDate` / `toDate` are provided, ensure they are in the correct `DD/MM/YYYY` format. 4. `fromDate` must always be less than `toDate`. 5. `toDate` cannot be today's date; the maximum possible value is today's date - 1 day. Once these conditions are met, the BankConnect object will build successfully. A `RunTimeException` will be thrown during project build if any checks fail. ``` -------------------------------- ### Create User with DeviceConnect SDK (Java) Source: https://docs.finbox.in/device-connect/android.html Initiate user creation by calling the `createUser` method with your client API key and a unique customer ID. Handle success and error responses via the `FinBoxAuthCallback`. ```java FinBox.createUser("CLIENT_API_KEY", "CUSTOMER_ID", new FinBoxAuthCallback() { @Override public void onSuccess(@NonNull String accessToken) { // Authentication is success } @Override public void onError(@FinBoxErrorCode int error) { // Authentication failed } }); ``` -------------------------------- ### Get Expense Categories Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Get expense category wise percentage distribution of transaction amounts for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/get_expense_categories/ ### Description Get expense category wise percentage distribution of transaction amounts for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/get_expense_categories/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Create User with DeviceConnect SDK (Kotlin) Source: https://docs.finbox.in/device-connect/android.html Initiate user creation by calling the `createUser` method with your client API key and a unique customer ID. Handle success and error responses via the `FinBoxAuthCallback`. ```kotlin FinBox.createUser("CLIENT_API_KEY", "CUSTOMER_ID", object : FinBoxAuthCallback { override fun onSuccess(accessToken: String) { // Authentication is success } override fun onError(@FinBoxErrorCode errorCode: Int) { // Authentication failed } }) ``` -------------------------------- ### Install Ionic Risk SDK via Yarn Source: https://docs.finbox.in/device-connect/ionic-capacitor.html Install the Ionic Risk SDK package using Yarn. This command adds the SDK to your project's dependencies. ```bash yarn add ionic-risk-sdk ``` -------------------------------- ### Initialize FinBox SDK Source: https://docs.finbox.in/session-flow/flutter.html Initializes the FinBox SDK with provided API key and optional parameters to configure the session. The SDK handles statement fetching and data aggregation. ```APIDOC ## Initialize FinBox SDK ### Description Initializes the FinBox SDK with your API key and optional parameters to configure the user's financial data session. This method sets up the SDK for fetching bank statements and other financial information. ### Method Signature ```dart FinBoxBcPlugin.initSdk( String apiKey, String? fromDate, String? toDate, String? bankName, String? mode, String? mobileNumber, String? journeyMode, String? aaJourneyMode, int? aaRecurringTenureMonthCount, String? aaRecurringFrequencyUnit, int? aaRecurringFrequencyValue ); ``` ### Parameters #### Required Parameters - **apiKey** (String): Your unique client API key. - **linkId** (String): A unique identifier for the link. #### Optional Parameters - **fromDate** (String): The start date for fetching statements in `DD/MM/YYYY` format. Defaults to 6 months prior to the current date. - **toDate** (String): The end date for fetching statements in `DD/MM/YYYY` format. Defaults to one day before the current date. - **bankName** (String): A short code for a specific bank to pre-select it. If provided, the bank selection screen is skipped. - **mode** (String): Specifies the mode of operation: `pdf` (manual upload), `aa` (Account Aggregator), or `online` (Net Banking). - **mobileNumber** (String): Prefills the mobile number field in Account Aggregator mode. - **journeyMode** (String): Configures the user journey, options include `multi_pdf` or `multi_banking`. - **aaJourneyMode** (String): Sets the Account Aggregator journey type: `only_once` or `only_recurring`. - **aaRecurringTenureMonthCount** (int): The duration in months for which the recurring consent is valid (min: 1, max: 24). - **aaRecurringFrequencyUnit** (String): The unit for the data pull frequency during recurring consent (e.g., `year`, `month`, `day`, `hour`). - **aaRecurringFrequencyValue** (int): The value for the data pull frequency during recurring consent (min: 1, max: 3). ### Builder Property Details | Property Name | Description | Required | |---|---|---| | `apiKey` | Specifies the `api_key` | Yes | | `linkId` | Specifies the `link_id` | Yes | | `fromDate` | Specifies the starting period of the statement in `DD/MM/YYYY` format | No | | `toDate` | Specifies the end period of the statement in `DD/MM/YYYY` format | No | | `bank` | Pass the bank identifier to skip the bank selection screen and directly open that bank's screen | No | | `mode` | Set the mode as `pdf` (manual upload), `aa` (Account Aggregator), or `online` (Net Banking) | No | | `mobile_number` | Prefills phone number in Account Aggregator mode | No | | `journey_mode` | Optional parameter to set the journey (e.g., `multi_pdf` or `multi_banking`) | No | | `aa_journey_mode` | Set the journey mode for AA (e.g., `only_once` or `only_recurring`) | No | | `aa_recurring_tenure_month_count` | Set the recurring consent duration (min: 1 and max: 24) | No | | `aa_recurring_frequency_unit` | Set the frequency unit to pull the data during the recurring consent duration (year, month, day, hour) | No | | `aa_recurring_frequency_value` | Set the frequency value to pull the data during the recurring consent duration (min: 1 and max: 3) | No | ### Date Range Requirements - `fromDate` and `toDate` define the period for statement fetching. - If not provided, the default date range is 6 months from the current date. - Dates must be in `DD/MM/YYYY` format. - `fromDate` must be earlier than `toDate`. - `toDate` cannot be the current date; the maximum allowed value is the day before the current date. ### Minimal Requirements for SDK to Work 1. `apiKey` is mandatory. 2. `linkId` is mandatory and must be at least 8 characters long. 3. If `fromDate` or `toDate` are provided, they must be in the correct `DD/MM/YYYY` date format. 4. `fromDate` must always be less than `toDate`. 5. `toDate` must not be the current date; it should be at most one day prior to the current date. Upon meeting these conditions, the `BankConnect` object will be built successfully. ``` -------------------------------- ### Install Ionic Risk SDK via NPM Source: https://docs.finbox.in/device-connect/ionic-capacitor.html Install the Ionic Risk SDK package using npm. This command adds the SDK to your project's dependencies. ```bash npm install --save ionic-risk-sdk ``` -------------------------------- ### Get Salary Transactions Endpoint Source: https://docs.finbox.in/bank-connect/rest-api.html Use this GET endpoint to retrieve extracted salary transactions for a given entity. Authentication requires `x-api-key` and `server-hash` headers. An optional `account_id` query parameter can filter results for a specific account. ```http GET https://apis.bankconnect.finbox.in/bank-connect/v1/entity/`` /salary/ ``` -------------------------------- ### Start Bank Activity (Kotlin) Source: https://docs.finbox.in/bank-connect/android.html Launches the Bank Activity and registers a callback to handle the result. Ensure `BankActivity` is declared in your AndroidManifest.xml. ```kotlin /** * Activity Result */ private val result = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { // Parse the result parseActivityResult(it) } // Start Bank Activity result.launch(Intent(this, BankActivity::class.java)) ``` -------------------------------- ### Calculation in Progress Source: https://docs.finbox.in/device-connect/insights-api.html Indicates that the data processing has started and is currently in progress. ```APIDOC ## Case 1 - Calculation in Progress ### Description The request input is correct and data processing started. ### HTTP Status Code 202 ### Response Body ```json { "customer_id": "A145BC6312B50CA2B58233288F81C02114A6A74E9A62482169F9F", "request_id": "abcd-def-dfdf-xcds1", "date_requested": "2019-01-03T06:37:44:003", "status": "in_progress", "message": "Featurization in Progress, please try again in 10 Seconds" } ``` ``` -------------------------------- ### Add DeviceConnect Web SDK Dependency Source: https://docs.finbox.in/device-connect/web.html Install the SDK using either yarn or npm package managers. This step is required before using any SDK functionalities. ```bash yarn add web-risk-sdk ``` ```bash npm install --save web-risk-sdk ``` -------------------------------- ### Get Predictors Source: https://docs.finbox.in/bank-connect/rest-api.html Retrieves account-wise predictors for a given entity. This is currently in beta. ```APIDOC ## GET /bank-connect/v1/entity/``/predictors/ ### Description Give **account wise** predictors for a given entity. ### Method GET ### Endpoint https://apis.bankconnect.finbox.in/bank-connect/v1/entity/``/predictors/ ### Authentication Request headers `x-api-key` with API Key as value and `server-hash` with Server Hash as value must be present in request. ``` -------------------------------- ### List Entities Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Get a paginated list of all entities created within the system. ```APIDOC ## GET /bank-connect/v1/entity/ ### Description List of entities created (paginated). ### Method GET ### Endpoint /bank-connect/v1/entity/ ``` -------------------------------- ### Create User and Start Sync in React Native Source: https://docs.finbox.in/device-connect/react-native.html Use the `FinBoxRiskSdk.createUser` method to create a user and then initiate periodic synchronization. Ensure `CUSTOMER_ID` is alphanumeric and under 64 characters. ```javascript import FinBoxRiskSdk from 'react-native-risk-sdk'; //Function to trigger RiskSdk const callModule = () => { FinBoxRiskSdk.createUser( "CLIENT_API_KEY", "CUSTOMER_ID", (errorStatus) => { // Error Callback console.log("Error status -> ", errorStatus) }, (msg) => { // Success Callback, Call the periodic sync once the user has been created console.log("Final message", msg) FinBoxRiskSdk.startPeriodicSync(12) //Start the sync periodically after every 12 hour } ) } ``` -------------------------------- ### Configure iOS SDK Properties Source: https://docs.finbox.in/device-connect/flutter.html Set up access keys and SDK versions in the `xcode.env` file for iOS integration. ```env ACCESS_KEY= SECRET_KEY= DC_SDK_VERSION= ``` -------------------------------- ### Get Lender Transactions Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch Lender Transactions for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/lender_transactions/ ### Description Fetch Lender Transactions for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/lender_transactions/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Set Up Device Matching Source: https://docs.finbox.in/device-connect/react-native.html Enables on-device pattern recognition for email, phone numbers, and names without sending sensitive data off the device. Call this method before starting syncs. ```javascript FinBoxRiskSdk.setDeviceMatch("useremail@gmail.com", "Full Name", "9999999999"); ``` -------------------------------- ### Get Recurring Transactions Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch recurring transactions for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/recurring_transactions/ ### Description Fetch recurring transactions for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/recurring_transactions/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Get Salary Transactions Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch salary transactions for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/salary/ ### Description Fetch salary transactions for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/salary/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Create User with DeviceConnect SDK Source: https://docs.finbox.in/device-connect/web.html Call the `createUser` method with your `CLIENT_API_KEY` and a unique `CUSTOMER_ID`. The `CUSTOMER_ID` must be alphanumeric, not exceed 64 characters, and cannot be null or empty. Success or failure is handled via callbacks. ```javascript FinBox.createUser("CLIENT_API_KEY", "CUSTOMER_ID", (token) => { // Authentication is success console.log("Token", token) }, (error) => { // Authentication failed console.log("Error", error) }) ``` -------------------------------- ### Create User Source: https://docs.finbox.in/device-connect/ios.html Creates a user and initiates the authentication process. Requires a Client API Key and a Customer ID. The Customer ID must be alphanumeric, not exceed 64 characters, and cannot be null or an empty string. ```APIDOC ## Create User To create a user, call the `createUser` method with the following arguments: * Client API Key * Customer ID **IMPORTANT** * `CUSTOMER_ID` Must be **alphanumeric** (no special characters). * Should not exceed **64** characters. * Must not be `null` or an empty string `""`. The response to this method (success or failure) can be captured using the callback. ### Swift ```swift Finbox.createUser(apiKey: "API_KEY", customerId: "CUSTOMER_ID") { token in // Authentication is success } error: { code in // Authentication failed } ``` ``` -------------------------------- ### Get Transactions Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch all transactions (combined for all accounts) for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/transactions/ ### Description Fetch transactions (combined for all accounts) for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/transactions/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Start Periodic Sync Source: https://docs.finbox.in/device-connect/android.html Initiates background syncing for all data sources. Invoke after a successful createUser response. Ensures continuous data collection. ```kotlin FinBox.startPeriodicSync() ``` ```java FinBox.startPeriodicSync(); ``` -------------------------------- ### Get Identity Information Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch identity information for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/identity/ ### Description Fetch identity information for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/identity/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Credit Transaction Example (Salary) Source: https://docs.finbox.in/session-flow/fetch-data.html Details a credit transaction categorized as salary. ```json { "transaction_type": "credit", "transaction_note": "MUTHOOT FINANCE/Q1 BRANCH GROWTH INCENTIVE", "amount": 10126.0, "balance": 10454.0, "date": "2025-08-14 00:00:00", "transaction_channel": "salary", "hash": "630ead350c368d10fbc2310f7905d5c3", "merchant_category": "", "description": "Transfer from MUTHOOT FINANCE", "category": "Salary" } ``` -------------------------------- ### Debit Transaction Example Source: https://docs.finbox.in/session-flow/fetch-data.html Illustrates the structure of a single debit transaction record. ```json { "transaction_type": "debit", "transaction_note": "UPI/P2A/675418412265/ANANDA P /UPI/INDIAN OVERSEAS BANK", "amount": 210.0, "balance": 10244.0, "date": "2025-08-14 00:00:00", "transaction_channel": "upi", "hash": "8ea36e4a46556e27cb205cef46c41c9f", "merchant_category": "", "description": "self_transfer", "category": "Self Transfer" } ``` -------------------------------- ### Start Periodic Data Sync Source: https://docs.finbox.in/device-connect/react-native.html Initiates background syncing for all data sources. Invoke only after a successful `createUser` response. The argument specifies the sync interval in hours. ```javascript FinBoxRiskSdk.startPeriodicSync(12) ``` -------------------------------- ### Start Periodic Sync Source: https://docs.finbox.in/device-connect/android.html Initiates background syncing for all data sources. This method should be called after a successful `createUser` callback. It ensures continuous data collection at regular intervals. ```APIDOC ## startPeriodicSync ### Description Initiates background syncing for all data sources based on user permissions. Data is synced at regular intervals in the background. ### Method `FinBox.startPeriodicSync()` ### Usage Recommendation Call `createUser` first, then `startPeriodicSync` to resume data syncing for a new user, minimizing potential delays. ``` -------------------------------- ### Get Monthly Analysis Source: https://docs.finbox.in/finbox_bankconnect.postman_collection.json Fetch monthly analysis data for a given entity ID. ```APIDOC ## GET /bank-connect/v1/entity/{{entity_id}}/monthly_analysis/ ### Description Fetch monthly analysis data for a given `entity_id`. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/entity/{{entity_id}}/monthly_analysis/ ### Path Parameters - **entity_id** (string) - Required - The unique identifier for the entity. ``` -------------------------------- ### Add Dependency Source: https://docs.finbox.in/device-connect/android.html Configure your project-level and module-level build files to include the DeviceConnect SDK and its dependencies. ```APIDOC ## Add Dependency In the project level `build.gradle` file or `settings.gradle`, add the repository URLs to all `allprojects` block or `repositories` block inside `dependencyResolutionManagement`. ### Repository Configuration (Kotlin) ```kotlin maven { setUrl("s3://risk-manager-android-sdk/artifacts") credentials(AwsCredentials::class) { accessKey = secretKey = } content { includeGroup("in.finbox") } } ``` ### Repository Configuration (Groovy) ```groovy maven { url "s3://risk-manager-android-sdk/artifacts" credentials(AwsCredentials) { accessKey = secretKey = } content { includeGroup("in.finbox") } } ``` Now add the dependency to module level `build.gradle.kts` or `build.gradle` file: ### Module Dependencies (Kotlin) ```kotlin implementation("in.finbox:mobileriskmanager::-release@aar") { isTransitive = true } implementation("in.finbox:common::-release@aar") { isTransitive = true } implementation("in.finbox:logger::parent-release@aar") { isTransitive = true } ``` ### Module Dependencies (Groovy) ```groovy implementation('in.finbox:mobileriskmanager::-release@aar') { transitive = true } implementation ('in.finbox:common::-release@aar') { transitive = true } implementation ('in.finbox:logger::parent-release@aar') { transitive = true } ``` **Note:** The following values will be provided by the FinBox team during integration: `ACCESS_KEY`, `SECRET_KEY`, `DC_SDK_VERSION`, `DC_FLAVOR`, `COMMON_SDK_VERSION`, `COMMON_FLAVOR`, `LOGGER_SDK_VERSION`, `CLIENT_API_KEY`. ``` -------------------------------- ### Get PDFs Source: https://docs.finbox.in/finbox_bankconnect_session.postman_collection.json Fetch PDF URLs, bank, and password for all statements in a given entity_id. ```APIDOC ## GET /bank-connect/v1/session_data/{{session_id}}/get_pdfs/ ### Description Fetch pdf urls, bank and password for all statements in a given `entity_id` ### Method GET ### Endpoint /bank-connect/v1/session_data/{{session_id}}/get_pdfs/ ### Headers - x-api-key: {{x-api-key}} - server-hash: {{server-hash}} ``` -------------------------------- ### Add SDK Dependency (Groovy) Source: https://docs.finbox.in/bank-connect/android.html Include the BankConnect hybrid SDK in your module's build file. Replace `` with the actual version provided by the FinBox team. ```groovy implementation('in.finbox.bankconnect:hybrid::release@aar') { transitive = true } ``` -------------------------------- ### Get Processing Progress Source: https://docs.finbox.in/finbox_bankconnect_session.postman_collection.json Retrieves the progress status of the bank statement processing for a given session. ```APIDOC ## GET /bank-connect/v1/session_data/{{session_id}}/progress/ ### Description Fetches the processing progress for a given session. This endpoint provides updates on the status of the bank statement analysis. ### Method GET ### Endpoint {{base_url}}/bank-connect/v1/session_data/{{session_id}}/progress/ ### Parameters #### Path Parameters - **session_id** (string) - Required - The unique identifier for the session. #### Headers - **x-api-key** (string) - Required - Your FinBox API key. - **server-hash** (string) - Required - Server hash for authentication. ```