Skip to main content
Follow the steps in Getting started before proceeding. Oracle FLEXCUBE access: An active account in the Oracle FLEXCUBE production or test environment. Network connectivity: Verify that your network routes traffic between the Oracle FLEXCUBE environment and Grand Central iPaaS. For supported options, see Network connectivity. Environment details: You need the following environment details from Oracle FLEXCUBE to configure the connector:
ParameterDescription
flexcube-base-urlThe API endpoint URL for the Oracle FLEXCUBE environment.
flexcube-sourceThe name of the external system or source of the request.
flexcube-ubs-compThe Oracle FLEXCUBE component name for the request.
flexcube-user-idUsername for Oracle FLEXCUBE system authentication.
flexcube-branchThe financial institution branch identifier.

Configuration guide

Follow these steps to initialize and authorize your Oracle FLEXCUBE Connector.

1. Establish connectivity

Share connectivity details between Grand Central and Oracle FLEXCUBE as described in Network connectivity.
VPN connectivity to the Oracle FLEXCUBE environment must be established before proceeding with configuration.

2. Oracle FLEXCUBE authentication

The Oracle FLEXCUBE Connector uses service-based authentication for API access. To configure authentication, create a Secrets Operations (SOPS) secret. For more information, see How to create SOPS.
To share credentials between Oracle FLEXCUBE and Grand Central, consider using 1Password.

3. Environment configuration

To initialize the Oracle FLEXCUBE Connector, define the required environment variables in your gc-applications-live repository. These variables are stored in values.yaml for configuration common to all connectors, and in the following files for connector-specific configuration:
ConnectorPropertyDescription
gc-flexcube-deposit-connectordeposit-v0.values.yamlDeposit account operations
gc-flexcube-deposit-transactions-connectordeposit-transactions-v0.values.yamlDeposit transaction operations
gc-flexcube-loan-connectorloan-v0.values.yamlLoan account operations
gc-flexcube-loan-transactions-connectorloan-transactions-v0.values.yamlLoan transaction operations
gc-flexcube-party-connectorparty-v0.values.yamlParty management operations
gc-flexcube-account-inbound-connectoraccount-inbound-v0.values.yamlAccount update notifications
gc-flexcube-transaction-inbound-connectortransaction-inbound-v0.values.yamlTransaction update notifications
gc-flexcube-product-matching-connectorproduct-matching-v0.values.yamlCommon parameters for all connectors

Define common parameters

These variables are stored in values.yaml and are used across all Oracle FLEXCUBE outbound connectors (deposit, deposit-transactions, loan, loan-transactions, and party):
ParameterDescriptionExample value
flexcube.baseUrlTarget API endpoint for the Oracle FLEXCUBE environment.https://flexcube-api.yourbank.com
flexcube.sourceExternal system identifier or request source.GRANDCENTRAL
flexcube.ubsCompOracle FLEXCUBE component name for the request.FCUBS
flexcube.userIdUsername in Oracle FLEXCUBE system for the source.gc_service_user
flexcube.branchFinancial institution branch identifier.BRANCH001
retryFlagOptional: Enables retry logic (default: false).true
The following example shows the values.yaml configuration:
# Common Oracle FLEXCUBE Configuration
# Place this in: values.yaml
connector:
  properties:
    # Oracle FLEXCUBE Connection Settings
    # flexcube.baseUrl: <FlexCube_API_Endpoint>
    # flexcube.source: <External_System_Identifier>
    # flexcube.ubsComp: <Component_Name>
    # flexcube.userId: <Service_User_ID>
    # flexcube.branch: <Branch_Identifier>
    
    # Retry Configuration
    # retryFlag: <true|false>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
Place the values files at the following paths:
├── iPaaS
└── azure/runtimes
    ├── dev
    └── test
        └── values
            ├── gc-flexcube
                ├── deposit-v0.values.yaml
                ├── deposit-transactions-v0.values.yaml
                ├── loan-v0.values.yaml
                ├── loan-transactions-v0.values.yaml
                ├── party-v0.values.yaml
                ├── account-inbound-v0.values.yaml
                ├── transaction-inbound-v0.values.yaml
                └── product-matching-v0.values.yaml

