> ## Documentation Index
> Fetch the complete documentation index at: https://grandcentral.backbase.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Reference

> Configuration properties, operations, events, and error mapping for the Oracle FLEXCUBE connectors.

The Oracle FLEXCUBE integration is delivered as several runtime connectors, each configured in its own `values.yaml` file. The deposit, loan, party, and product matching connectors are outbound (synchronous). The account and transaction inbound connectors consume Oracle FLEXCUBE JMS notifications and publish events to the Sync Hub ASB producer. For setup steps, see [Get started](/connectors/core-banking/oracle-flexcube/get-started).

| Connector                                   | Property file                                  | Purpose                                         |
| :------------------------------------------ | :--------------------------------------------- | :---------------------------------------------- |
| `gc-flexcube-deposit-connector`             | `deposit-v0.values.yaml`                       | Deposit account operations                      |
| `gc-flexcube-deposit-transaction-connector` | `deposit-transactions-v0.values.yaml`          | Deposit transaction operations                  |
| `gc-flexcube-loan-connector`                | `loan-v0.values.yaml`                          | Loan account operations                         |
| `gc-flexcube-loan-transaction-connector`    | `loan-transactions-v0.values.yaml`             | Loan transaction operations                     |
| `gc-flexcube-party-connector`               | `party-v0.values.yaml`, `party-v2.values.yaml` | Party management operations                     |
| `gc-flexcube-product-matching-connector`    | `product-matching-v0.values.yaml`              | Deposit maturity simulation                     |
| `gc-flexcube-account-inbound-connector`     | `account-inbound-v0.values.yaml`               | Account and loan update notifications (inbound) |
| `gc-flexcube-transaction-inbound-connector` | `transaction-inbound-v0.values.yaml`           | Transaction update notifications (inbound)      |

## Configuration properties

### Values to obtain from Oracle FLEXCUBE

Obtain the following values from Oracle FLEXCUBE and set them in `values.yaml`. These values are environment-specific, so they have no default.

| Property           | Description                                                               |
| :----------------- | :------------------------------------------------------------------------ |
| `flexcube.baseUrl` | Target API endpoint for the Oracle FLEXCUBE environment.                  |
| `flexcube.source`  | External system identifier or request source, for example `GRANDCENTRAL`. |
| `flexcube.ubsComp` | Oracle FLEXCUBE component name for the request, for example `FCUBS`.      |
| `flexcube.userId`  | Username in Oracle FLEXCUBE for the source.                               |
| `flexcube.branch`  | Financial institution branch identifier.                                  |

<Note>
  The connectors authenticate to Oracle FLEXCUBE with credentials stored in a SOPS secret. The inbound connectors also read an SSL truststore from a SOPS secret for JMS connections. For details, see [Get started](/connectors/core-banking/oracle-flexcube/get-started).
</Note>

### Common properties

Set these properties in `values.yaml`. They apply across all Oracle FLEXCUBE outbound connectors.

| Property                        | Description                                                 | Default       |
| :------------------------------ | :---------------------------------------------------------- | :------------ |
| `coreMessageVisibility`         | Surface the core system error message to the caller.        | `true`        |
| `retryFlag`                     | Enable automatic request retries on connection failure.     | `false`       |
| `retryStatuses`                 | HTTP status codes that trigger a retry.                     | `429,502,503` |
| `backOffMultiplier`             | Backoff multiplier for redelivery attempts.                 | `2`           |
| `redelivery.delay`              | Initial delay between redelivery attempts, in milliseconds. | `200`         |
| `redelivery.maximumRetries`     | Maximum number of redelivery attempts.                      | `3`           |
| `cxf.client.connect.timeout`    | Connection timeout in milliseconds.                         | `5000`        |
| `cxf.client.receive.timeout`    | Receive timeout in milliseconds.                            | `10000`       |
| `cxf.client.proxy.activate`     | Route outbound calls through the corporate HTTP proxy.      | `false`       |
| `thread.profile.core.pool.size` | Core thread pool size.                                      | `20`          |
| `thread.profile.max.pool.size`  | Maximum thread pool size.                                   | `20`          |

