FLEXBridge Card Processing API
This document provides comprehensive technical documentation for the FlexBridge Card Processing API, a RESTful API designed for managing member debit and credit card information within the Flex system (www.flexcutech.com). This API is essential for Credit Union staff and integrated systems to acquire, extract, disseminate, maintain, and modify member card data.
1. Introduction to FlexBridge Card Processing API
The FlexBridge Card Processing API provides service access to the card processing segment of the Flex database. It supports various functions for managing member cards, including searching, adding, and updating card information.
- Available FLEX Releases: 8.05
- Card Processing Service API Version: 1.132 and up
2. General API Information
- RESTful API: Follows RESTful principles for communication.
- Authentication: Requires built-in authentication via HTTPS request headers. Refer to the FLEX Core System documentation for details on adding authentication headers.
3. FLEXBridge Functions
The FlexBridge Card Processing API offers the following core functions:
- Search for a card by account or card number.
- Add a new card.
- Update an existing card.
4. Card Processing Search
This function retrieves a list of cards and associated information, which can then be used to update a card. It supports searching by Account Number or Card Number.
- GET Method:
- URL: https://{BASE_URL}/api/cardprocessing/search/{SEARCH_TYPE}?query={QUERY_STRING}
- Parameters:
- {SEARCH_TYPE} (Required, String): Specifies the type of search.
- Possible values: “accountnumber”, “cardnumber”, or “thirdpartycard”.
- {QUERY_STRING} (Required, String): The account or card number used for the search.
- {SEARCH_TYPE} (Required, String): Specifies the type of search.
- Response Object (cards):
{
“cards”: [] // List of card detail information.
}
5. Adding a New Card
The process of adding a new card requires an existing member account number.
- Steps:
- Retrieve Default Settings: Use the GET method populatedefaults to retrieve the default settings for a specified card type.
- Verify and Adjust Data: Ensure all required attributes are populated and make any necessary data adjustments.
- Add Card: Use the POST method addcard to add the card to the member’s account.
5.1. Populate Defaults (populatedefaults)
Retrieves default card settings based on account number and card type.
- GET Method:
- URL: https://{BASE_URL}/api/cardprocessing/populatedefaults/accountnumber/{ACCOUNT_NUMBER}/cardtype/{CARD_TYPE}
- Parameters:
- {ACCOUNT_NUMBER} (Required, String): Account number of the individual.
- {CARD_TYPE} (Required, String): Credit union defined card type.
- Response Object (cardDetailDefaults):
{
“cardDetailDefaults”: {} // List of card information based on the credit union’s current card type configuration.
}
5.2. Add Card (addcard)
Adds a new card to a member’s account.
- POST Method:
- URL: https://{BASE_URL}/api/cardprocessing/addcard?tellerID={TELLER_ID}&workstation={WORKSTATION_ID}
- Parameters (Optional URL Headers):
- {TELLER_ID} (Optional, String): Teller ID involved in adding the card.
- {WORKSTATION_ID} (Optional, String): Workstation ID involved in adding the card.
- JSON Body: Contains the card details.
- Note: The member’s full name (first, middle, last) for embossing is limited to 21 characters. The member’s name is required.
- Response Attribute (cardnumber):
{
“cardnumber”: 64164900000350487 // The card number is returned upon a successful request.
}
6. Updating Card Information
Updates existing card information. The member’s card number is required.
- PATCH Method:
- URL: https://{BASE_URL}/api/cardprocessing/updatecard/cardnumber/{CARD_NUMBER}?tellerID={TELLER_ID}&workstation={WORKSTATION_ID}
- Parameters:
- {CARD_NUMBER} (Required, String): The card number to be updated.
- {TELLER_ID} (Optional, String): User or Teller ID involved in the update.
- {WORKSTATION_ID} (Optional, String): Workstation ID involved in the update.
- JSON Body: A JSON Patch document specifying the changes. Only attributes being changed should be submitted.
- Example (Updating a single attribute):
[
{
“op”: “replace”,
“path”: “/lastIssueInfo/lastIssueDate”,
“value”: “09/07/2018”
}
] - Example (Updating multiple attributes):
[
{
“op”: “replace”,
“path”: “/blockInfo/blockDate”,
“value”: “09/07/2018”
},
{
“op”: “replace”,
“path”: “/blockInfo/blockCode”,
“value”: “L”
},
{
“op”: “replace”,
“path”: “/cardNotes/0/noteField”,
“value”: “test this is a”
},
{
“op”: “replace”,
“path”: “/cardNotes/1/noteField”,
“value”: “test”
}
]
- Example (Updating a single attribute):
- Response Object (success):
{
“success”: true // Indicates if the request was successful.
}
7. Object Types and Attributes
This section details the various objects and their attributes used in the Card Processing API for both requests and responses.
7.1. cards (Cards Detail Information)
Represents comprehensive card details.
- Attributes:
- accountNumber (Required, Number): Base account number. Max 9 chars.
- cardNumber (Optional, Number): Card number. Max 22 chars.
- plasticNumber (Optional, Number): Card sequence number. Default 0. Max 1 char.
- cardType (Required, String): Credit union defined card type (e.g., DB, VS). Max 2 chars.
- openDate (Required, Date): Date card was opened (MM/DD/CCYY).
- blockInfo (Optional, List): Card block and reclassification information.
- cardLimit (Optional, List): Daily card limits and usage.
- cardStyleCode (Optional, String): Gallery design image number. Max 10 chars.
- lastIssueInfo (Optional, List): Information regarding last issue of card.
- pendingIssueInfo (Optional, List): Information on pending issue of card.
- currentExpireDate (Required, Number): Current expiration date (YYMM).
- activationCode (Optional, String): Card activation code. Max 1 char.
- cardHolders (Required, List): List of cardholder’s information.
- pinOffset (Required, Number): PIN offset. Should be 0000. Max 4 chars.
- pinReferenceNum (Optional, Number): PIN reference number. Max 22 chars.
- incorrectPinCount (Optional, Number): Number of incorrect PIN tries.
- cardFundingSuffixes (Required, List): List of card funding suffixes.
- feesActive (Required, String): Indicates if fees will be charged (Y or N). Default Y. Max 1 char.
- xrefNumber (Optional, Number): Cross Reference number. Max 22 chars.
- participationCode (Required, String): Rewards program enrollment (Y or N). Default N. Max 1 char.
- cardNotes (Optional, List): List of card notes.
- cardTeller (Required, String): Teller ID. Max 4 chars.
7.2. cardDetailDefaults
Provides default card information based on credit union configuration.
- Attributes: Similar to cards attributes, but specifically for default values.
7.3. lastIssueInfo
Information regarding the last issue of a card.
- Attributes:
- lastIssueCase (Optional, String): Credit union specific case. Max 1 char.
- lastIssProcessor (Optional, String): Credit union specific processor. Max 2 chars.
- lastInstIssSuccess (Optional, String): Last instant issue success. Max 1 char.
- lastIssueFormat (Optional, String): Format of file issued. Max 1 char.
- lastIssueOption (Optional, String): Last chosen renewal of card type (C=Card, P=Pin, B=Both). Default C. Max 1 char.
- lastInstantResponse (Optional, String): Last instant response. Max 10 chars.
- lastIssueDate (Optional, Date): Date of last card issue (MM/DD/CCYY).
- lastExpireDate (Optional, Number): Last expiration date (YYMM).
7.4. pendingIssueInfo
Information on pending issue of a card.
- Attributes:
- nextIssueOption (Optional, String): Next issue option (C=Card, P=Pin, B=Both). Default C. Max 1 char.
- nextCardActiveCode (Optional, String): Next card activation code (Y or N). Default blank. Max 1 char.
- pendingIssueCase (Required, String): Credit union specific pending issue case. Max 1 char.
- pendingIssProcessor (Optional, String): Credit union specific pending issue processor. Max 2 chars.
- pendingIssueFormat (Optional, String): Pending issue format. Max 1 char.
- pendingIssueOption (Optional, String): Pending issue option (C=Card, P=Pin, B=Both). Default C. Max 1 char.
- pendingExpireDate (Required, Number): Pending expiration date (YYMM).
- pendingCardActive (Optional, String): Pending card activation code. Max 1 char.
- rushCode (Required, String): Rush Code (Y or N). Default N. Max 1 char.
7.5. blockInfo
Card block and reclassification information.
- Attributes:
- blockCode (Optional, String): Block codes (N=Null, A=Active, L=Lost, S=Stolen). Default blank. Max 1 char.
- blockDate (Optional, Date): Date of last card block (MM/DD/CCYY).
- currentReclassCode (Optional, String): Current reclassification code. Max 1 char.
- currentReclassDate (Optional, Date): Current reclassification date (MM/DD/CCYY).
- captureRequestDate (Optional, Date): Date card was requested to be captured (MM/DD/CCYY).
- actualCaptureDate (Optional, Date): Date card was actually captured (MM/DD/CCYY).
7.6. cardLimit
Daily card limits and usage.
- Attributes:
- dailyLimitWD (Optional, Number): Daily limit for total transaction. Default blank. Max 6 chars.
- dailyLimitATM (Optional, Number): Daily limit for ATM use. Default blank. Max 6 chars.
- dailyLimitPOS (Optional, Number): Daily limit for point of sale transaction. Default blank. Max 6 chars.
- dailyAmountUsedWD (Optional, Number): Total amount of withdrawal used in last 24-hour period. Max 9 chars.
- dailyAmountUsedATM (Optional, Number): Total amount of ATM used in last 24-hour period. Max 9 chars.
- dailyAmountUsedPOS (Optional, Number): Total amount of point of sale used in last 24-hour period. Max 9 chars.
- lastDateAmountUsed (Optional, Date): Last date card was used for card limit calculation (DD/MM/CCYY).
7.7. cardHolders
Cardholder’s information.
- Attributes:
- firstNameCard (Required, String): First name on card. Max 36 chars.
- middleInitCard (Required, String): Middle initial. Max 1 char.
- lastNameCard (Required, String): Last name on card. Max 36 chars.
- numberToIssueName (Required, Number): Number of cards issued to the name. Max 2 chars.
- forceIssueName (Optional, String): Force issue options. Max 1 char.
- associationCode (Required, String): Association code (C=Comaker, J=Joint Owner, A=Authorized Signer, blank for Primary Member). Default blank for primary. Max 1 char.
- photoRefNumName (Optional, String): Individual photo file number. Max 25 chars.
- photoDate (Optional, Date): Date of photo reference stored name (MM/DD/CCYY).
- pendingPhotoFee (Optional, String): Charge fee for a photo (Y or N). Max 9 chars.
7.8. cardNotes
Card notes.
- Attributes:
- noteField (Optional, String): Up to two lines, max 20 chars per line.
7.9. cardFundingSuffixes
Card funding suffixes.
- Attributes:
- classSuffix (Required, Number): Credit union defined funding suffix. Max 4 chars.
- classType (Required, String): Card class type (CHK, SAV, VSA, HAS, LOC, MMA). Max 3 chars.
- classRestrict (Optional, String): Class restriction. Default blank. Max 1 char.
8. HTTPS Status Code 500 Error Includes FLEX Validation Checks
Flex provides additional information in 500 HTTP Status Code errors for troubleshooting. These errors often indicate invalid attribute values or missing configurations in the Credit Union’s database.
- Common Error Messages (Examples):
- “Internal server error – java.lang.RuntimeException: noteField1 cannot exceed 20 characters”
- “Internal server error – Card type ZZ is not valid”
- “Internal server error – java.lang.RuntimeException: currentExpireDate cannot exceed total length of 4 with 0
- decimals”“Internal server error – java.lang.RuntimeException: middleInitial On Card1 cannot exceed 1 characters”
- “Internal server error – java.lang.RuntimeException: dailyLimitWD cannot exceed total length of 5 with 0 decimals”
- Troubleshooting Tip: Provide the exact error message to your Credit Union’s Flex support for efficient troubleshooting. They are typically familiar with these messages and how to correct the underlying data.