Define party connector parameters

For the party connector, configure customer identification parameters based on the version you’re using: Party v0 configuration (party-v0.values.yaml):
ParameterDescriptionExample value
customer.driving-license-uid-nameUID name for driving license identification type.DRIVING LICENSE NO
customer.identity-card-uid-nameUID name for identity card identification type.IDENTITY CARD
# Party Connector v0 Configuration
# Add this to: party-v0.values.yaml
connector:
  properties:
    # Customer identification configuration
    # customer.driving-license-uid-name: <Driving_License_UID_Name>
    # customer.identity-card-uid-name: <Identity_Card_UID_Name>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
Party v2 configuration (party-v2.values.yaml):
ParameterDescriptionExample value
customer.uid-namesComma-separated list of customer UID names.IDENTITY CARD,PASSPORT
# Party Connector v2 Configuration
# Add this to: party-v2.values.yaml
connector:
  properties:
    # Customer identification configuration
    # customer.uid-names: <UID_Name1>,<UID_Name2>,...
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
These parameters define the UID names used in Oracle FLEXCUBE for different customer identification types. Party v0 uses individual properties for each identification type, while v2 uses a comma-separated list.

Define deposit connector validation

For the deposit connector, configure validation rules to ensure data integrity:
ParameterDescriptionExample value
regex.deposit-id.patternRegex pattern for validating Deposit ID format (numeric only).^[0-9]{1,20}$
regex.deposit-id.failure-messageError message displayed when validation failsThe maximum allowed length of the Deposit ID is up to 20 numeric characters.
# Deposit Connector Validation Configuration
# Add this to: deposit-v0.values.yaml
connector:
  properties:
    # Validation for Deposit ID
    # regex.deposit-id.pattern: <Regex_Pattern>
    # regex.deposit-id.failure-message: <Failure_Message>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
The Deposit ID validation accepts numeric characters only and enforces a maximum length of 20 characters.

Define deposit-transactions connector validation

For the deposit-transactions connector, configure validation rules and currency settings to ensure data integrity:
ParameterDescriptionExample value
regex.deposit-id.patternRegex pattern for validating Deposit ID format (numeric only).^[0-9]{1,20}$
regex.deposit-id.failure-messageError message displayed when validation failsThe maximum allowed length of the Deposit ID is up to 20 numeric characters.
regex.transaction-id.patternRegex pattern for validating Transaction ID format.^[a-zA-Z0-9]{1,50}$
regex.transaction-id.failure-messageError message displayed when validation fails.The maximum allowed length of the Transaction ID is up to 50 characters.
flexcube.local.currency.listComma-separated list of supported local currencies.ALL,EUR
# Deposit Transaction Validation Configuration
# Add this to: deposit-transactions-v0.values.yaml
connector:
  properties:
    # Validation for Deposit ID
    # regex.deposit-id.pattern: <Regex_Pattern>
    # regex.deposit-id.failure-message: <Failure_Message>
    # Validation for Transaction ID
    # regex.transaction-id.pattern: <Regex_Pattern>
    # regex.transaction-id.failure-message: <Failure_Message>
    # Local currency configuration
    # flexcube.local.currency.list: <Currency1>,<Currency2>,...
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
The Deposit ID validation accepts numeric characters only (max 20 characters), while Transaction ID accepts alphanumeric characters (max 50 characters).

Define account-inbound connector parameters