### gc-flexcube-party-connector

Set these properties in `party-v0.values.yaml` and `party-v2.values.yaml`.

| Property                                              | Description                                                                                                                                                          | Default |
| :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
| `get-accounts-by-party-id.current-savings.enabled`    | Include current and savings accounts in the `getAccountsByPartyId` response.                                                                                         | `true`  |
| `get-accounts-by-party-id.term-deposits.enabled`      | Include term deposits in the `getAccountsByPartyId` response.                                                                                                        | `true`  |
| `get-accounts-by-party-id.loans.enabled`              | Include loans in the `getAccountsByPartyId` response.                                                                                                                | `true`  |
| `customer.uid-names`                                  | Optional. Comma-separated list of customer UID names used for identification, for example `IDENTITY CARD,PASSPORT`. Commented by default; uncomment per environment. | N/A     |
| `customer.driving-license-uid-name`                   | UID name for the driving license identification type (party v0), for example `DRIVING LICENSE NO`.                                                                   | N/A     |
| `customer.identity-card-uid-name`                     | UID name for the identity card identification type (party v0), for example `IDENTITY CARD`.                                                                          | N/A     |
| `person.identifications.identification-type.passport` | Optional. Passport identification type value used for person identification. Commented by default; uncomment per environment.                                        | N/A     |

### gc-flexcube-deposit-connector

Set these properties in `deposit-v0.values.yaml`.

| Property                                         | Description                                                                                                                                      | Default                                                              |
| :----------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- |
| `regex.deposit-id.pattern`                       | Validation pattern for deposit identifiers (alphanumeric).                                                                                       | `^[a-zA-Z0-9]{1,20}$`                                                |
| `regex.deposit-id.failure-message`               | Message returned when deposit ID validation fails.                                                                                               | The maximum allowed length of the Deposit ID is up to 20 characters. |
| `product.secondaryProductId.<TEMENOS_CODE>.type` | Optional. Maps a term deposit product code to a Grand Central type, for example `TERM_DEPOSIT`. Commented by default; uncomment per environment. | N/A                                                                  |

### gc-flexcube-deposit-transaction-connector

Set these properties in `deposit-transactions-v0.values.yaml`, in addition to the common properties.

| Property                               | Description                                                                                                                              | Default |
| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :------ |
| `flexcube.local.currency.list`         | Optional. Comma-separated list of supported local currencies, for example `ALL,EUR`. Commented by default; uncomment per environment.    | N/A     |
| `regex.deposit-id.pattern`             | Optional. Validation pattern for deposit identifiers, for example `^[a-zA-Z0-9]{1,20}$`. Validation is off unless you set a pattern.     | N/A     |
| `regex.deposit-id.failure-message`     | Message returned when deposit ID validation fails.                                                                                       | N/A     |
| `regex.transaction-id.pattern`         | Optional. Validation pattern for transaction identifiers, for example `^[a-zA-Z0-9]{1,20}$`. Validation is off unless you set a pattern. | N/A     |
| `regex.transaction-id.failure-message` | Message returned when transaction ID validation fails.                                                                                   | N/A     |

### gc-flexcube-loan-connector

Set these properties in `loan-v0.values.yaml`, in addition to the common properties.

| Property                                               | Description                                                                                                  | Default                                                            |
| :----------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- |
| `flexcube.rest.calculateLoanRepaymentUri`              | Oracle FLEXCUBE REST API path for calculating a loan repayment.                                              | `/api-gateway/api/s5/ConsumerLendingLoanPayment/CreateLoanPayment` |
| `errorTemplate`                                        | JOLT template used to transform Oracle FLEXCUBE error details.                                               | `flexcube-transform-error-details.json`                            |
| `flexcube.rest.baseUrl`                                | Optional. Target endpoint for the Oracle FLEXCUBE REST API. Commented by default; uncomment per environment. | N/A                                                                |
| `fieldsToBeReplaced`                                   | Optional. Comma-separated fields for product ID mapping. Commented by default; uncomment per environment.    | N/A                                                                |
| `productArrangement.secondaryProductId.<TEMENOS_CODE>` | Optional. Maps an Oracle FLEXCUBE product code to a Grand Central product ID for the loan response.          | N/A                                                                |

