The FTP/SFTP integration lets you utilize two of the most widely used file transfer protocols to automatically export registration and game data to your own systems. It is important to mention that the server should be created on the client side and is not something Plyable can provide.
In this article you will learn how to:
Add the FTP/SFTP integration
Configure the FTP/SFTP integration
Map data fields
Test the FTP/SFTP integration
Add the FTP/SFTP Integration
To find the integration, go into the 'Integrations' tab on your campaign and select Add integration > Storage > FTP/SFTP > Configure now. This will start the configuration process.
Configure the FTP/SFTP integration
When opening the integration after it has been added to your campaign, the first section is 'General integration settings'. Here, you can define how to process duplicates, which registrations to transfer, and how the values from the registration form should be transferred.
The next section, 'Integration Setup', lets you define
What event should trigger the data transfer
what data should be mapped
which field(s) data should be mapped to
Be advised that you must select an event for the rest of the options to become visible.
Event type
The first option you get for each integration setup is the event type. Here you can choose between 'Form Fields' and 'Advanced'.
Form fields
Choosing the first option means that the integration will be triggered when a specific form field is filled. Often this would be the terms and conditions checkbox, but it can be any of the fields in your form.
Advanced
The advanced options will let you trigger the integration based on a date range, time range, specific answers in the form, GET parameters (variables passed via the URL) and bulk prize status.
The advanced options can be mixed and used in conjunction with each other. This gives you greater flexibility, but more often than not the regular 'Form fields' option is enough if you simply want to get all data transferred to your systems.
Date Range | Lets you specify that only registrations made between two dates should be transferred. |
Time Range | Can be used in conjunction with Date Range to further specify required data |
Form Field(s) | Lets you specify specific values entered into the form fields. For example, only transferring registrations with the name "John" in the 'name' field. |
GET parameters | Lets you grab parameters from the URL and use these as a transfer-event. For example you can choose to only trigger the integration when "?customer=YES" is present in the URL. |
Bulk Prizes | Lets you specify only to transfer registrations of participants who won / did not win a bulk prize. |
Interval settings
Next, you need to decide how often the integration should run. Here you have three options: daily, hourly, or every 15 minutes. The daily and hourly options will let you define specific days of the week or hours of the day.
This part is where you choose how often and how the format should look when you receive it on the server.
Type
Daily
Hourly
15 min interval
This will determine how often the file is sent. When choosing Daily, the default is that it would transfer the file every day at 1 am the next day. It is also possible to only sent on specific weekdays. The same goes for Hourly, the default is 1 am, but it can be changed if that is necessary.
Server settings
Finally, you need your server and file settings. The server settings are things like your username, password and hostname that we need to establish a connection. The file settings let you define how we format the generated file, so it matches what your system is expecting.
Connection type
FTP
FTP TLS (SLL)
SFTP
The most common type method here would be the SFTP due to the security aspect of the file transfer, but all options are available. The SFTP would also use port 22 whereas the other option would be port 21.
Information
Hostname (example sftp-testdomain.com)
Username
Password (Password or key)
Remote Directory (This is if it needs to be placed in a specific folder on the server)
When the information is inserted it would be possible to test whether there is a connection to the server or not. If comes back with an error, then revisit the above-mentioned information and also make sure there are no IP restrictions. If there is a need to whitelist a specific IP, this is the IP you need to insert:
108.128.255.34 (Production)
34.242.4.194
34.253.255.35
34.243.20.154
File settings
The last part is how the file should be structured. The Filename is just the name of each file, this can be configured. The default value that can be auto-populated is campaign-id, date, and time. Each file name must be unique so that the files are not overwritten with the new file. Field separator and Enclosure can also be overwritten, the default value is ; and ". Line ending can be either unix/linux/mac (default) or window.
Map data fields
When you've chosen what triggers the integration and configured the connection, it is time to decide what data is transferred and how it is saved on your end. For each data point, you need to manually define the attribute you are sending data over to.
Test the FTP/SMTP integration
Before going live with your campaign, we encourage you to test the integration.
To test the integration, you can play the game through the demo url. Then, check if the data has been transferred to your systems under the Activity > Registration tab. Be advised that depending on your configuration it can take between 15 minutes and 24 hours for the transfer to complete.
* Remember that for the integration to work properly you must go through the entire flow. Start at the presentation page and make sure to both play the game and submit a registration.
To learn more about how to test the integration, please read this Help Center article.