For real-time account update processing, configure the account-inbound-v0.values.yaml connector:
ParameterDescriptionExample value
retryFlagEnable or disable retry logic.false
ASB Configuration
asb.event.typeEvent type identifier (Backbase event specification).com.backbase.products.arrangement.event.spec.v1.DepositAccountUpdateEvent
asb.event.sourceSource system name.com.backbase.deposit
asb.event.versionEvent schema version.1.0.0
asb.event.topicAzure Service Bus topic name.deposit-updates
asb.producer.apiUriAzure Service Bus producer endpoint URI.http://asb-producer-v0.synchub-producer.svc.cluster.local
Flexcube JMS Configuration
jmsFlexCubeUrlJMS URL for Oracle FLEXCUBE notifications (T3S protocol).t3s://flexcube-jms.yourbank.com:6004
flexcube.account.update.queue.namesQueue name for account updates.NOTIF_CA_CUSTACC_MOD
flexcube.deposit.status.notif.codeNotification code for deposit status updates.NOTIF_CA_CUSTACC_MOD
flexcube.account.notif.code.headerNotification code header.NOTIF_CODE
jms.connection.factoryJMS connection factory name.BBGC_QCF
JMS Error Handling & Recovery
jms.recover.exception.http.enableEnable recovery for HTTP exceptions.true
jms.recover.exception.http.statusesHTTP status codes that trigger recovery.429,500,502,503,504
jms.recover.exception.socket.enableEnable recovery for socket exceptions.true
jms.recover.exception.general.enableEnable recovery for general exceptions.false
jms.error.http.acknowledgeAcknowledge messages on HTTP errors.false
JMS Health Check & Retry
jms.health.check.interval.secondsHealth check interval in seconds.60
jms.inactivity.threshold.msInactivity threshold in milliseconds.1800000
jms.startup.max.retriesMaximum startup retry attempts.3
jms.startup.retry.base.delay.msBase delay between retries in milliseconds.2000L
jms.startup.retry.max.delay.msMaximum delay between retries in milliseconds.30000L
JMS SSL/TLS Configuration
jms.ssl.enableEnable SSL/TLS for JMS connection.true
jms.ssl.trustStorePath to SSL truststore file./etc/camel/conf.d/_secrets/flexcube-ssl-truststore-secret/flexcube-ssl-truststore-secret.jks
# Oracle FLEXCUBE Account Inbound Connector Configuration
# Place this in: account-inbound-v0.values.yaml
connector:
  properties:
    # retryFlag: <true|false>
    
    # ASB Configuration
    # asb.event.type: <Event_Type>
    # asb.event.source: <Event_Source>
    # asb.event.version: <Event_Version>
    # asb.event.topic: <Topic_Name>
    # asb.producer.apiUri: <Producer_API_URI>
    
    # Flexcube JMS Configuration
    # jmsFlexCubeUrl: <JMS_URL>
    # flexcube.account.update.queue.names: <Queue_Names>
    # flexcube.deposit.status.notif.code: <Notification_Code>
    # flexcube.account.notif.code.header: <Header_Name>
    # jms.connection.factory: <Connection_Factory>
    
    # JMS Error Handling & Recovery
    # jms.recover.exception.http.enable: <true|false>
    # jms.recover.exception.http.statuses: <Status1>,<Status2>,...
    # jms.recover.exception.socket.enable: <true|false>
    # jms.recover.exception.general.enable: <true|false>
    # jms.error.http.acknowledge: <true|false>
    
    # JMS Health Check & Retry
    # jms.health.check.interval.seconds: <Interval_Seconds>
    # jms.inactivity.threshold.ms: <Threshold_Ms>
    # jms.startup.max.retries: <Max_Retries>
    # jms.startup.retry.base.delay.ms: <Base_Delay_Ms>
    # jms.startup.retry.max.delay.ms: <Max_Delay_Ms>
    
    # JMS SSL/TLS Configuration
    # jms.ssl.enable: <true|false>
    # jms.ssl.trustStore: <TrustStore_Path>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