### gc-flexcube-loan-transaction-connector

The loan transaction connector uses the common properties. It has no additional connector-specific properties documented in [Get started](/connectors/core-banking/oracle-flexcube/get-started).

### gc-flexcube-product-matching-connector

The product matching connector runs deposit maturity simulations and uses the common properties. It has no additional connector-specific properties documented in [Get started](/connectors/core-banking/oracle-flexcube/get-started).

### gc-flexcube-account-inbound-connector

Set these properties in `account-inbound-v0.values.yaml`. This connector consumes Oracle FLEXCUBE account and loan update notifications over JMS and publishes account and loan update events to the Sync Hub ASB producer.

| Property                               | Description                                                                                                  | Default                                                                     |
| :------------------------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |
| `retryFlag`                            | Enable automatic request retries.                                                                            | `false`                                                                     |
| `retry.statuses`                       | HTTP status codes that trigger a retry for ASB.                                                              | `429,500,502,503,504`                                                       |
| `redelivery.backOffMultiplier`         | Backoff multiplier for redelivery attempts.                                                                  | `2`                                                                         |
| `redelivery.delay`                     | Initial delay between redelivery attempts, in milliseconds.                                                  | `200`                                                                       |
| `redelivery.maximumRetries`            | Maximum number of redelivery attempts.                                                                       | `3`                                                                         |
| `asb.event.type`                       | ASB event type for account updates.                                                                          | `com.backbase.products.arrangement.event.spec.v1.DepositAccountUpdateEvent` |
| `asb.event.source`                     | ASB source for account update events.                                                                        | `com.backbase.account`                                                      |
| `asb.event.version`                    | ASB schema version for account update events.                                                                | `1.0.0`                                                                     |
| `asb.event.topic`                      | ASB topic for account update events.                                                                         | `account-updates`                                                           |
| `asb.loan.event.topic`                 | ASB topic for loan update events.                                                                            | `loan-updates`                                                              |
| `asb.producer.apiUri`                  | Callback URI of the Sync Hub ASB producer.                                                                   | `http://asb-producer-v0.synchub-producer.svc.cluster.local`                 |
| `jmsFlexCubeUrl`                       | JMS URL for Oracle FLEXCUBE notifications.                                                                   | N/A (environment-specific)                                                  |
| `jms.connection.factory`               | JMS connection factory name, for example `NotifQCF`.                                                         | N/A                                                                         |
| `flexcube.account.update.queue.names`  | Comma-separated JMS queue names for account and loan updates, for example `FCUBS_NOTIF_EXT,LOANS_NOTIF_EXT`. | N/A                                                                         |
| `flexcube.deposit.balance.notif.code`  | Notification code for deposit balance updates, for example `NOTIF_CA_ACBALTXN`.                              | N/A                                                                         |
| `flexcube.deposit.status.notif.code`   | Notification code for deposit status updates, for example `NOTIF_CA_CUSTACC_STAT`.                           | N/A                                                                         |
| `flexcube.loan.status.notif.code`      | Notification code for loan status updates, for example `NOTIF_CL_ACCOUNT_LIQ`.                               | N/A                                                                         |
| `flexcube.account.notif.code.header`   | Notification code header.                                                                                    | `NOTIF_CODE`                                                                |
| `jms.recover.exception.http.statuses`  | HTTP status codes that trigger recovery.                                                                     | `429,500,502,503,504`                                                       |
| `jms.recover.exception.socket.enable`  | Enable recovery for socket exceptions.                                                                       | `true`                                                                      |
| `jms.recover.exception.general.enable` | Enable recovery for general exceptions.                                                                      | `false`                                                                     |
| `jms.error.http.acknowledge`           | Acknowledge messages on HTTP errors. Keep `false` to avoid data loss.                                        | `false`                                                                     |
| `cxf.client.proxy.activate`            | Route outbound calls through the corporate HTTP proxy.                                                       | `false`                                                                     |
| `jms.health.check.interval.seconds`    | Health check interval in seconds.                                                                            | `60`                                                                        |
| `jms.inactivity.threshold.ms`          | Inactivity threshold in milliseconds before the connector logs a warning.                                    | `300000`                                                                    |
| `jms.startup.max.retries`              | Maximum startup retry attempts.                                                                              | `3`                                                                         |
| `jms.startup.retry.base.delay.ms`      | Base delay between startup retries in milliseconds.                                                          | `2000`                                                                      |
| `jms.startup.retry.max.delay.ms`       | Maximum delay between startup retries in milliseconds.                                                       | `30000`                                                                     |
| `jms.ssl.enable`                       | Enable SSL/TLS for the JMS connection.                                                                       | `false`                                                                     |
| `jms.ssl.trustStore`                   | Path to the SSL truststore file. Required only when `jms.ssl.enable` is `true`.                              | N/A                                                                         |

