> ## 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.

# Get started

> Quick start guide for OBPM Batch Connector integration

Before initiating the configuration, ensure you have the following credentials and connectivity in place:

* Make sure that you have followed [Get started with connectors](/connectors/getting-started), [Get started with SFTP](/connectors/getting-started) and [Get started with Azure Blob Storage](/connectors/getting-started).
* **OBPM access:** An active account in the Oracle Banking Payments Manager environment.
* **Network connectivity:** Confirmed routing between the Oracle environment and the Grand Central (GC) iPaaS. We support these [Network Connectivities](/platform/network-connectivity).

***

## Configuration guide

Follow these steps to initialize and authorize your OBPM Connector.

### 1. Establishing connectivity

Share the details to and from **Grand Central and OBPM** as mentioned on the [Network connectivity](/platform/network-connectivity) page for your chosen network connection.

### 2. Environment configuration

<Info>
  Set up the Azure Blob component as described in [Azure Blob](/platform/sync-hub/overview). You can obtain the Azure Blob variables by configuring Azure Blob. This is a mandatory component for this functionality.
</Info>

<Info>
  Set up the SFTP component as described in [SFTP](/platform/sync-hub/overview). Use the environmental keys defined in the prerequisites for configuring SFTP. This is a mandatory component for this functionality.
</Info>

<Info>
  Set up the sync-hub component as described in [Sync Hub](/platform/sync-hub/overview). You can obtain the ASB variables by configuring Sync Hub. This is a mandatory component for this functionality.
</Info>

To initialize the OBPM Batch Connector, you must define specific environment variables within your `gc-applications-live` repository.

These variables are stored in `batch-payment-v0-values.yaml` for outbound batch connector to send files from **Grand Central** to **Azure Blob** and `batch-inbound-payment-v0-values.yaml `for inbound batch connector to fetch files from **Azure Blob** to **Grand Central**

For the full property list for each connector, including defaults and descriptions, see [Reference](/connectors/payments/obpm-batch/reference).

### Define outbound parameters

These variables are used for connecting **Grand Central to Azure Blob** for sending the file.

| batch-payment-v0-values.yaml              | Description                                              |
| ----------------------------------------- | :------------------------------------------------------- |
| `azure.storage.account.name`              | azure blob storage account name                          |
| `azure.storage.container.metadata.name`   | azure blob storage meta data folder name                 |
| `azure.storage.container.aggregated.name` | azure blob storage aggregation folder name               |
| `asb.event.version`                       | Version of the Async Service Bridge (ASB) schema.        |
| `asb.producer.apiUri`                     | The ASB URI to send confirmation to send chunks of data. |
| `asb.event.topic`                         | The ASB topic to send messages.                          |
| `asb.event.type`                          | The ASB event type to send messages.                     |
| `asb.event.source`                        | The ASB source to send messages.                         |

Below is a sample `batch-payment-v0-values.yaml`:

```yaml theme={"system"}
# Sample OBPM Batch Payment Connector 
connector:

  customLabels:
      app.gcservices.io/synchub-enabled: "true"
      app.gcservices.io/synchub-type: "producer"

  properties:
    # Azure Storage Configuration
    azure.storage.account.name: wiremock-obpm-payments
    azure.storage.container.metadata.name: payment-batch-temp
    azure.storage.container.aggregated.name: payment-batch

    # ASB Configuration
    asb.event.type: com.backbase.paymentbatchintegration.event.spec.v1.BatchStatusUpdateV1Event
    asb.event.source=: com.backbase.payments
    asb.event.version: 1.0.0
    asb.batch.status.update.event.topic: batch-orders
    asb.producer.apiUri: http://wiremock-obpm-payments.gc-obpm.svc.cluster.local:9021

  accessControl:
    enabled: true
    permissionScopes:
      - roleDefinitionName: "storage_blob_data_contributor"
        resourceName: "storage-blob-container-payment-batch-temp"
      - roleDefinitionName: "storage_blob_data_contributor"
        resourceName: "storage-blob-container-payment-batch"

  traits:
    knativeservice:
      # IMPORTANT: Cost-related. Keeping minScale >0 causes continuous cost even when idle.
      # With minScale: 0, each request grants 30 min uptime (extended if new requests arrive).
      # Use >0 only if hot start is required, and reset to 0 afterward to avoid unnecessary cost.
      minScale: 3
    logging:
      # DEBUG adds significant log output during startup and runtime.
      # This can noticeably slow down starts due to extra logging work and I/O.
      # Use only for troubleshooting and disable when not needed.
      level: INFO
```

