Enterprise Settings
Enterprise Settings must be configured for any merchant who wants to use the enterprise wallet feature. These settings define how customers are identified and matched between merchant and enterprise systems, enabling seamless onboarding and wallet upgrades.
Merchants configure multiple search criteria (such as SubscriptionId, DependentCode, ExchangeID, etc.) that CCG uses to locate or create enterprise customer records and wallets. This configuration supports advanced workflows like upgrading a local wallet to an enterprise wallet by searching for existing records using prioritized criteria.
The process ensures each customer has a single enterprise wallet, consolidates payment methods, and prevents duplicates. Enterprise Settings are essential for seamless onboarding, accurate customer identification, and smooth wallet upgrades in integrated environments.
For more details on how enterprise customer identities are managed and retrieved, see the EIMP documentation.
Overview
The customerSearchCriteria array defines the rules and precedence for matching customer records. Each criterion specifies how a particular field from the merchant's data maps to the enterprise's data, along with its importance and requirements.
Key Fields
value: The expected value for the search (can be null if not required).- merchantSearchKey: JSONPath or key where merchant passes identifier to CCG.
- enterpriseSearchKey: The corresponding key in the enterprise system.
- enterpriseValueKey: The key in the enterprise value object (if applicable).
- merchantMetadataKey: The key in the merchant's metadata (if applicable).
- enterpriseResponseSearchPath: Path to extract the value from the enterprise response (optional).
- precedence: Determines the order in which criteria are evaluated (lower numbers are higher priority).
- required: Whether this criterion must be satisfied for a match.
Example Configuration
{
"customerSearchCriteria": [
{
"value": { "patientId": "xxxxxx" },
"merchantSearchKey": "$.metadata.patientId",
"enterpriseSearchKey": "identifiers.rx_patientId",
"enterpriseValueKey": "patientId",
"merchantMetadataKey": "patientId",
"precedence": 1,
"required": true
},
{
"value": null,
"merchantSearchKey": "$.firstName",
"enterpriseSearchKey": "givenName",
"enterpriseValueKey": null,
"merchantMetadataKey": null,
"enterpriseResponseSearchPath": null,
"precedence": 2,
"required": false
},
{
"value": null,
"merchantSearchKey": "$.lastName",
"enterpriseSearchKey": "familyName",
"enterpriseValueKey": null,
"merchantMetadataKey": null,
"enterpriseResponseSearchPath": null,
"precedence": 3,
"required": false
}
],
"precedence": 1
}
Configuration Parameter Reference
The following table provides a comprehensive reference for all parameters in the enterpriseSettings configuration:
| Parameter | Location | Required | Description | Example Value |
|---|---|---|---|---|
customerSearchCriteria | Root | Yes | Array of criteria sets for identifying customers | [{...}, {...}] |
precedence | Root | Yes | Order in which to try criteria sets (lowest first) | 1 |
value | Within criteria | No | Template object for complex matches | {"type": "SubscriberId", "sourceCode": "EEMS"} |
merchantSearchKey | Within criteria | Yes | JSONPath to extract value from customer request | $.metadata.subscriberId |
enterpriseSearchKey | Within criteria | Yes | Path to find match field in enterprise data | identifiers.payer_memberId |
enterpriseValueKey | Within criteria | No | Field within found object to extract for comparison | subscriberId |
merchantMetadataKey | Within criteria | No | Key to store in metadata for reference | subscriberId |
enterpriseResponseSearchPath | Within criteria | No | JSONPath for special response extraction | $.[*].identifiers.payer_memberId[*]['subscriberId'] |
required | Within criteria | Yes | Whether match must succeed for identification | true or false |
Best Practices
- Set
required: truefor fields that are essential for identification (e.g., unique IDs). - Use
precedenceto control the order of evaluation; lower numbers are evaluated first.