Batch Processing
Batch File Processing is used to add and remove access for users via flat file communication. The typical processing flow is as follows but can vary somewhat depending on the integration setup.
- Client accepts payment external to Intelivideo
- Client creates a flat file in the format below and adds it to a folder on an FTP folder
- Intelivideo looks for a file at the top of every hour and processes all files available
- Intelivideo will create access, remove access, or reverse transactional funds based on the information in the flat file
Intelivideo will need to be notified on all events for a customer. Once access is granted, Intelivideo will not remove access until told by the client via this integration. For example if you are selling a subscription or installment product, we will not remove access until we receive a "cancel" event, even if there is a refund of one of the payments. Refund events for single purchases removes access automatically.
Events per pricing type:
- Single : sale, refund
- Subscription : sale, refund, cancel
- Installment : sale, refund, cancel
1. FTP Server Details
- Please provide us FTP username, password, port, and directory where Intelivideo will poll for new files from
- Intelivideo will poll that folder once per hour to look for new files... processing each one.
- Typically we look for all files with the format *.csv (this can be customized in your Intelivideo backlot)
2. File Processing
- Intelivideo will iterate over each row of the file (not including the first header row)... processing each in turn.
- A result file is generated which includes each line from the original file appended with the status for that row in the last column.
- Response statuses include: SKIPPED, ERROR, CREATED
- SKIPPED: we already have a transaction for this user (email) / product in the Intelivideo platform
- ERROR: includes the error message as to why
- CREATED: the order was created in our system
- The result file is placed back in the FTP folder where it was retrieved with the extension .timestamp.results
- ie: orginal_filename.csv.1416265213.results
- OR if there were any errors in the result file we also append .errors so that you can quickly verify whether any errors were present or not:
- ie: orginal_filename.csv.1416265213.results.errors
- The processor matches all cancel and refund events on order_id and sku to determine which order line item to act on.
- The order_id on all cancel and refund events needs to be the original order_id sent in the sale event
- The SKU field is case sensitive and if it doesn't match the row will be SKIPPED
- Event Notes:
- sale : Creates a customer account and assigns the product determined by the SKU
- refund : Refunds the transaction created via the sale event, reversing monetary tracking and customer access
- cancel : Removes customer access and stops all recurring charges that are tracked by the intelivideo platform for subscription products
3. File Format
Files by default use the following fields. The event can be: 'sale','refund','cancel'. The file is typically in a comma separated format such as a csv file and contains a header row with the files listed below. See the example file listed below the detailed list of columns.
:order_id, (required)
:timestamp, (required) (Format = mm/dd/yy)
:first_name,
:last_name,
:billing_address1,
:billing_address2,
:billing_city,
:billing_state,
:billing_zip,
:phone_number,
:email, (required)
:shipping_fname,
:shipping_lname,
:shipping_address1,
:shipping_address2,
:shipping_city,
:shipping_state,
:shipping_zip,
:quantity, :sku, (required and case sensitive)
:event (required) (Event can be: 'sale','refund','cancel')