FINS MDM Accounts System API - Implementation Template
Data mappings
This document provides information generated from the DataWeave scripts included in the project, such as function definitions, variable definitions, and data mapping tables.
| Module | Description |
|---|---|
| accounts-get-response | Query Financial Account Mapping from MDM System |
| accounts-patch-payload | Create Account Mapping for MDM System Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and MDM are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
| accounts-post-payload | Create Account Mapping for MDM System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert. |
| cards-get-response | Query Financial Cards Mapping from MDM System |
| cards-patch-payload | Create Card Mapping for MDM System Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and MDM are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
| cards-post-payload | Create Cards Mapping for MDM System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert. |
| get-externalids-response | ExternalIds Query Mapping for MDM System |
| transactions-get-response | Get Transactions Mapping for MDM System. Maps Transaction from DB to Banking Spec JSON . |
| transactions-patch-payload | Create Transactions Mapping for MDM System Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table. The fields in both BankingSpec and MDM are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
| transactions-post-payload | Create Transactions Mapping for MDM System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert. |
accounts-get-response
Query Financial Account Mapping from MDM System
Source:
./src/main/resources/dwl/accounts-get-response.dwl
Mapping Tables
Maps DB Fields to Banking Spec Financial Account to JSON
| DB Field used by the stored procedure | Banking Spec | Description | |
|---|---|---|---|
| ID | id | flag to allow customer to return a Product | |
| NAME | name | descriptive name of the account | |
| ACCOUNT_NUMBER | accountNumber | account number | |
| ACCOUNT_TYPE | accountType | discriminator property set to the specific type of account by name (e.g. | CheckingAccount) |
| ACCOUNT_STATUS | accountStatus | flag to preorder the Product | |
| ACCOUNT_BALANCE | accountBalance | current credit (positive) or debit (negative) balance of the account | |
| AVAILABLE_BALANCE | availableBalance | amount of funds (or credit) available for withdrawal | |
| ACCOUNT_CURRENCY | accountCurrency | customer-provided nickname for the account | |
| ACCOUNT_LABEL | accountLabel | label for the Account | |
| INTEREST_RATE | interestRate | interest rate for the amount | |
| TAX_IDENTIFICATION_NUMBER | taxIdentificationNumber | Tax Identification Number associated with the account | |
| OPENED_DATE | openedDate | date of opening the account | |
| CLOSED_DATE | closedDate | date of Closing the account | |
| LAST_STATEMENT_DATE | lastStatementDate | date the last statement was produced for this account | |
| CREDIT_LIMIT | creditLimit | credit limit for the Card | |
| LOAN_TYPE | loanType | loan type associated with the account | |
| ORIGINAL_LOAN_AMOUNT | originalLoanAmount | loan amount of the account | |
| LOAN_DURATION_MONTHS | loanDurationMonths | loan duration for repayment | |
| MINIMUM_PAYMENT | minimumPayment | minimum payment to be made to the account | |
| PRINCIPAL_BALANCE | principalBalance | principal balance associated with the loan account | |
| DEPOSIT_ACCOUNT_TYPE | depositAccountType | deposit account | |
| ROUTING_NUMBER | routingNumber | Branch or routing number for the account | |
| OVERDRAFT_LIMIT | overdraftLimit | Indicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed | |
| DAILY_WITHDRAWAL_LIMIT | dailyWithdrawalLimit | Maximum amount that can be withdrawn directly from this account per day | |
| LAST_DEPOSIT_DATE | lastDepositDate | Date the last deposit was made on | |
| LAST_WITHDRAWAL_DATE | lastWithdrawalDate | Date the last withdrawal was made on | |
| MAXIMUM_MONTHLY_WITHDRAWALS | maximumMonthlyWithdrawals | Maximum amount that can be withdrawn directly from this account per month | |
| MINIMUM_BALANCE | minimumBalance | The minimum amount that must be held in a Money Market account | |
| MONTHLY_WITHDRAWAL_LIMIT | monthlyWithdrawalLimit | The maximum number of withdrawals allowed per month | |
| LAST_TRANSACTION_DATE | lastTransactionDate | Date a transaction was last recorded for this account | |
| LAST_TRANSACTION_TYPE | lastTransactionType | References the type of transaction last recorded for this account | |
| LAST_TRANSACTION_AMOUNT | lastTransactionAmount | Amount of the last transaction recorded for this account | |
| LAST_PAYMENT_DATE | lastPaymentDate | Date the last deposit was made on | |
| LAST_PAYMENT_AMOUNT | lastPaymentAmount | Amount of the last payment made | |
| CUSTOMER_ID | primaryAccountOwner | References the primary owner of this account by their global identifier | |
| CUSTOMER_ID | secondaryAccountOwners | References additional owner(s) of this account by their global identifiers | |
| CREATED_BY | auditInfo.createdBy | Identifies the system or user which created the entity | |
| CREATED_DATE | auditInfo.createdDate | Timestamp of when the entity was created - default as current timestamp | |
| UPDATED_BY | auditInfo.updatedBy | Identifies the system or user which last updated the entity | |
| UPDATED_DATE | auditInfo.updatedDate | Timestamp of when the entity was last updated | |
| IS_DELETED | auditInfo.isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
accounts-patch-payload
Create Account Mapping for MDM System
Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and MDM are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/accounts-patch-payload.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Account record in MDM system
accounts-post-payload
Create Account Mapping for MDM System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
Source:
./src/main/resources/dwl/accounts-post-payload.dwl
Mapping Tables
Maps Banking Spec Financial Account JSON which is used by stored procedure - sp_ContactPointAddress_Create or sp_ContactPointAddress_Update
| Banking Spec field | DB Field used in stored procedure | Description | |
|---|---|---|---|
| id | ID | flag to allow customer to return a Product | |
| name | NAME | descriptive name of the account | |
| accountNumber | ACCOUNT_NUMBER | account number | |
| accountType | ACCOUNT_TYPE | discriminator property set to the specific type of account by name (e.g. | CheckingAccount) |
| accountStatus | ACCOUNT_STATUS | flag to preorder the Product | |
| accountBalance | ACCOUNT_BALANCE | current credit (positive) or debit (negative) balance of the account | |
| availableBalance | AVAILABLE_BALANCE | amount of funds (or credit) available for withdrawal | |
| accountCurrency | ACCOUNT_CURRENCY | customer-provided nickname for the account | |
| accountLabel | ACCOUNT_LABEL | label for the Account | |
| interestRate | INTEREST_RATE | interest rate for the amount | |
| taxIdentificationNumber | TAX_IDENTIFICATION_NUMBER | Tax Identification Number assoicated with the account | |
| notes | NOTES | free-form notes recorded for this account | |
| creditLimit | CREDIT_LIMIT | credit limit for the Card | |
| loanType | LOAN_TYPE | loan type associated with the account | |
| originalLoanAmount | ORIGINAL_LOAN_AMOUNT | loan amount of the account | |
| loanDurationMonths | LOAN_DURATION_MONTHS | loan duration for repayment | |
| minimumPayment | MINIMUM_PAYMENT | minimum payment to be made to the account | |
| principalBalance | PRINCIPAL_BALANCE | principal balance associated with the loan account | |
| depositAccountType | DEPOSIT_ACCOUNT_TYPE | deposit account | |
| routingNumber | ROUTING_NUMBER | Branch or routing number for the account | |
| overdraftLimit | OVERDRAFT_LIMIT | Indicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed | |
| dailyWithdrawalLimit | DAILY_WITHDRAWAL_LIMIT | Maximum amount that can be withdrawn directly from this account per day | |
| lastTransactionDate | LAST_TRANSACTION_DATE | Date a transaction was last recorded for this account | |
| lastTransactionType | LAST_TRANSACTION_TYPE | References the type of transaction last recorded for this account | |
| lastTransactionAmount | LAST_TRANSACTION_AMOUNT | Amount of the last transaction recorded for this account | |
| lastPaymentDate | LAST_PAYMENT_DATE | Date the last deposit was made on | |
| lastPaymentAmount | LAST_PAYMENT_AMOUNT | Amount of the last payment made | |
| primaryAccountOwner | CUSTOMER_ID | References the primary owner of this account by their global identifier | |
| secondaryAccountOwners | CUSTOMER_ID | References additional owner(s) of this account by their global identifiers | |
| maximumMonthlyWithdrawals | MONTHLY_WITHDRAWAL_LIMIT | Maximum amount that can be withdrawn directly from this account per month | |
| minimumBalance | MINIMUM_BALANCE | The minimum amount that must be held in a Money Market account | |
| monthlyWithdrawalLimit | MONTHLY_WITHDRAWAL_LIMIT | The maximum number of withdrawals allowed per month | |
| auditInfo.createdBy | CREATED_BY | Identifies the system or user which created the entity | |
| auditInfo.createdDate | CREATED_DATETimestamp of when the entity was created - default as current timestamp | ||
| auditInfo.updatedBy | UPDATED_BY | Identifies the system or user which last updated the entity | |
| auditInfo.updatedDate | UPDATED_DATE | Timestamp of when the entity was last updated | |
| auditInfo.isDeleted | isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
cards-get-response
Query Financial Cards Mapping from MDM System
Source:
./src/main/resources/dwl/cards-get-response.dwl
Mapping Tables
Maps DB fields to FinancialCards Banking spec JSON
| MDM DB Field | Banking Spec Field | Description | |||
|---|---|---|---|---|---|
| ID | id | credit card id | |||
| NAME | name | name of credit card | |||
| CARD_TYPE | cardType | type of card - credit | debit | ||
| CARD_HOLDER_NAME | cardHolderName | name of the person holding the credit card | |||
| CARD_NUMBER | cardNumber | 16 digit number displayed on the credit card. | |||
| CARD_PIN | cardPin | pin of the debit card | |||
| CARD_STATUS | cardStatus | status as active | inactive | locked | |
| CARD_STATUS_CHANGED_DATE | cardStatusChangedDate | Date and time of the last change in card status | |||
| EXPIRY_MONTH | expiryMonth | expiry month of the credit card | |||
| EXPIRY_YEAR | expiryYear | expiry year of the credit card | |||
| REPLACED_CARD_ID | replacedCardId | Identifier of the card this one replaces | |||
| REPLACED_CARD_REASON | replacedCardReason | Indicates why this card was issued in place of a previous one | |||
| MASKED_NUMBER | maskedNumber | masked number on the credit card | |||
| CARD_TOKEN | cardToken | token issued for the credit card | |||
| NUMBER_LAST_DIGITS | numberLastDigits | last 4 digits on the card | |||
| SECURITY_CODE | securityCode | security code on the credit card | |||
| CREDIT_CARD_TYPE | creditCardType | credit card type AMEX | DISCOVER | MASTERCARD | VISA |
| FINANCIAL_ACCOUNT_ID | accountId | account Id associated with credit card | |||
| CARD_OWNER_ID | cardOwnerId | Identifier of the individual this card is owned by | |||
| CARD_OWNERSHIP_TYPE | cardOwnershipType | authorized | other | primary | |
| CARD_CONTROLS | cardControls | List of controls applied to this card (e.g. | ATM only) | ||
| DAILY_PURCHASE_LIMIT | dailyPurchaseLimit | Maximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit | |||
| CREATED_DATE | auditInfo.createdDate | Timestamp of when the entity was created - default as current timestamp | |||
| CREATED_BY | auditInfo.createdBy | Identifies the system or user which created the entity | |||
| UPDATED_BY | auditInfo.updatedBy | Identifies the system or user which last updated the entity | |||
| UPDATED_DATE | auditInfo.updatedDate | Timestamp of when the entity was last updated | |||
| IS_DELETED | auditInfo.isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
cards-patch-payload
Create Card Mapping for MDM System
Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and MDM are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/cards-patch-payload.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Card record in MDM system
cards-post-payload
Create Cards Mapping for MDM System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert.
Source:
./src/main/resources/dwl/cards-post-payload.dwl
Mapping Tables
Maps Banking Spec Financial Cards to JSON which is used by stored procedure - sp_FinancialCard_Upsert
| Banking Spec Field | MDM DB Field | Description | |||
|---|---|---|---|---|---|
| id | ID | credit card id | |||
| name | NAME | name of credit card | |||
| cardType | CARD_TYPE | type of card - credit | debit | ||
| cardHolderName | CARD_HOLDER_NAME | name of the person holding the credit card | |||
| cardNumber | CARD_NUMBER | 16 digit number displayed on the credit card. | |||
| cardPin | CARD_PIN | pin of the debit card | |||
| cardStatus | CARD_STATUS | status as active | inactive | locked | |
| cardStatusChangedDate | CARD_STATUS_CHANGED_DATE | Date and time of the last change in card status | |||
| expiryMonth | EXPIRY_MONTH | expiry month of the credit card | |||
| expiryYear | EXPIRY_YEAR | expiry year of the credit card | |||
| replacedCardId | REPLACED_CARD_ID | Identifier of the card this one replaces | |||
| replacedCardReason | REPLACED_CARD_REASON | Indicates why this card was issued in place of a previous one | |||
| maskedNumber | MASKED_NUMBER | masked number on the credit card | |||
| cardToken | CARD_TOKEN | token issued for the credit card | |||
| numberLastDigits | NUMBER_LAST_DIGITS | last 4 digits on the card | |||
| securityCode | SECURITY_CODE | security code on the credit card | |||
| creditCardType | CREDIT_CARD_TYPE | credit card type AMEX | DISCOVER | MASTERCARD | VISA |
| accountId | FINANCIAL_ACCOUNT_ID | account Id associated with credit card | |||
| cardOwnerId | CARD_OWNER_ID | Identifier of the individual this card is owned by | |||
| cardOwnershipType | CARD_OWNERSHIP_TYPE | authorized | other | primary | |
| cardControls | CARD_CONTROLS | List of controls applied to this card (e.g. | ATM only) | ||
| dailyPurchaseLimit | DAILY_PURCHASE_LIMIT | Maximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit | |||
| auditInfo.createdBy | CREATED_BY | Identifies the system or user which created the entity | |||
| auditInfo.createdDate | CREATED_DATETimestamp of when the entity was created - default as current timestamp | ||||
| auditInfo.updatedBy | UPDATED_BY | Identifies the system or user which last updated the entity | |||
| auditInfo.updatedDate | UPDATED_DATE | Timestamp of when the entity was last updated | |||
| auditInfo.isDeleted | isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
get-externalids-response
ExternalIds Query Mapping for MDM System
Source:
./src/main/resources/dwl/get-externalids-response.dwl
Variables
var outputPayload
outputPayload variable is the maps the result of select query on MDM EXTERNAL_ID table.
transactions-get-response
Get Transactions Mapping for MDM System.
Maps Transaction from DB to Banking Spec JSON .
Source:
./src/main/resources/dwl/transactions-get-response.dwl
transactions-patch-payload
Create Transactions Mapping for MDM System
Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table.
The fields in both BankingSpec and MDM are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/transactions-patch-payload.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Transaction record in MDM system
transactions-post-payload
Create Transactions Mapping for MDM System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
Source:
./src/main/resources/dwl/transactions-post-payload.dwl