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

# Reference

> Configuration properties, operations, and error mapping for the Jack Henry Symitar connectors.

export const VendorApiVersionTag = ({versions, label = "Supports"}) => {
  useEffect(() => {
    if (!versions || versions.length === 0) {
      return undefined;
    }
    const findAndSegmentStart = (reference, target) => {
      let i = 0;
      while (i < reference.length && i < target.length && reference[i] === target[i]) {
        i += 1;
      }
      let start = i;
      while (start > 0 && (/[0-9.vR]/).test(target[start - 1])) {
        start -= 1;
      }
      return start;
    };
    const formatText = () => {
      const suffix = " operations";
      if (versions.length === 1) {
        return `${label} ${versions[0]}${suffix}`;
      }
      const [first, ...rest] = versions;
      const last = rest[rest.length - 1];
      const andStart = findAndSegmentStart(first, last);
      const lead = first.slice(0, andStart);
      if (versions.length === 2) {
        return `${label} ${first} and ${last.slice(andStart)}${suffix}`;
      }
      const stems = versions.map(version => version.slice(andStart));
      return `${label} ${lead}${stems.slice(0, -1).join(", ")}, and ${stems[stems.length - 1]}${suffix}`;
    };
    const text = formatText();
    const mountCallout = () => {
      const titleRow = document.querySelector("#page-title")?.parentElement;
      if (!titleRow) {
        return null;
      }
      let callout = titleRow.querySelector("[data-vendor-api-version-callout='true']");
      if (!callout) {
        callout = document.createElement("div");
        callout.dataset.vendorApiVersionCallout = "true";
        callout.className = "vendor-api-version-callout vendor-api-version-callout--in-title";
        titleRow.appendChild(callout);
      }
      callout.replaceChildren();
      const textEl = document.createElement("span");
      textEl.className = "vendor-api-version-text";
      textEl.textContent = text;
      callout.appendChild(textEl);
      return callout;
    };
    let callout = mountCallout();
    if (callout) {
      return () => {
        callout?.remove();
      };
    }
    const observer = new MutationObserver(() => {
      callout = mountCallout();
      if (callout) {
        observer.disconnect();
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });
    return () => {
      observer.disconnect();
      callout?.remove();
    };
  }, [versions, label]);
  return null;
};

export const vendorApiVersions = ["SymXChange API v2022.01"];

<VendorApiVersionTag versions={vendorApiVersions} />

The Jack Henry Symitar integration includes several outbound (synchronous) runtime connectors that call the SymXChange API. Configure each connector in its own `values.yaml` file. For setup steps, see [Get started](/connectors/core-banking/jack-henry-symitar/get-started).

| Connector                                  | Property file                                  | Purpose                        |
| :----------------------------------------- | :--------------------------------------------- | :----------------------------- |
| `gc-symitar-deposit-connector`             | `deposit-v0.values.yaml`                       | Deposit account operations     |
| `gc-symitar-deposit-transaction-connector` | `deposit-transactions-v0.values.yaml`          | Deposit transaction operations |
| `gc-symitar-loan-connector`                | `loan-v0.values.yaml`                          | Loan account operations        |
| `gc-symitar-loan-transaction-connector`    | `loan-transactions-v0.values.yaml`             | Loan transaction operations    |
| `gc-symitar-payment-connector`             | `payment-v0.values.yaml`                       | Payment operations             |
| `gc-symitar-party-connector`               | `party-v0.values.yaml`, `party-v2.values.yaml` | Party management operations    |

## Configuration properties

### Values to obtain from Jack Henry Symitar

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

| Property             | Description                                         |
| :------------------- | :-------------------------------------------------- |
| `symxchange.baseUrl` | Target API endpoint for the SymXChange environment. |

<Note>
  The connectors authenticate to the SymXChange API with credentials stored in a SOPS secret referenced by `existingSecretName`. For details, see [Get started](/connectors/core-banking/jack-henry-symitar/get-started).
</Note>

### Common properties

Set these properties in `values.yaml`. They apply across all Jack Henry Symitar connectors.

| Property                       | Description                                                                 | Default                                          |
| :----------------------------- | :-------------------------------------------------------------------------- | :----------------------------------------------- |
| `existingSecretName`           | Reference to the SOPS secret that holds the Jack Henry Symitar credentials. | `symitar`                                        |
| `symxchange.basePortUrl`       | Base port URL for SymXChange API requests.                                  | `http://www.symxchange.generated.symitar.com`    |
| `symxchange.deviceNumber`      | Device number for SymXChange API requests.                                  | `20657`                                          |
| `symxchange.deviceType`        | Device type identifier for SymXChange.                                      | `BACKBASE`                                       |
| `symxchange.version`           | SymXChange API version.                                                     | `2022.01`                                        |
| `quarkus.cxf.path`             | Base path for the CXF endpoints.                                            | `/ws`                                            |
| `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.                      | `true` in the party connector; `false` elsewhere |
| `retryFlag`                    | Enable automatic request retries on failure.                                | `false`                                          |
| `retryStatuses`                | HTTP status codes that trigger a retry.                                     | `429,502,503`                                    |
| `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`                                              |
| `coreMessageVisibility`        | Whether the core system error message is surfaced to the caller.            | `true`                                           |

The deposit, deposit transaction, loan, loan transaction, and party connectors also set the following thread pool properties. The payment connector doesn't use them.

| Property                        | Description               | Default |
| :------------------------------ | :------------------------ | :------ |
| `thread.profile.core.pool.size` | Core thread pool size.    | `20`    |
| `thread.profile.max.pool.size`  | Maximum thread pool size. | `20`    |

### gc-symitar-party-connector

The `party-v0.values.yaml` file holds the basic party configuration. The `party-v2.values.yaml` file adds account type mappings and error-code mappings, in addition to the common properties.

| Property                        | Description                                                                               | Default |
| :------------------------------ | :---------------------------------------------------------------------------------------- | :------ |
| `fieldsToBeReplaced`            | Fields to replace for account type mapping, for example `ShareCode@Type,LoanCode@Type`.   | N/A     |
| `deposit.productTypes`          | Comma-separated deposit product type categories.                                          | N/A     |
| `loan.productTypes`             | Comma-separated loan product type categories.                                             | N/A     |
| `ShareCode.<Code>@Type.<Type>`  | Maps a Symitar ShareCode and Type to a Grand Central product ID and secondary product ID. | N/A     |
| `LoanCode.<Code>@Type.<Type>`   | Maps a Symitar LoanCode and Type to a Grand Central product ID and secondary product ID.  | N/A     |
| `typeConversion.skipAttributes` | Comma-separated attributes to skip during type conversion.                                | N/A     |
| `<CoreErrorCode>`               | Maps a Symitar error code to a Grand Central error code.                                  | N/A     |

### gc-symitar-deposit-connector

Set these properties in `deposit-v0.values.yaml`, in addition to the common properties. The bundled configuration uses the single-field mapping style (`shareCode`, `shareType`, `productId`, `secondaryProductId`); the combined `fieldsToBeReplaced` style is also supported.

| Property                                                     | Description                                                                                                                               | Default |
| :----------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | :------ |
| `shareCode.<N>`                                              | Maps a Symitar share code number to a share code name, for example `shareCode.2=CURRENT_ACCOUNT`.                                         | N/A     |
| `shareType.<N>`                                              | Maps a Symitar share type number to a Grand Central account subtype, for example `shareType.1=SAVINGS_ACCOUNT`.                           | N/A     |
| `productId.<Key>`                                            | Maps a share code or type name to a Grand Central product ID.                                                                             | N/A     |
| `secondaryProductId.<Key>`                                   | Maps an account subtype name to a Grand Central secondary product ID.                                                                     | N/A     |
| `fieldsToBeReplaced`                                         | Optional. Fields to replace for combined account type mapping, for example `ShareCode@Type,product.productId@product.secondaryProductId`. | N/A     |
| `ShareCode.<Code>@Type.<Type>`                               | Optional. Maps a Symitar ShareCode and Type to a Grand Central product ID and secondary product ID.                                       | N/A     |
| `product.productId.<Kind>@product.secondaryProductId.<Type>` | Optional. Maps a product ID combination.                                                                                                  | N/A     |
| `typeConversion.skipAttributes`                              | Optional. Comma-separated attributes to skip during type conversion.                                                                      | N/A     |
| `<CoreErrorCode>`                                            | Optional. Maps a Symitar error code to a Grand Central error code.                                                                        | N/A     |

### gc-symitar-loan-connector

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

| Property                                                                           | Description                                                                                                                                 | Default |
| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :------ |
| `fieldsToBeReplaced`                                                               | Fields to replace for account type mapping, for example `LoanCode@Type,productArrangement.productId@productArrangement.secondaryProductId`. | N/A     |
| `loan.productTypes`                                                                | Comma-separated loan product type categories.                                                                                               | N/A     |
| `LoanCode.<Code>@Type.<Type>`                                                      | Maps a Symitar LoanCode and Type to a Grand Central product ID and secondary product ID.                                                    | N/A     |
| `productArrangement.productId.<Kind>@productArrangement.secondaryProductId.<Type>` | Maps a product arrangement combination.                                                                                                     | N/A     |

### gc-symitar-deposit-transaction-connector and gc-symitar-loan-transaction-connector

The deposit transaction and loan transaction connectors use the common properties. They have no additional connector-specific mapping properties.

### gc-symitar-payment-connector

Set these properties in `payment-v0.values.yaml`. The payment connector uses the common properties except the thread pool properties, and defines the following connector-specific error-code overrides.

| Property          | Description                                                                                                      | Default |
| :---------------- | :--------------------------------------------------------------------------------------------------------------- | :------ |
| `<coreErrorCode>` | Maps a Jack Henry Symitar error code to a Grand Central status code, for example `13033=GC409` or `13035=GC406`. | N/A     |

<Warning>
  The ShareCode, LoanCode, and product ID mapping values are environment-specific. Contact your Jack Henry Symitar administrator for the full list of account types.
</Warning>

## Supported operations

The Jack Henry Symitar connectors expose the Grand Central Unified API. For the operation-to-endpoint tables per domain (deposit, loan, payment, party), see [Overview](/connectors/core-banking/jack-henry-symitar/overview). For the full contract, see the [unified API specifications](/connectors/reference/unified-api-specifications).

## Events

These connectors are synchronous and do not publish or consume events.

## Error mapping

The connector maps Jack Henry Symitar error codes to Grand Central status codes. For the full list, see [Error codes](/connectors/reference/error-codes). You can configure connector-specific overrides as core-to-Grand Central code pairs in the connector's `values.yaml`; the payment connector ships with overrides for several SymXChange error codes (see [gc-symitar-payment-connector](#gc-symitar-payment-connector)).

## Dependencies

* Jack Henry Symitar SymXChange API (outbound), reachable at `symxchange.baseUrl`.
* The shared `symitar-connector-sdk` library.
