Overview
This documentation explains how legacy SOAP APIs and modern GraphQL APIs are integrated in banking systems using eZintegrations. It demonstrates how organizations can retrieve, process, and synchronize financial data with CRM platforms using automated AI operations.
The solution enables secure transaction handling through SOAP APIs and flexible, real-time analytics through GraphQL APIs, helping financial institutions modernize without replacing existing systems.
When to Use
This integration approach is suitable for banks and financial organizations that need to connect legacy and modern APIs with CRM systems.
- When working with existing SOAP-based banking services.
- When real-time transaction monitoring is required.
- When synchronizing data with CRM platforms.
- When reducing manual integration development.
How It Works
The integration process uses eZintegrations to connect SOAP and GraphQL APIs, extract relevant data, transform it using AI prompts, and send filtered results to CRM systems.
- API data is retrieved from banking systems.
- AI operations extract and transform key fields.
- APPEND operations confirm processing.
- FILTER operations control data flow.
- Processed data is sent to target CRMs.
SOAP API Integration (Banking)
API: Account Balance Retrieval (SOAP)
Endpoint: http://bankapi.com/soap/accountService
Operation: GetAccountBalance
Description: Retrieves account details for customer management in a banking CRM.
Response (XML)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccountBalanceResponse xmlns="http://bankapi.com/account">
<Account>
<AccountNumber>987654321</AccountNumber>
<AccountHolder>Jane Smith</AccountHolder>
<Balance>15000.75</Balance>
<LastTransaction>2025-10-20</LastTransaction>
</Account>
</GetAccountBalanceResponse>
</soap:Body>
</soap:Envelope>
AI Operation Prompt for SOAP
Extract account number, account holder name, balance, and last transaction date from the {%bizdata_dataset_response%}.
Add a field 'account_status' with value 'Active' if the balance exceeds 1000, otherwise 'Inactive'.
Format the data as a JSON object for the banking CRM and give the value in the 'Data'.
Output (JSON)
{
"account_number": "987654321",
"account_holder": "Jane Smith",
"balance": 15000.75,
"last_transaction_date": "2025-10-20",
"account_status": "Active"
}
APPEND Operation
{
"status": "success"
}
FILTER Operation
data["account_status"] == "Active"
Target System
The processed data is sent to a legacy banking CRM such as Microsoft Dynamics 365 using a REST API to update customer account profiles.
Use Case
A bank synchronizes account details to Microsoft Dynamics 365, enabling relationship managers to track active accounts. Biweekly synchronization runs at:
Cron Schedule: 0 6 * * WED (IST – Asia/Kolkata)
GraphQL API Integration (Banking)
API: Transaction Analytics (GraphQL)
Endpoint: http://bankapi.com/graphql
Description: Fetches transaction details for real-time fraud monitoring.
Query
query {
transactionAnalytics(accountNumber: "987654321") {
transactionId
amount
date
merchant
}
}
Response (JSON)
{
"data": {
"transactionAnalytics": {
"transactionId": "TXN456",
"amount": 250.50,
"date": "2025-10-20",
"merchant": "Retail Store"
}
}
}
AI Operation Prompt for GraphQL
Extract transaction ID, amount, date, and merchant from the {%bizdata_dataset_response%}.
Add a field 'risk_level' with value 'Low' if the transaction amount is below 1000, otherwise 'Medium'.
Format the data as a JSON object for the fraud monitoring CRM and put the value in the key 'Data'.
Output (JSON)
{
"transaction_id": "TXN456",
"transaction_amount": 250.50,
"transaction_date": "2025-10-20",
"merchant": "Retail Store",
"risk_level": "Low"
}
APPEND Operation
{
"status": "success"
}
FILTER Operation
data["risk_level"] == "Low"
Target System
The filtered data is sent to a modern fraud monitoring CRM such as Salesforce Financial Services Cloud via REST API.
Use Case
The bank feeds transaction data into Salesforce for fraud analysis. Biweekly synchronization runs using:
Cron Schedule: 0 6 * * WED (IST – Asia/Kolkata)
How to Configure / How to Use
To use SOAP and GraphQL integrations with eZintegrations:
- Configure the source API endpoint.
- Define AI operation prompts.
- Apply APPEND and FILTER rules.
- Configure REST API targets.
- Schedule automated sync jobs.
Why eZintegrations
eZintegrations provides AI-driven operations using natural language prompts. It removes coding complexity and enables organizations to test APIs, schedule data synchronization, and share integrations across teams.
Broader Impact
By supporting both SOAP and GraphQL APIs, eZintegrations helps businesses modernize operations without replacing existing infrastructure. This dual compatibility improves agility, customer service, and security.
Troubleshooting
- Verify endpoint URLs and network access.
- Confirm API response format.
- Validate AI prompt syntax.
- Check FILTER conditions.
- Review scheduling configuration.
Frequently Asked Questions
What is the purpose of SOAP integration in this use case?
SOAP integration is used to retrieve secure and structured account balance data from legacy banking systems.
Why is GraphQL used for transaction analytics?
GraphQL enables flexible and real-time access to transaction data for fraud monitoring.
How does eZintegrations process API responses?
eZintegrations uses AI prompts to extract, transform, and format API responses into structured JSON objects.
What is the role of FILTER operations?
FILTER operations ensure that only relevant data, such as active accounts or low-risk transactions, is sent to target systems.
Can both integrations run on the same schedule?
Yes, both SOAP and GraphQL integrations can run on biweekly schedules using cron expressions.
Notes
- All schedules follow IST (Asia/Kolkata) time zone.
- AI prompts must match API response structures.
- REST APIs are used for CRM data updates.
- No additional system changes are required.