This connector publishes both account updates and loan updates. The event type, source, and topic properties are shared for account updates; loan updates use the same event type and source with the separate `asb.loan.event.topic` property.

<Warning>
  Keep `jms.error.http.acknowledge` set to `false` for this connector and the transaction-inbound connector. Setting it to `true` acknowledges messages even on HTTP errors, which can result in data loss.
</Warning>

### gc-flexcube-transaction-inbound-connector

Set these properties in `transaction-inbound-v0.values.yaml`. This connector consumes Oracle FLEXCUBE transaction update notifications over JMS (T3S protocol) and publishes transaction update events to the Sync Hub ASB producer.

| Property                                    | Description                                                                                   | Default                                                     |
| :------------------------------------------ | :-------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |
| `retryFlag`                                 | Enable automatic request retries.                                                             | `false`                                                     |
| `retry.statuses`                            | HTTP status codes that trigger a retry for ASB.                                               | `429,500,502,503,504`                                       |
| `redelivery.backOffMultiplier`              | Backoff multiplier for redelivery attempts.                                                   | `2`                                                         |
| `redelivery.delay`                          | Initial delay between redelivery attempts, in milliseconds.                                   | `200`                                                       |
| `redelivery.maximumRetries`                 | Maximum number of redelivery attempts.                                                        | `3`                                                         |
| `asb.event.type`                            | ASB event type for transaction updates.                                                       | `com.backbase.event.spec.v1.DepositTransactionEvent`        |
| `asb.event.source`                          | ASB source for transaction update events.                                                     | `com.backbase.transaction`                                  |
| `asb.event.version`                         | ASB schema version for transaction update events.                                             | `1.0.0`                                                     |
| `asb.event.topic`                           | ASB topic for transaction update events.                                                      | `transaction-updates`                                       |
| `asb.producer.apiUri`                       | Callback URI of the Sync Hub ASB producer.                                                    | `http://asb-producer-v0.synchub-producer.svc.cluster.local` |
| `jmsFlexCubeUrl`                            | JMS URL for Oracle FLEXCUBE notifications, for example `t3s://HOST:PORT`.                     | N/A (environment-specific)                                  |
| `jms.concurrent.enable`                     | Enable concurrent message processing.                                                         | `false`                                                     |
| `jms.concurrent.threads`                    | Number of concurrent threads when concurrent processing is enabled.                           | `2`                                                         |
| `jms.concurrent.receive.reestablish.time`   | Time to reestablish concurrent receive, in milliseconds.                                      | `1000`                                                      |
| `jms.concurrent.shutdown.waiting.time`      | Shutdown waiting time for concurrent processing, in seconds.                                  | `30`                                                        |
| `flexcube.transaction.update.queue.names`   | Comma-separated JMS queue names for transaction updates, for example `NOTIF_CA_DLYLOG_INS_Q`. | N/A                                                         |
| `flexcube.transaction.notif.code.header`    | Notification code header.                                                                     | `NOTIF_CODE`                                                |
| `flexcube.transaction.notif.code.values`    | Comma-separated notification code values, for example `NOTIF_CA_DLYLOG_INS`.                  | N/A                                                         |
| `flexcube.transaction.queue.message.isJson` | Whether the queue message payload is JSON instead of XML.                                     | `false`                                                     |
| `jms.connection.factory`                    | JMS connection factory name, for example `BBGC_QCF`.                                          | N/A                                                         |
| `jms.recover.exception.http.enable`         | Enable recovery for HTTP exceptions.                                                          | `true`                                                      |
| `jms.recover.exception.http.statuses`       | HTTP status codes that trigger recovery.                                                      | `429,500,502,503,504`                                       |
| `jms.recover.exception.socket.enable`       | Enable recovery for socket exceptions.                                                        | `true`                                                      |
| `jms.recover.exception.general.enable`      | Enable recovery for general exceptions.                                                       | `false`                                                     |
| `jms.error.http.acknowledge`                | Acknowledge messages on HTTP errors. Keep `false` to avoid data loss.                         | `false`                                                     |
| `jms.ssl.enable`                            | Enable SSL/TLS for the JMS connection.                                                        | `false`                                                     |
| `jms.ssl.trustStore`                        | Path to the SSL truststore file. Required only when `jms.ssl.enable` is `true`.               | N/A                                                         |

