Data Structure for Mirror Balance
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
This document contains the Balance Collection (MongoDB) definition. We could see java objects and JSON schema for MongoDB.
Sources
Account Balance Endpoint
Fiserv ednpoint:
/accounts/balance
Class:
FiservRepository
Service:
getAccountBalance
Request DTO properties
Code Block | ||
---|---|---|
| ||
@Builder.Default
protected String organizationNumber = "950";
protected String accountNumber; |
Responses DTO
Code Block | ||
---|---|---|
| ||
public class AccountBalanceResponseDTO {
private String accountOrCardNumber;
private Double currentBalance;
private Double availableCreditLimit;
private Double frozenBalance;
} |
FL-Balance Endpoint
Fiserv ednpoint:
/account/FL-balance
Class:
FiservRepository
Service:
transferBalanceFL
Request DTO
Code Block | ||
---|---|---|
| ||
package com.spin.banking.common.fiserv.request;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.spin.banking.common.domain.FalconIdentifier;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransactionDataFLDTO {
private Long transactionAmount;
private String actionCode;
private String authorizationCode;
private String effectiveDate;
private String description;
private String paidConcept;
private String memoPostedIndicator;
private String suppressMonetaryTransaction;
private String n1n2ByPass;
private FalconIdentifier identifier;
private String box;
private String crPlaza;
private String crStore;
private String keyTracking;
private String beneficiaryAccount;
private String senderAccount;
private String counterpartInstitution;
private String operatingInstitution;
private String frcUprkBeneficiary;
private String orderingFrcUprk;
private String device;
private String ip;
private Double latitude;
private Double longitude;
private String recipientName;
private String orderingName;
private String paymentSourceId;
}
|
Response DTO
Code Block | ||
---|---|---|
| ||
public class BalanceTransferResponseDTO {
private String historyDate;
private String historyTime;
private BalanceTransferDetailsResponseDTO transactionData;
} |
Target (MongoDB)
...
Collection Name: balances
Schema:
Code Block | ||
---|---|---|
| ||
db.createCollection("balances",{
validator: {
$jsonSchema: {
bsonType: "object",
description: "Balance bject collection",
required: [
"accountOrCardNumber",
"availableCreditLimit",
"organizationNumber",
"accountNumber"
],
properties: {
"organizationNumber": {
bsonType: "string",
description: "organization Number must be a string and is required"
},
"accountNumber": {
bsonType: "string",
description: "account Number must be a string and is required"
},
"accountOrCardNumber": {
bsonType: "string",
description: "account or card number must be a string and is required"
},
"availableCreditLimit": {
bsonType: "double",
description: "available credit limit must be a number and is required"
}
"currentBalance": {
bsonType: "double",
description: "current balance must be a number"
},
"frozenBalance": {
bsonType: "double",
description: "frozen balance must be a number"
},
"historyDate": {
bsonType: "string",
description: "history Date must be a string"
},
"historyTime": {
bsonType: "string",
description: "history Time must be a string"
},
"transactionData": {
bsonType: "object",
description: "transaction data",
required: [
"transactionCode",
"currentBalance",
"openToBuy"
],
properties: {
"transactionCode": {
bsonType: "string",
description: "transaction code is required"
},
"transactionDescription": {
bsonType: "string",
description: "describe a transaction"
},
"currentBalance": {
bsonType: "long",
description: "current balance must be a long number and is required"
},
"openToBuy": {
bsonType: "long",
description: "open to Buy must be a long number and is required"
},
"transactionAmount": {
bsonType: "long",
description: ""
},
"actionCode": {
bsonType: "string",
description: "action Code"
},
"authorizationCode": {
bsonType: "string",
description: "authorization Code"
},
"effectiveDate": {
bsonType: "string",
description: "effective Date"
},
"description": {
bsonType: "string",
description: "description"
},
"paidConcept": {
bsonType: "string",
description: "paid Concept"
},
"memoPostedIndicator": {
bsonType: "string",
description: "memo Posted Indicator"
},
"suppressMonetaryTransaction": {
bsonType: "string",
description: "suppress Monetary Transaction"
},
"n1n2ByPass": {
bsonType: "string",
description: "n1 n2 by Pass"
},
"identifier": {
bsonType: "string",
description: "identifier"
},
"box": {
bsonType: "string",
description: "box"
},
"crPlaza": {
bsonType: "string",
description: "cr Plaza"
},
"crStore": {
bsonType: "string",
description: "cr Store"
},
"keyTracking": {
bsonType: "string",
description: "key Tracking"
},
"beneficiaryAccount": {
bsonType: "string",
description: "beneficiary Account"
},
"senderAccount": {
bsonType: "string",
description: "sender Account"
},
"counterpartInstitution": {
bsonType: "string",
description: "counterpart Institution"
},
"operatingInstitution": {
bsonType: "string",
description: "operating Institution"
},
"frcUprkBeneficiary": {
bsonType: "string",
description: "frc Up rk Beneficiary"
},
"orderingFrcUprk": {
bsonType: "string",
description: "ordering Frc Up rk"
},
"device": {
bsonType: "string",
description: "device"
},
"ip": {
bsonType: "string",
description: "ip"
},
"latitude": {
bsonType: "double",
description: "latitude"
},
"longitude": {
bsonType: "double",
description: "longitude"
},
"recipientName": {
bsonType: "string",
description: "recipient Name"
},
"orderingName": {
bsonType: "string",
description: "ordering Name"
},
"paymentSourceId": {
bsonType: "string",
description: "payment Source Id"
}
}
}
}
}
}
}); |
Target (Java)
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Email;
import org.springframework.data.mongodb.core.mapping.Document;
// import org.springframework.data.mongodb.core.index.Indexed;
@Getter
@Setter
@Document(collection = "balances")
public class Balance {
@Id
private String id;
@NotNull(message="account or card number is mandatory")
private String accountOrCardNumber;
private Double currentBalance;
@NotNull(message="available credit limit is mandatory")
private Double availableCreditLimit;
private Double frozenBalance;
private String historyDate;
private String historyTime;
private TransactionData transactionData;
private Long transactionAmount;
private String actionCode;
private String authorizationCode;
private String effectiveDate;
private String description;
private String paidConcept;
private String memoPostedIndicator;
private String suppressMonetaryTransaction;
private String n1n2ByPass;
private FalconIdentifier identifier;
private String box;
private String crPlaza;
private String crStore;
private String keyTracking;
private String beneficiaryAccount;
private String senderAccount;
private String counterpartInstitution;
private String operatingInstitution;
private String frcUprkBeneficiary;
private String orderingFrcUprk;
private String device;
private String ip;
private Double latitude;
private Double longitude;
private String recipientName;
private String orderingName;
private String paymentSourceId;
} |
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document
public class TransactionData {
@NotNull(message="transaction Code is mandatory")
private String transactionCode;
private String transactionDescription;
@NotNull(message="current Balance is mandatory")
private Long currentBalance;
@NotNull(message="open to Buy limit is mandatory")
private Long openToBuy;
} |
Data Structure for Account Mirror
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
This section presents the Fiserv endpoints of the Account domain and proposes the MongoDB data structure for Mirror Account based on the corresponding request/response.
Fiserv - Account endpoint list
Account Details GET /account/details
Account Block Code POST /account/block-code
Customer POST /customer
Account Customer Linking POST /account/customer
Account Card Linking POST /account/prepaid
Account Details
Source
Fiserv endpoint:
GET /account/details
Class:
FiservRepository
Service:
getAccountDetails
Response:
Code Block | ||
---|---|---|
| ||
public class AccountDetailsResponseDTO {
private AccountDataDTO accountData;
} |
Code Block | ||
---|---|---|
| ||
public class AccountDataDTO {
private String accountNumber;
private String customerNumber;
private String blockCode1;
private String blockCode1Date;
private String blockCode2;
private String blockCode2Date;
private String accountMakerDateOfBirth;
//this comes in pesos
private Double availableCredit;
//daily posted average balance
private Double userAmounts9;
//daily memo average balance
private Double userAmounts10;
//Total current memo balance
private Double userAmounts7;
public Double getAvailableCredit() {
return availableCredit * 100;
}
public Double getUserAmounts9() {
return userAmounts9 * 100;
}
public Double getUserAmounts7() {
return userAmounts7 * 100;
}
public Double getUserAmounts10() {
return userAmounts10 * 100;
}
} |
Request
Code Block | ||
---|---|---|
| ||
public class AccountDetailsRequestDTO {
private String organizationNumber;
private String accountNumber;
} |
Target (MongoDB)
Collection name:
accountDetails
Schema:
Code Block language json db.createCollection("accountDetails", { validator: { $jsonSchema: { bsonType: "object", title: "Account Details Object Validation", required: [ "accountDataKey.accountNumber","accountDataKey.organizationNumber"], properties: { accountDataKey: { bsonType: "object", properties: { accountNumber: { bsonType: "string", description: "'accountNumber' must be a string and is required" }, organizationNumber: { bsonType: [ "string" ], description: "'organizationNumber' must be a string and is required" } } }, accountData: { bsonType: "object", properties: { customerNumber: { bsonType: "string", description: "'customerNumber' must be a string" }, blockCode1: { bsonType: "string", description: "'blockCode1' must be a string" }, blockCode1Date: { bsonType: "string", description: "'blockCode1Date' must be a string" }, blockCode2: { bsonType: "string", description: "'blockCode2' must be a string" }, blockCode2Date: { bsonType: "string", description: "'blockCode2Date' must be a string" }, accountMakerDateOfBirth: { bsonType: "string", description: "'accountMakerDateOfBirth' must be a string" }, availableCredit: { bsonType: [ "double" ], description: "'availableCredit' must be a double" }, userAmounts9: { bsonType: [ "double" ], description: "'userAmounts9' must be a double" }, userAmounts10: { bsonType: [ "double" ], description: "'userAmounts10' must be a double" }, userAmounts7: { bsonType: [ "double" ], description: "'userAmounts7' must be a double" } } } } } } });
Index
Code Block language json db.accountDetails.createIndex({accountDataKey: 1}); db.accountDetails.createIndex({"accountDataKey.accountNumber": 1});
Target (Java)
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document(collection = "accountDetails")
public class AccountDetail {
@Id
private String id;
private AccountDataKey accountDataKey;
private AccountData accountData;
} |
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document
public class AccountData {
private String customerNumber;
private String blockCode1;
private String blockCode1Date;
private String blockCode2;
private String blockCode2Date;
private String accountMakerDateOfBirth;
//this comes in pesos
private Double availableCredit;
//daily posted average balance
private Double userAmounts9;
//daily memo average balance
private Double userAmounts10;
//Total current memo balance
private Double userAmounts7;
public Double getAvailableCredit() {
return availableCredit * 100;
}
public Double getUserAmounts9() {
return userAmounts9 * 100;
}
public Double getUserAmounts7() {
return userAmounts7 * 100;
}
public Double getUserAmounts10() {
return userAmounts10 * 100;
}
} |
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document
public class AccountDataKey {
@NotNull(message="account number is mandatory")
private String accountNumber;
@NotNull(message="organization number is mandatory")
private String organizationNumber;
} |
Account Block Code
Source
Fiserv endpoint:
POST /account/block-code
Class:
FiservRepository
Service:
setAccountBlockCode
Response:
Code Block | ||
---|---|---|
| ||
public class AccountBlockUnblockResponseDTO {
private String functionCode;
private String accountNumber;
private String blockCode1Local;
private Integer localOrganization;
} |
Request
Code Block | ||
---|---|---|
| ||
public class AccountBlockUnblockRequestDTO extends AbstractAccountFiservBaseRequest {
private String blockCode;
private Integer blockCodeIndicator;
private Integer foreignUse;
private String functionCode;
} |
Code Block | ||
---|---|---|
| ||
public abstract class AbstractAccountFiservBaseRequest extends AbstractFiservBaseRequest {
protected String accountNumber;
} |
Code Block | ||
---|---|---|
| ||
public abstract class AbstractFiservBaseRequest {
@Builder.Default
protected String organizationNumber = "950";
} |
Target (MongoDB)
Collection name:
blockUnblockAccounts
Schema:
Code Block language json db.createCollection("blockUnblockAccounts", { validator: { $jsonSchema: { bsonType: "object", title: "Block Unblock Accounts Object Validation", required: ["accountBlockUnblockKey.accountNumber","accountBlockUnblockKey.blockCode" ,"accountBlockUnblockKey.blockCodeIndicator","accountBlockUnblockKey.foreignUse","accountBlockUnblockKey.functionCode","accountBlockUnblockKey.organizationNumber"], properties: { accountBlockUnblockKey: { bsonType: "object", properties: { accountNumber: { bsonType: "string", description: "'accountNumber' must be a string and is required" }, blockCode: { bsonType: "string", description: "'blockCode' must be a string and is required" }, blockCodeIndicator: { bsonType: "int", description: "'blockCodeIndicator' must be a int and is required" }, foreignUse: { bsonType: "int", description: "'foreignUse' must be a int and is required" }, functionCode: { bsonType: "string", description: "'functionCode' must be a string and is required" }, organizationNumber: { bsonType: [ "string" ], description: "'organizationNumber' must be a string and is required" } } }, blockCode1Local: { bsonType: "string", description: "'blockCode1Local' must be a string" }, localOrganization: { bsonType: "int", description: "'localOrganization' must be a int" } } } } });
Index
Code Block language json db.blockUnblockAccounts.createIndex({accountBlockUnblockKey: 1}); db.blockUnblockAccounts.createIndex({"accountBlockUnblockKey.accountNumber": 1});
Target (Java)
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document(collection = "blockUnblockAccounts")
public class AccountBlockUnblock {
@Id
private String id;
private AccountBlockUnblockKey accountBlockUnblockKey;
private String blockCode1Local;
private Integer localOrganization;
} |
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document
public class AccountBlockUnblockKey {
@NotNull(message="account number is mandatory")
private String accountNumber;
@NotNull(message="organization number is mandatory")
private String organizationNumber;
@NotNull(message="block is mandatory")
private String blockCode;
@NotNull(message="block code indicator is mandatory")
private Integer blockCodeIndicator;
@NotNull(message="foreign use is mandatory")
private Integer foreignUse;
@NotNull(message="function code is mandatory")
private String functionCode;
} |
Customer
Source
Fiserv endpoint:
POST /customer
Class:
FiservRepository
Service:
createCustomer
Response:
Code Block | ||
---|---|---|
| ||
public class AddCustomerResponseDTO {
private String customerNumber;
} |
Request
Code Block | ||
---|---|---|
| ||
public class CustomerRequestDTO {
private String org;
private String logo;
private String address;
private String houseNumber;
private String externalNumber;
private String colony;
private String city;
private String state;
private String postalCode;
private String dateOfBirth;
private String stateOfBirth;
private String email;
private int genderCode;
private String firstName;
private String lastName;
private String maternalLastName;
private String mobilePhoneNumber;
private String identificationNumberFlag;
private String identificationNumber;
private String ine;
private String occupation;
} |
Target (MongoDB)
Collection name:
customers
Schema:
Code Block language json db.createCollection("customers", { validator: { $jsonSchema: { bsonType: "object", title: "Customers Object Validation", required: ["customerKey.customerNumber","org","logo","address","houseNumber","externalNumber","colony","city","state","postalCode","dateOfBirth","stateOfBirth","email","genderCode","firstName","lastName","maternalLastName","mobilePhoneNumber","identificationNumberFlag","identificationNumber","ine","occupation"], properties: { customerKey: { bsonType: "object", properties: { customerNumber: { bsonType: "string", description: "'customerNumber' must be a string and is required" }, } }, org: { bsonType: "string", description: "'org' must be a string and is required" }, logo: { bsonType: "string", description: "'logo' must be a string and is required" }, address: { bsonType: "string", description: "'address' must be a string and is required" }, houseNumber: { bsonType: "string", description: "'houseNumber' must be a string and is required" }, externalNumber: { bsonType: "string", description: "'externalNumber' must be a string and is required" }, colony: { bsonType: "string", description: "'colony' must be a string and is required" }, city: { bsonType: "string", description: "'city' must be a string and is required" }, state: { bsonType: "string", description: "'state' must be a string and is required" }, postalCode: { bsonType: "string", description: "'postalCode' must be a string and is required" }, dateOfBirth: { bsonType: "string", description: "'dateOfBirth' must be a string and is required" }, stateOfBirth: { bsonType: "string", description: "'stateOfBirth' must be a string and is required" }, email: { bsonType: "string", description: "'email' must be a string and is required" }, genderCode: { bsonType: "int", description: "'genderCode' must be a int and is required" }, firstName: { bsonType: "string", description: "'firstName' must be a string and is required" }, lastName: { bsonType: "string", description: "'lastName' must be a string and is required" }, maternalLastName: { bsonType: "string", description: "'maternalLastName' must be a string and is required" }, mobilePhoneNumber: { bsonType: "string", description: "'mobilePhoneNumber' must be a string and is required" }, identificationNumberFlag: { bsonType: "string", description: "'identificationNumberFlag' must be a string and is required" }, identificationNumber: { bsonType: "string", description: "'identificationNumber' must be a string and is required" }, ine: { bsonType: "string", description: "'ine' must be a string and is required" }, occupation: { bsonType: "string", description: "'occupation' must be a string and is required" } } } } });
Index
Code Block language json db.customers.createIndex({customerKey: 1});
Target (Java)
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document(collection = "customers")
public class Customer {
@Id
private String id;
private CustomerKey customerKey;
@NotNull(message="org is mandatory")
private String org;
@NotNull(message="logo is mandatory")
private String logo;
@NotNull(message="address is mandatory")
private String address;
@NotNull(message="house number is mandatory")
private String houseNumber;
@NotNull(message="external number is mandatory")
private String externalNumber;
@NotNull(message="colony is mandatory")
private String colony;
@NotNull(message="city is mandatory")
private String city;
@NotNull(message="state is mandatory")
private String state;
@NotNull(message="postal code is mandatory")
private String postalCode;
@NotNull(message="date of birth is mandatory")
private String dateOfBirth;
@NotNull(message="state of birth is mandatory")
private String stateOfBirth;
@NotNull(message="email is mandatory")
private String email;
@NotNull(message="gender code is mandatory")
private int genderCode;
@NotNull(message="first name is mandatory")
private String firstName;
@NotNull(message="last name is mandatory")
private String lastName;
@NotNull(message="maternal last name is mandatory")
private String maternalLastName;
@NotNull(message="mobile phone number is mandatory")
private String mobilePhoneNumber;
@NotNull(message="identification number flag is mandatory")
private String identificationNumberFlag;
@NotNull(message="identification number is mandatory")
private String identificationNumber;
@NotNull(message="ine is mandatory")
private String ine;
@NotNull(message="occupation number is mandatory")
private String occupation;
} |
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document
public class CustomerKey{
@NotNull(message="customer number is mandatory")
private String customerNumber;
} |
Account Customer Linking
Source
Fiserv endpoint:
POST /account/customer
Class:
FiservRepository
Service:
linkAccountToCustomer
Response:
Code Block | ||
---|---|---|
| ||
public class AccountToCustomerLinkingResponseDTO {
private String customerNumber;
private String accountNumber;
} |
Request
Code Block | ||
---|---|---|
| ||
public class AccountToCustomerLinkingRequestDTO {
private String accountNumber;
private AlternateCustomerRequestDTO alternateCustomer = new AlternateCustomerRequestDTO();
private String customerNumber;
private String qualification;
private String organizationNumber;
private Integer customerTypeIndicator;
private Integer foreignUseIndicator;
@Getter
static class AlternateCustomerRequestDTO {
private String expirationDate;
private String status;
}
} |
Target (MongoDB)
Collection name:
accountCustomerLinks
Schema:
Code Block language json db.createCollection("accountCustomerLinks", { validator: { $jsonSchema: { bsonType: "object", title: "Account Customer Links Object Validation", required: ["customerNumber","accountNumber","qualification","organizationNumber","customerTypeIndicator","foreignUseIndicator"], properties: { customerNumber: { bsonType: "string", description: "'customerNumber' must be a string and is required" }, accountNumber: { bsonType: "string", description: "'accountNumber' must be a string and is required" }, qualification: { bsonType: "string", description: "'qualification' must be a string and is required" }, organizationNumber: { bsonType: "string", description: "'organizationNumber' must be a string and is required" }, customerTypeIndicator: { bsonType: "int", description: "'customerTypeIndicator' must be a int and is required" }, foreignUseIndicator: { bsonType: "int", description: "'foreignUseIndicator' must be a int and is required" }, expirationDate: { bsonType: "string", description: "'expirationDate' must be a string" }, status: { bsonType: "string", description: "'status' must be a string" } } } } });
Index
Code Block language json db.accountCustomerLinks.createIndex({customerNumber: 1}); db.accountCustomerLinks.createIndex({accountNumber: 1}); db.accountCustomerLinks.createIndex({"customerNumber,accountNumber": 1}); db.accountCustomerLinks.createIndex({"customerNumber,accountNumber,organizationNumber": 1});
Target (Java)
Code Block | ||
---|---|---|
| ||
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@Document(collection = "accountCustomerLinks")
public class AccountToCustomerLinking {
@Id
private String id;
@NotNull(message="account number is mandatory")
private String accountNumber;
@NotNull(message="customer number is mandatory")
private String customerNumber;
@NotNull(message="qualification is mandatory")
private String qualification;
@NotNull(message="organization number is mandatory")
private String organizationNumber;
@NotNull(message="customer type indicator is mandatory")
private Integer customerTypeIndicator;
@NotNull(message="foreign use indicator is mandatory")
private Integer foreignUseIndicator;
private String expirationDate;
private String status;
} |
Account Card Linking
Source
Fiserv endpoint:
POST /account/prepaid
Class:
FiservRepository
Service:
linkCardToAccount
Response:
Code Block | ||
---|---|---|
| ||
public class CardToAccountLinkingResponseDTO {
private String cardNumber;
private String customerOrAccountNumber;
} |
Request
Code Block | ||
---|---|---|
| ||
public class CardToAccountLinkingRequestDTO {
private String cardNumber;
private Integer cardholderType;
private String customerOrAccountNumber;
} |
Target (MongoDB)
Collection name:
accountCardLinks
Schema:
Code Block language json db.createCollection("accountCardLinks", { validator: { $jsonSchema: { bsonType: "object", title: "Account Card Links Object Validation", required: ["cardNumber","cardholderType","customerOrAccountNumber"], properties: { cardNumber: { bsonType: "string", description: "'cardNumber' must be a string and is required" }, cardholderType: { bsonType: "int", description: "'cardholderType' must be a int and is required" }, customerOrAccountNumber: { bsonType: "string", description: "'customerOrAccountNumber' must be a string and is required" } } } } });
Index
Code Block language json db.accountCardLinks.createIndex({cardNumber: 1}); db.accountCardLinks.createIndex({cardholderType: 1}); db.accountCardLinks.createIndex({customerOrAccountNumber: 1}); db.accountCardLinks.createIndex({"cardNumber,cardholderType,customerOrAccountNumber": 1});
Target (Java)
...
language | java |
---|
...
El código se encuentra alojado en el Github y clúster de Genesys / Spin en ambientes de DEV + QA + Stage/Staging
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Mirror
Balance Mirror
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Account Mirror
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Card Mirror
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2.5 |
Interfaz | Rest |
Clúster | Spin |
Gateway
Fiserv Gateway
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2 |
Interfaz | Rest |
Clúster | Spin |
Account Gateway
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Customer Gateway
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Aggregation
Account Aggregation
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC / Rest |
Clúster | Genesys |
Customer Aggregation
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC / Rest |
Clúster | Genesys |
Card Aggregation
Tecnología | Gradle |
---|---|
Pipeline | Spin |
Lenguaje | Java 8 |
Spring boot | 2 |
Interfaz | Rest |
Clúster | Spin |
Librerías
Common API
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 3.0.8 |
Interfaz | gRPC |
Clúster | Genesys |
Core Chassis
Tecnología | Maven |
---|---|
Pipeline | Genesys |
Lenguaje | Java 17 |
Spring boot | 2.7.12 |
Interfaz | gRPC |
Clúster | Genesys |