The asb.event.source, asb.event.topic, flexcube.deposit.status.notif.code, and jmsFlexCubeUrl parameters are vendor-specific and may vary depending on your Oracle FLEXCUBE implementation. Verify these values with your Oracle FLEXCUBE administrator.
Critical: The jms.error.http.acknowledge parameter should be set to false by default. Setting it to true will acknowledge messages even on HTTP errors, which may result in data loss. Only change this if your specific use case requires it.
Place the values file at:
iPaaS/azure/runtimes/{runtime}/values/gc-flexcube/account-inbound-v0.values.yaml

Define transaction-inbound connector parameters

For real-time transaction update processing, configure the transaction-inbound-v0.values.yaml connector:
ParameterDescriptionExample value
retryFlagEnable or disable retry logic.false
ASB Retry Configuration
retry.statusesHTTP status codes that trigger retry for ASB.429,500,502,503,504
redelivery.backOffMultiplierBackoff multiplier for redelivery attempts.2
redelivery.delayInitial delay between redelivery attempts (ms).200
redelivery.maximumRetriesMaximum number of redelivery attempts.3
ASB Configuration
asb.event.typeEvent type identifier (Backbase event specification).com.backbase.event.spec.v1.TransactionEvent
asb.event.sourceSource system name.com.backbase.transaction
asb.event.versionEvent schema version.1.0.0
asb.event.topicAzure Service Bus topic name.transaction-updates
asb.producer.apiUriAzure Service Bus producer endpoint URI.http://asb-producer-v0.synchub-producer.svc.cluster.local
Flexcube JMS Configuration
jmsFlexCubeUrlJMS URL for Oracle FLEXCUBE notifications (T3S protocol).t3s://flexcube-jms.yourbank.com:6004
jms.concurrent.enableEnable concurrent message processing.false
jms.concurrent.threadsNumber of concurrent threads (when enabled).2
jms.concurrent.receive.reestablish.timeTime to reestablish concurrent receive (ms).1000
jms.concurrent.shutdown.waiting.timeShutdown waiting time for concurrent processing (seconds).30
flexcube.deposit.transaction.update.queue.namesQueue names for transaction updates (comma-separated).NOTIF_CA_DLYLOG_INS_Q,ATM_BLKCLOSE_NOTIF_Q,NOTIFY_SWITCH_TXN
flexcube.deposit.transaction.notif.code.headerNotification code header.NOTIF_CODE
flexcube.deposit.transaction.notif.code.valuesNotification code values (comma-separated).NOTIF_CA_DLYLOG_INS,NOTIF_SW_TRN_ATM_S,NOTIF_CA_AMTBLK_CANCEL
jms.connection.factoryJMS connection factory name.BBGC_QCF
JMS Error Handling & Recovery
jms.recover.exception.http.enableEnable recovery for HTTP exceptions.true
jms.recover.exception.http.statusesHTTP status codes that trigger recovery.429,500,502,503,504
jms.recover.exception.socket.enableEnable recovery for socket exceptions.true
jms.recover.exception.general.enableEnable recovery for general exceptions.false
jms.error.http.acknowledgeAcknowledge messages on HTTP errors.false
JMS SSL/TLS Configuration
jms.ssl.enableEnable SSL/TLS for JMS connection.true
jms.ssl.trustStorePath to SSL truststore file./etc/camel/conf.d/_secrets/flexcube-ssl-truststore-secret/flexcube-ssl-truststore-secret.jks
# Oracle FLEXCUBE Transaction Inbound Connector Configuration
# Place this in: transaction-inbound-v0.values.yaml
connector:
  properties:
    # Retry values for ASB
    # retry.statuses: <Status1>,<Status2>,...
    # redelivery.backOffMultiplier: <Multiplier>
    # redelivery.delay: <Delay_Ms>
    # redelivery.maximumRetries: <Max_Retries>
    # retryFlag: <true|false>
    
    # ASB Configuration
    # asb.event.type: <Event_Type>
    # asb.event.source: <Event_Source>
    # asb.event.version: <Event_Version>
    # asb.event.topic: <Topic_Name>
    # asb.producer.apiUri: <Producer_API_URI>
    
    # Flexcube JMS Configuration
    # jmsFlexCubeUrl: <JMS_URL>
    # jms.concurrent.enable: <true|false>
    # jms.concurrent.threads: <Thread_Count>
    # jms.concurrent.receive.reestablish.time: <Time_Ms>
    # jms.concurrent.shutdown.waiting.time: <Time_Seconds>
    # flexcube.deposit.transaction.update.queue.names: <Queue_Names>
    # flexcube.deposit.transaction.notif.code.header: <Header_Name>
    # flexcube.deposit.transaction.notif.code.values: <Notif_Code_Values>
    # jms.connection.factory: <Connection_Factory>
    
    # JMS Error Handling & Recovery
    # jms.recover.exception.http.enable: <true|false>
    # jms.recover.exception.http.statuses: <Status1>,<Status2>,...
    # jms.recover.exception.socket.enable: <true|false>
    # jms.recover.exception.general.enable: <true|false>
    # jms.error.http.acknowledge: <true|false>
    
    # JMS SSL/TLS Configuration
    # jms.ssl.enable: <true|false>
    # jms.ssl.trustStore: <TrustStore_Path>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