<Info>
  **CustomLabels:** CustomLabels are part of the Sync Hub setup. Once Sync Hub is enabled, adding the customLabels to the connector automatically invokes the Sync Hub URLs.
</Info>

<Info>
  **AccessControl:** Manage Identity as mentioned in this [reference](/platform/developer-guides/build/overview) is used to authenticate with the azure blob storgae. By default while setting up the azure blob storage the manage identity credentials will be created and adding the lines mentioned in the example above, you can invoke the azure blob and access control to your connector
</Info>

Below is the path where the `batch-payment-v0-values.yaml` needs to be placed:

```
├── iPaaS
└── azure/runtimes
    ├── dev
    └── test
        └── values
            ├── gc-obpm
                └── batch-payment-v0-values.yaml.yaml
```

### Define inbound parameters

These variables are used for connecting **Grand Central to Azure Blob** for monitoring the file and sending payment status to **Sync Hub**.

| batch-inbound-payment-v0-values.yaml          | Description                                               |
| --------------------------------------------- | :-------------------------------------------------------- |
| `azure.storage.account.name`                  | azure blob storage account name                           |
| `azure.storage.container.metadata.name`       | azure blob storage meta data folder name                  |
| `azure.storage.container.aggregated.name`     | azure blob storage aggregation folder name                |
| `asb.producer.apiUri`                         | The callback URI for receiving incoming events.           |
| `asb.batch.status.update.event.topic`         | The ASB topic to send messages for batch status updates   |
| `asb.batch.payment.status.update.event.topic` | The ASB topic to send messages for payment status updates |
| `asb.batch.status.update.event.type`          | The ASB event type to send messages for batch status      |
| `asb.batch.payment.status.update.event.type`  | The ASB event type to send messages for payment status    |
| `asb.event.source`                            | The ASB source to send messages.                          |
| `asb.event.version`                           | Version of the Async Service Bridge (ASB) schema.         |
| `asb.event.type`                              | Event type of the Async Service Bridge (ASB) schema.      |

Below is a sample `batch-inbound-payment-v0-values.yaml`:

```yaml theme={"system"}
# Sample OBPM Batch inbound Payment Connector 
connector:
	
  customLabels:
      app.gcservices.io/synchub-enabled: "true"
      app.gcservices.io/synchub-type: "producer"

  properties:

    # Azure Storage Configuration
	azure.storage.account.url: https://wiremock-obpm-payments.blob.core.windows.net
    azure.storage.account.name: wiremock-obpm-payments
    azure.storage.container.batch.updates.name: payment-batch-updates
    azure.storage.container.batch.updates.error.name: payment-batch-updates-error

    # ASB Configuration
    asb.batch.status.update.event.type: com.backbase.paymentbatchintegration.event.spec.v1.BatchStatusUpdateEvent
    asb.batch.payment.status.update.event.type: com.backbase.paymentbatchintegration.event.spec.v1.BatchPaymentStatusUpdateEvent
    asb.batch.status.update.event.topic: batch-orders
    asb.batch.payment.status.update.event.topic: batch-payments
    asb.producer.apiUri: http://wiremock-obpm-payments.gc-obpm.svc.cluster.local:9021
	asb.event.type: com.backbase.paymentbatchintegration.event.spec.v1.BatchStatusUpdateV1Event
    asb.event.source: com.backbase.payments
    asb.event.version: 1.0.0  

  accessControl:
    enabled: true
    permissionScopes:
      - roleDefinitionName: "storage_blob_data_contributor"
        resourceName: "storage-blob-container-payment-batch-temp"
      - roleDefinitionName: "storage_blob_data_contributor"
        resourceName: "storage-blob-container-payment-batch"

  traits:
    knativeservice:
      # IMPORTANT: Cost-related. Keeping minScale >0 causes continuous cost even when idle.
      # With minScale: 0, each request grants 30 min uptime (extended if new requests arrive).
      # Use >0 only if hot start is required, and reset to 0 afterward to avoid unnecessary cost.
      minScale: 0
    logging:
      # DEBUG adds significant log output during startup and runtime.
      # This can noticeably slow down starts due to extra logging work and I/O.
      # Use only for troubleshooting and disable when not needed.
      level: INFO
```

