Unified (V3) Batch Upload (sFTP) and Processing

This page is about understanding the v3 Batch file upload process via sFTP. Each template field provides specs and explanations for better understanding. The document has downloadable CSV templates for ordering, registering, and loading cards. Users can also find a look-up table for the error messages here: Error Messages. If you have any issues or questions, refer to our FAQs page.

Prerequisites

Access to Filezilla – Filezilla is an open-source, cross-platform FTP application for file transfers. Please get in touch with our backend engineer for access and more details.

Processing a File

A batch file uploaded via SFTP goes through Pre-processing and Post-processing stages. These stages ensure the file is validated, processed, and managed with appropriate error handling and status updates. Completed and failed files are placed within the processed folder with suffixes _completed or _failed , depending on the result.

Stages of Batch File Processing

  1. Client Creates a Batch File

    • Generate a Batch File: Create a batch file to place orders of type Instant Issue/Personalized/Register/Load using the Unified V3 template.
  2. Upload to Configured SFTP Folder

    • Use an SFTP Client: Use an SFTP client like FileZilla to upload the batch file to a configured folder outside the processed folder. Refer to the prerequisites section for more details.
  3. Pre-processing

    Pre-processing tasks are handled by Dash to prepare and validate the file before further processing.

  • File Pickup and Validation:
    • Dash automatically picks up the file every 15 minutes for processing and validation.
    • If Validation is Successful:
    • The file is routed to the appropriate landing zone based on size and traffic:
      • Files with 4000 or more records are dropped in Landing Zone 3.
      • Smaller files are dropped in Landing Zone 1 or 2.
    • The status updates to “File Uploaded”.
    • If Validation Fails:
    • The file is placed in the processed folder with one of the following suffixes:
      • _failed: Indicates overall file failure.
      • _duplicate: Indicates duplicate records.
      • _invalid: Indicates an invalid template or record.
      • _partialprocessed: Indicates partial validation success.
    • An error message is updated in the file, and the Account Manager (AM) and user are notified about the failure. Users must resolve the issue and re-upload the corrected file. Refer to the error guide for common issues.

4. Post-processing

Post-processing tasks are managed by the processing platform to complete order processing and deliver results back to Dash.

  • File Processing at Processing Platform:
    • Once a file is successfully routed to the processing platform, further validation and order processing begin.
    • Successful Processing:
    • If all records are processed successfully:
      • A return file is generated with the suffix _completed and placed in the processed folder (if configured by the customer).
      • Additional columns such as DDA number, proxy card number, etc., are included in the return file.
      • Fetch PersonID, Exp Date, DDA, and TRN from the processing platform and store them in Dash.
      • Results are updated on the Dash portal, and the status changes to “Completed”.
    • If some records fail:
      • Those records are marked as failed, and a file with the suffix _partialprocessed is placed in the processed folder.
    • If all records fail:
      • A return file is generated with the suffix _failed_ddmmyyyy_hhmmss and placed in the processed folder.
    • Entire File Failed:
    • A return file is generated with the suffix _failed and placed in the failed folder (if configured by the customer).
    • The status updates to “Failed”.

Note: Post-processing results may take some time to reflect on the Dash portal.

Dash SFTP Process Flow

sFTP Batch File Template

Users can use this template to upload batch files via sFTP to the Dash portal to order, register, and load cards. Each of these templates has a detailed view of the parameters involved, whether mandatory or not, as well as data type, size, and description. Some fields are conditional, meaning they may or may not be required.

A file is returned from Dash after successful processing. The file contains additional information from the processing, such as proxy card number, routing number, etc. The format of this file is noted below in the V3 Return Tab.

Note: We’ve provided tabs below with the data needed for common actions (Instant Issue Order, Personalized Order, Register, and Load). Use the V3 Unified Template for all orders, filling in only the necessary fields and leaving the rest empty.

V3 Unified Template