The `flexcube.transaction.update.queue.names`, `flexcube.transaction.notif.code.values`, and `jmsFlexCubeUrl` values are environment-specific. Verify them with your Oracle FLEXCUBE administrator. `jmsFlexCubeUrl` uses the T3S protocol for this connector; the account-inbound connector's sample configuration uses an HTTPS URL instead, so confirm the expected protocol for your environment.

## Supported operations

The Oracle FLEXCUBE connectors expose the Grand Central Unified API. For the operation-to-endpoint tables per domain (deposit, deposit transactions, loan, loan transactions, party, product matching) and per API version, see [Overview](/connectors/core-banking/oracle-flexcube/overview). For the full contract, see the [unified API specifications](/connectors/reference/unified-api-specifications).

## Events

Of the eight connectors, only the two inbound connectors publish or consume events. The deposit, deposit transaction, loan, loan transaction, party, and product matching connectors are synchronous and don't publish or consume events.

### gc-flexcube-account-inbound-connector

This connector consumes Oracle FLEXCUBE account and loan update JMS notifications and publishes an account update event to the Sync Hub ASB producer. It publishes the following event:

| Event          | Type property    | Source property    | Version property    | Topic property    |
| :------------- | :--------------- | :----------------- | :------------------ | :---------------- |
| Account update | `asb.event.type` | `asb.event.source` | `asb.event.version` | `asb.event.topic` |

It consumes messages from the following source:

| Source                                             | Route mapping property                |
| :------------------------------------------------- | :------------------------------------ |
| Oracle FLEXCUBE account and loan update JMS queues | `flexcube.account.update.queue.names` |

### gc-flexcube-transaction-inbound-connector

This connector consumes Oracle FLEXCUBE transaction update JMS notifications and publishes a transaction update event to the Sync Hub ASB producer. It publishes the following event:

| Event              | Type property    | Source property    | Version property    | Topic property    |
| :----------------- | :--------------- | :----------------- | :------------------ | :---------------- |
| Transaction update | `asb.event.type` | `asb.event.source` | `asb.event.version` | `asb.event.topic` |

It consumes messages from the following source:

| Source                                       | Route mapping property                    |
| :------------------------------------------- | :---------------------------------------- |
| Oracle FLEXCUBE transaction update JMS queue | `flexcube.transaction.update.queue.names` |

## Error mapping

The connector maps Oracle FLEXCUBE error codes to Grand Central status codes. For the full list, see [Error codes](/connectors/reference/error-codes). No connector-specific overrides exist for these connectors.

## Dependencies

* Oracle FLEXCUBE REST API (outbound), reachable at `flexcube.baseUrl`.
* Oracle FLEXCUBE JMS queues (inbound), reachable at `jmsFlexCubeUrl`, for account, loan, and transaction notifications.
* Sync Hub ASB producer, which receives the published account and transaction update events.
* `flexcube-connector-sdk` (shared HTTP and JMS configuration and Oracle FLEXCUBE error code mapping).