The asb.event.source, asb.event.topic, flexcube.deposit.transaction.notif.code.values, and jmsFlexCubeUrl parameters are vendor-specific and may vary depending on your Oracle FLEXCUBE implementation. Verify these values with your Oracle FLEXCUBE administrator.
Critical: The jms.error.http.acknowledge parameter should be set to false by default. Setting it to true will acknowledge messages even on HTTP errors, which may result in data loss. Only change this if your specific use case requires it.
Concurrent processing: By default, jms.concurrent.enable is set to false. To enable concurrent message processing, set it to true and uncomment the related configuration parameters (jms.concurrent.threads, jms.concurrent.receive.reestablish.time, jms.concurrent.shutdown.waiting.time).
Place the values file at:
iPaaS/azure/runtimes/{runtime}/values/gc-flexcube/transaction-inbound-v0.values.yaml

Testing the connector

After configuration, test the connector using the API key authentication:
HeaderValue
api-key<your_subscription_key>
Test the API using the Postman Collection.

Troubleshooting

If your connector isn’t responding as expected, check these common scenarios.
Cause: The Grand Central gateway cannot establish a handshake with the Oracle FLEXCUBE endpoint. This typically indicates an upstream service outage at Oracle or a network routing failure.Solution: Verify the operational status of the Oracle FLEXCUBE environment. Check Oracle’s status page or contact Oracle support. If the service is operational, contact Grand Central Support.
Cause: The request to Oracle FLEXCUBE exceeded the configured timeout period. This may indicate performance issues at Oracle or network latency problems.Solution: Verify the operational status of the Oracle FLEXCUBE environment and check for any performance degradation. If the service is operational and performing normally, contact Grand Central Support.
Cause: VPN connectivity to the Oracle FLEXCUBE environment has not been established or has been interrupted.Solution: Verify VPN connectivity and ensure routing is properly configured between Grand Central and Oracle FLEXCUBE.
Cause: The JMS URL for the Oracle FLEXCUBE notification system is incorrect or the queue is unreachable.Solution: Verify the jmsFlexCubeUrl configuration and ensure the queue name is correctly specified.
Cause: The authentication credentials provided during setup are incorrect, expired, or the user lacks the required permissions in Oracle FLEXCUBE.Solution: Re-verify your credentials with your Oracle FLEXCUBE administrator, and ensure the user has the required permissions. Contact the Grand Central team to update the connection credentials if needed.
Cause: The number of incoming requests exceeds the defined threshold for your subscription tier. This “429 Too Many Requests” response protects the stability of the Grand Central and Oracle FLEXCUBE infrastructure.Solution: Review your app’s request patterns to identify unexpected spikes. If you need higher throughput, contact the Grand Central team to request a higher rate limit.

Need more help?

Contact support

Contact the Grand Central team for help with environment setup or rate limit increases.