Column Required Type Size Desc
CPID Yes Numeric 09 Customer program id; value provided by Prepaid
cardholder_external_identifier No String 60 used to store unique identifier like employeeID stored with card holder data (FIS Other Field)
transaction_external_identifier No String 36 Assigns an external identifier for the load transaction and only applies to loading actions
name_first Yes String 50 first name of the person
name_last Yes String 50 last name of the person
ssn_number Conditional Numeric 09 SSN of cardholder, if required on program, OR nine digit identifier. Note that last four digits would be Access Code. Not needed for load only
dob Yes Date 10 date of birth in mm/dd/yyyy format
email Cond A/N 50 email id of the person. REQUIRED if using DIGITAL product
phone Yes Numeric 10 phone number of the receiving person
name_on_card No String 26 will be embossed on the card if passed and the first name and last name will be bypassed
fourth_line No String 21 will be printed on card if passed under name.
proxy_number No Numeric 19 for card registrations
card_holder_home_address1 Conditional A/N 50 residential address/street of the receiver. Not required for load only
card_holder_home_address2 Conditional A/N 50 additional information about the residential address. Not required for load only
card_holder_home_city Conditional String 18 residential city. Not required for load only
card_holder_home_state Conditional String 02 residential state code in abbreviated form, e.g. AL for Alabama, CA for California. Not required for load only
card_holder_home_zip Conditional Numeric 05 residential zip code. Not required for load only
qty No Numeric 10 Quantity for Instant Issue cards ordered only
load_value No Decimal 10

Up to 2 positive decimal places to load the card, e.g., 1.20. We allow load with

  • Personalized order
  • Card registration
  • Load card.
card_type Yes String 10 Digital or Physical
order_type Yes String 25 Personalized, InstantIssue, CardRegistration, LoadCard, Reward
transaction_desc No A/N 40 comment will be displayed in trx history/activity detail
shipping_type Yes String 25 Bulkship Or Individual Ship
shipping_method No String For bulk shipping – UPS Next Day Air, UPS Ground, UPS Second Day, FedEx Ground, FedEx 2nd Day, FedEx Next Day
shipping_addressee Conditional String 26 for card ordering/bulk shipping
shipping_attention Conditional String 26 for card ordering/bulk shipping
shipping_address1 Conditional String 50 shipping address/street of the receiver
shipping_address2 Conditional String 50 additional information about the shipping address
shipping_city Conditional String 18 shipping city
shipping_state Conditional String 02 shipping state code in abbreviated form, e.g. AL for Alabama, CA for California
shipping_zip Conditional Numeric 05 shipping zip code
order_custom_data_field1 No String 255 Custom data fields that will be associated to the Order Flow
order_custom_data_field2 No String 255 Custom data fields that will be associated to the Order Flow
order_custom_data_field3 No String 255 Custom data fields that will be associated to the Order Flow
order_custom_data_field4 No String 255 Custom data fields that will be associated to the Order Flow
order_custom_data_field5 No String 255 Custom data fields that will be associated to the Order Flow
reg_custom_data_field1 No String 255 Custom data fields that will be associated to the Registration Flow
reg_custom_data_field2 No String 255 Custom data fields that will be associated to the Registration Flow
reg_custom_data_field3 No String 255 Custom data fields that will be associated to the Registration Flow
reg_custom_data_field4 No String 255 Custom data fields that will be associated to the Registration Flow
reg_custom_data_field5 No String 255 Custom data fields that will be associated to the Registration Flow
load_custom_data_field1 No String 255 Custom data fields that will be associated to the Value Load
load_custom_data_field2 No String 255 Custom data fields that will be associated to the Value Load
load_custom_data_field3 No String 255 Custom data fields that will be associated to the Value Load
load_custom_data_field4 No String 255 Custom data fields that will be associated to the Value Load
load_custom_data_field5 No String 255 Custom data fields that will be associated to the Value Load