<Info>
  **CustomLabels:** Custom labels are part of the Sync Hub setup. Once Sync Hub is enabled, adding the custom labels in the connector automatically invokes the Sync Hub URLs.
</Info>

<Info>
  **AccessControl:** Managed Identity, as mentioned in this [reference](/platform/developer-guides/build/overview), is used to authenticate with Azure Blob Storage. By default, when setting up Azure Blob Storage, the managed identity credentials are created. By adding the lines mentioned in the example above, you can invoke Azure Blob and access control for your connector.
</Info>

Below is the path where the `batch-inbound-payment-v0-values.yaml` needs to be placed:

```
├── iPaaS
└── azure/runtimes
    ├── dev
    └── test
        └── values
            ├── gc-obpm
                └── batch-inbound-payment-v0-values.yaml.yaml
```

## Testing your integration

To access the Payments Unified API, you must include your Grand Central subscription key in the request header. If you do not have a key, please contact the Grand Central Support Team to have one provisioned.

| Key       | Value                     |
| :-------- | :------------------------ |
| `api-key` | `<your_subscription_key>` |

<Info>
  **Inbound Status Testing:** For testing the inbound connector, after configuring the SFTP component as mentioned in the prerequisites, you can automatically get the status message in the Sync Hub service bus.
</Info>

Test the API using the [Postman collection](.).

## Troubleshooting

If your connector isn't responding as expected, check these common scenarios.

<AccordionGroup>
  <Accordion title="5XX: Internal server error / Core system is down" icon="lock">
    **Cause:** The Grand Central (GC) gateway cannot establish a handshake with the OBPM endpoint. This typically indicates an upstream service outage at Oracle or a network routing failure.

    **Solution:** Verify the operational status of the OBPM environment with Oracle. If the service is operational, contact [GC Support](mailto:gc_support@backbase.com).
  </Accordion>

  <Accordion title="5XX: Timeout from core / Read timeout / SocketTimeoutException" icon="wifi-slash">
    **Cause:** The Grand Central (GC) gateway cannot establish a handshake with the OBPM endpoint. This typically indicates an upstream service outage at Oracle or a network routing failure.

    **Solution:** Verify the operational status of the OBPM environment with Oracle. If the service is operational, contact [GC Support](mailto:gc_support@backbase.com).
  </Accordion>

  <Accordion title="Invalid OAuth token" icon="key">
    **Cause:** The `client_id` or `client_secret` provided during setup is incorrect.

    **Solution:** Re-verify your credentials with the Oracle portal and contact the GC team to update the connection.
  </Accordion>

  <Accordion title="429: Rate limit exceeded" icon="gauge-high">
    **Cause:** The number of incoming requests has exceeded the defined threshold for your subscription tier. This "429 Too Many Requests" response is a protective measure to ensure the stability of the Grand Central and Core Banking infrastructure.

    **Solution:** Review your application's request patterns to identify unexpected spikes. If your business requirements have evolved and you require a higher throughput, contact the Grand Central Team to request an adjustment to your APIM rate limit policy.
  </Accordion>
</AccordionGroup>

***

## Need more help?

<Card title="Contact support" icon="envelope" href="mailto:support@grandcentral.io">
  Reach out to the Grand Central team for assistance with environment setup or rate limit increases.
</Card>
