Configuring config.json
Siebel Open Integration configuration is driven by config.json. You
can configure the connection details for the Siebel Server and specify the Siebel CRM
artifacts that you want to expose through REST, in config.json.
The installer creates a template file named config-template.jsonin the
<INSTALL_DIR>/openint-deploydirectory. You must copy the
config-template.jsonfile in the same folder and rename the copy as
config.json.
You must configure the following sections in config.json:
app: Use theappsection to configure how Siebel Open Integration connects to the Siebel Server, the port at which Open Integration start, and the path of the transaction metrics.apigen: Use theapigensection to define which Siebel CRM artifacts you want to expose through REST. Siebel Open Integration uses this section to generate and deploy REST APIs based on artifacts in your Siebel application, such as applets, business components, business services, and workflows.eps: Useepsto define EPS and Kafka event settings. It is optional, but when present, it must follow the schema.
The app Section Parameters
You must use the appsection to configure how Siebel Open Integration
connects to the Siebel Server. It includes the following parameters:
| Parameter | Section | Description |
|---|---|---|
| siebel | app | Thissection includes the information to connect to Siebel Server. |
| useCG | app> siebel | Usethis parameter to specify where Siebel Open Integration gets the connection string from: · Set to trueto fetch the connection string from Cloud Gateway by using cg-url. · Set to false to use the value in connect-string. |
| cg-url | app> siebel | (Requiredif the useCG parameter is set to true.) Use this parameter to specify the Cloud GatewayURL. |
| connect-string | app> siebel | (Requiredif the useCGparameter is set to false.) Use this parameter to specify the connection string that Siebel Open Integration uses to connect to Siebel. |
| loginpath | app> siebel | Usethis parameter to specify the relative URLfor the Siebel application that handles UI requests. For example: /siebel/app/ callcenter/enu. |
| context | app | Use this parameter to specify the first path segmentin Siebel Open Integration REST URLs. For example, oracle. |
| port | app | Usethis parameter to specify the port on which the Open Integration server starts. For example, 8433. |
| metrics-path | app | Use this parameter to specify the file system locationwhere the Open Integration server stores transactions. |
The apigen Section Parameters
Usethe apigensectionto define which Siebel CRM artifacts you want to
expose through REST. You can configure the following resources under the
apigensection:
- The
resourcessection to specify the artifacts that Open Integration exposes through REST APIs. Provide each artifact in the appropriate section based on its type:openintegration/v1.0/ui:List view and applet pairs to expose UI-based resources. The REST API executes auiquery within the specified View and Applet scope. The query follows the user’s roles and responsibilities.For example, to fetch data from the View All Account List View and the Applet SIS Account Entry Applet, specify that View and Applet pair in the ui section as follows:All Account ListView/SIS Account Entry AppletAfter you deploy the Open Integration service, you can use the provided URL to fetch data from the server that runs the service. For example:
https://<hostname:port>/<oracle>/openintegration/v1.0/ui/Account/All Account List View/SIS Account Entry AppletFor more information and examples, see AppletAPIs (CRUD Operations)
openintegration/v1.0/data: List business object and business component pairs to access Siebel CRM Business Objects. For example,Account/Account/. For more information and examples, see topic Business Object APIs.openintegration/v1.0/workflow: List Siebel workflows that you want to expose as REST APIs. For example,EAISiebDemoand
.For more information and examples, see topic Workflow APIs.ISS Promotion WS - ApplyProductPromotion – Orderopenintegration/v1.0/service: List Siebel business services that you want to expose through REST APIs. For example,SiebelAccount/Insert.For more information and examples, see topic Business Service APIs.
- The
apigen.integration-domainssection to specify the Integration Domains associated with the Open Integration project. Add each Integration Domain that the project uses to expose, organize, or manage integration-related artifacts. If the project does not use any Integration Domains, you can omit this section.
apigen.externalREST and
apigen.outboundEvents are defined in domain files under
integration-configurations/<Domain>/domain-configurations/,
not in the base config.json file.The eps Section Parameters
You must use the epssection to configure the Kafka event settings.
It includes the following parameters:
| Parameter | Section | Description |
|---|---|---|
| SecureAIEgressServer | eps | Use this parameter to specify whether the AI Egress server uses secure communication. Set the value to true to enable secure communication or false to disable it. |
| SecureAIToKafkaCommunication | eps | Use this parameter to specify whether communication between AI services and Kafka uses secure transport. Set the value to true to enable secure communication. When enabled, you must also configure the Kafka keystore, truststore, and password parameters. |
| AIEgressPort | eps | Use this parameter to specify the port on which the AI Egress server listens for connections. |
| KafkaServers | eps | Use this parameter to specify the Kafka bootstrap servers that Open Integration uses to connect to the Kafka cluster |
| KafkaKeyStoreName | eps | (Required if SecureAIToKafkaCommunication is set to true.) Use this parameter to specify the keystore file that contains the client certificate and private key used for secure Kafka communication. |
| KafkaKeyStorePassword | eps | (Required if SecureAIToKafkaCommunication is set to true.) Use this parameter to specify the password for the Kafka keystore. |
| KafkaTrustStoreName | eps | (Required if SecureAIToKafkaCommunication is set to true.) Use this parameter to specify the truststore file that contains the trusted certificates used to validate Kafka server certificates. |
| KafkaTrustStorePassword | eps | (Required if SecureAIToKafkaCommunication is set to true.) Use this parameter to specify the password for the Kafka truststore. |
| KafkaPassword | eps | (Required if SecureAIToKafkaCommunication is set to true.) Use this parameter to specify the password used for Kafka authentication. |
| aieventconfig | eps | This section contains the AI event processing configuration. |
| ConfigParam |
eps > aieventconfig
|
This section contains the configuration parameters used for AI event processing and Kafka integration. |
| SynchronousKafkaProduce | eps > aieventconfig > ConfigParam | Use this parameter to specify whether Kafka messages are produced synchronously. Set the value to true to wait for message delivery confirmation before continuing processing. |
| BaseSiebelComponent | eps > aieventconfig > ConfigParam | This section contains the default Siebel component configuration used for event processing. |
| Alias | eps > aieventconfig > ConfigParam > BaseSiebelComponent | Use this parameter to specify the alias of the Siebel component. |
| SessionPoolSize | eps > aieventconfig > ConfigParam > BaseSiebelComponent | Use this parameter to specify the number of Siebel sessions maintained in the session pool. |
| User | eps > aieventconfig > ConfigParam > BaseSiebelComponent | Use this parameter to specify the number of Siebel sessions maintained in the session pool. |
| Password | eps > aieventconfig > ConfigParam > BaseSiebelComponent | Use this parameter to specify the password for the Siebel user account. |
| SessionTime | eps > aieventconfig > ConfigParam > BaseSiebelComponent | Use this parameter to specify the session timeout value for Siebel sessions. |
| NumberOfProducers | eps > aieventconfig > ConfigParam | Use this parameter to specify the number of Kafka producer instances created for event publishing. |
| KafkaProducerMaxRequestSize | eps > aieventconfig > ConfigParam | Use this parameter to specify the maximum request size, in bytes, that a Kafka producer can send. |
| KafkaTopicConsumerFetchMaxBytes | eps > aieventconfig > ConfigParam | Use this parameter to specify the maximum amount of data, in bytes, that a Kafka consumer can retrieve in a single fetch request. |
| KafkaConsumerPollInterval | eps > aieventconfig > ConfigParam | Use this parameter to specify the interval used by Kafka consumers when polling for messages. |
| Events | eps > aieventconfig > ConfigParam | This section contains the list of event definitions processed by the AI event framework. |
| EventStore | eps > aieventconfig > ConfigParam > Events | Use this parameter to specify the event store associated with the event configuration. |
| NumberOfConsumers | eps > aieventconfig > ConfigParam > Events | Use this parameter to specify the number of Kafka consumer instances assigned to the event. |
| KafkaConsumerGroupId | eps > aieventconfig > ConfigParam > Events |
Use this parameter to specify the Kafka consumer group identifier used by consumers for the event.
|
| SiebelComponent | eps > aieventconfig > ConfigParam > Events | This section contains Siebel component settings that apply specifically to the event configuration. |
| Alias | eps > aieventconfig > ConfigParam > Events > SiebelComponent | Use this parameter to specify the alias of the Siebel component used for the event. |
| SessionPoolSize | eps > aieventconfig > ConfigParam > Events > SiebelComponent | Use this parameter to specify the number of Siebel sessions maintained in the session pool for the event. |
| KafkaConsumerPollInterval | eps > aieventconfig > ConfigParam > Events > SiebelComponent | Use this parameter to specify the polling interval used by the Kafka consumer for the event. |
| User | eps > aieventconfig > ConfigParam > Events > SiebelComponent |
Use this parameter to specify the Siebel user name used to establish sessions for the event.
|
| Password | eps > aieventconfig > ConfigParam > Events > SiebelComponent | Use this parameter to specify the password for the Siebel user account. |
| SessionTime | eps > aieventconfig > ConfigParam > Events > SiebelComponent | Use this parameter to specify the session timeout value for the event-specific Siebel sessions. |
Sample config.json
{
"Openint": {
"client": {
"tls": {
"private-key": {
"keystore": {
"resource": {
"resource-path": "siebelclientkeystore.jks"
},
"type": "JKS",
"passphrase": "client",
"key": {
"alias": "siebel"
},
"idp": {
"alias": "idp-signing-key",
"oi": {
"key": {
"alias": "openint-key-2026"
}
}
}
}
}
}
},
"server": {
"shutdown-grace-period": "PT15S",
"tls": {
"trust": {
"keystore": {
"resource": {
"resource-path": "siebeltruststore.jks"
},
"type": "JKS",
"passphrase": "siebel",
"trust-store": true
}
},
"private-key": {
"keystore": {
"resource": {
"resource-path": "siebelserverkeystore.jks"
},
"type": "JKS",
"passphrase": "server",
"key": {
"alias": "siebel"
}
}
}
},
"features": {
"security": {
"paths": [
{
"path": "/openintegration/v1.0/[{+path}/]{last:(?!describe$)[^/]+}[/]",
"methods": [
"get",
"post",
"put",
"delete"
],
"authenticate": true,
"authorize": true,
"abac": {
"scopes": [
"read"
]
}
}
]
}
}
},
"cache": {
"enabled": false,
"cluster-name": "siebel",
"request-timeout": "2s",
"tlsEnabled": true,
"wka": [
"127.0.0.1"
]
},
"threshold": {
"ui-connection-threshold": 75
},
"integrations": {
"jsonata": {
"pool": {
"max-size": 16,
"core-size": 4,
"acquire-timeout-millis": 250,
"idle-ttl-millis": 300000,
"cleanup-interval-millis": 30000
}
}
},
"tracing": {
"enabled": false,
"service": "open-integration",
"otlp-protocol": "grpc",
"protocol": "http",
"host": "localhost",
"port": 4317,
"sampler-type": "const",
"sampler-param": 1,
"propagation": "b3",
"tags": {
"env": "development"
}
},
"security": {
"enabled": false,
"config": {
"require-encryption": false
},
"providers": [
{
"abac": {}
},
{
"oidc": {
"identity-uri": "IDCS URL",
"client-id": "IDCS Client ID",
"client-secret": "IDCS Client Secret",
"audience": "openintv2_",
"server-type": "idcs",
"redirect": false,
"header-use": true
}
}
]
},
"restrictive-cors": {
"allow-origins": [],
"allow-methods": []
},
"cors": {
"paths": [
{
"path-pattern": [],
"allow-origins": [],
"allow-methods": []
}
]
}
},
"Profile": {
"ProfileName": "phoenix21234220441"
},
"ConfigParam": {
"Applications": [
{
"Name": "callcenter",
"Language": "enu",
"ObjectManager": "sccobjmgr_enu",
"MaxTasks": 100,
"AuthenticationProperties": {
"UserSpec": "SBL_REMOTE_USER",
"TrustToken": "ldap",
"SingleSignOn": true,
"AnonUserName": "GUESTCST",
"SessionTimeout": 300,
"GuestSessionTimeout": 300
}
}
],
"RESTInBound": {
"MaxConnections": 20,
"RESTAuthenticationProperties": {
"TrustToken": "ldap",
"AnonUserName": "GUESTCST",
"UserSpec": "SBL_REMOTE_USER"
},
"ObjectManager": "eaiobjmgr_enu"
}
}
}
config-template.json file shows inline
help as commented example strings, but JSON does not support comments. For the
app section, replace every placeholder with an actual value.
For apigen, if you do not want to configure a resource type (for
example: workflow), remove the entire entry instead of leaving the placeholder text.
Otherwise, the pipeline can fail with an “expected resources are not found”
error.You can use the ui section to list View and Applet pairs.
The REST API executes a ui query within the specified View and
Applet scope. The query follows the user’s roles and responsibilities.