The primary use of SFTP (Secure File Transfer Protocol) is to allow you to automatically upload a CSV file containing your customer data. Unlike doing this using the Generate Video interface where you need to do this manually, using an SFTP allows you to have your developers write a program that automates this process.

This feature is part of professional services, who will handle the setup manually. The SFTP server can either be one you provide, or be provided by Idomoo. You will work with professional services to define what outputs you'd like to generate. Your SFTP will then only generate those outputs (video, thumbnails, landing pages and so on).


Using SFTP to Generate a PURL File

Your SFTP account contains a dedicated directory per project. Each project directory contains two main directories:

  • "uploads" - The directory where you will upload your data file.
  • "downloads" - The directory where Idomoo will place the resulting PURL files.


Once you begin uploading a file to your dedicated SFTP account, the system identifies the incoming data and triggers the video generation process. Once this has completed, a PURL file (Personal URL file) is created containing links to your videos and other media.

In order to generate a PURL using the SFTP video generation process, you need to complete the following steps:

  1. Prepare your data file. Find guidelines below.
  2. Log into your SFTP account using your credentials - you either have these or you have been provided with these by Idomoo professional services. SSH key authentication is also an option.
  3. Navigate to the relevant project directory and upload your data file into the uploads directory on the SFTP server.
  4. Monitor the downloads directory. Idomoo automatically generates your video and creates a PURL file which then appears in the downloads directory once the process has finished.
  5. This PURL will contain the data from the original file, plus additional columns containing output file links (for example: video, personalized thumbnail, landing page).


The Data File

The data file you place in the uploads directory needs to be put together according to these guidelines:

  1. File type: The file must be in one of the following file formats:
    1. CSV (with one of the following delimiters , ; | tab)
    2. TSV (with one of the following delimiters , ; | tab)
    3. TXT (with one of the following delimiters , ; | tab)
    4. DAT (with one of the following delimiters , ; | tab)
  2. Compression: You can choose to zip the file if you wish.
  3. Naming convention: You should avoid uploading any two files that contain the exact name, either in the same upload or in subsequent uploads. Idomoo recommends the following naming convention:
    __YYYYMMdd_HHMMss_mm
  4. Encoding: The file must be encoded as UTF-8 (with our without BOM) or Windows-1252.
  5. Size: The file must not exceed a file size of 400MB and hold a maximum of 500K rows.
  6. Content: the column headers should be the storyboard parameters. A column for each parameter. You can add extra columns if you wish and they will be part of the generated PURL file, in case you need more data to be able to track each row. Add the actual data for each video in each row. The number of rows is the number of videos, or outputs, you are generating.


PGP/GPG Encryption

Securing the data and PURL files using public and private key encryption combinations is also possible, and follows a simple standard protocol.

During the setup process:

  1. The client provides idomoo, in advance, their public key. Idomoo will use it to encrypt the PURL file before returning it.
  2. Idomoo provides the client with its public key. The client will use it to encrypt the data file before sending it.


When generating videos:

  1. The client encrypts the data file using Idomoo's public key.
  2. The client sends idomoo a file in a pgp format (.pgp) or a gpg format (.gpg).
  3. Idomoo decrypts the data file, using Iodmoo's private key.
  4. Idomoo generates the videos and sends back an encrypted PURL file in gpg or pgp format (.gpg, .pgp), using the public key given by the client.
  5. The client decrypts the PURL file using their private key.


End-to-End Testing

You are encouraged to fully test the SFTP process before your project's launch date. This will allow time on both sides to check the workflow.

End-to-end testing should include the following steps:

  1. You should upload, into the relevant project's uploads directory, a data file containing at least 20 rows of data. Complex projects may require more rows in various permutations.
  2. Idomoo will generate the resulting video and place a PURL in the downloads directory in the relevant project directory of your SFTP account.

Note: A list of error codes can be obtained from Idomoo should issues occur with the data in your video project.