The API call will have these arguments:
a) a unique identifier for the external data provider
b) the 3rd party activity identifier for the pgp participant which was sent to the data provider when the participant signed up for the activity
c) a payload which indicates what file(s) to import. Details of the format of that payload are TBD, but at a minimum it should probably be a collection of URLs, ideally associated with a file type for each individual file to download.
New UserFile attributes
New Study attribute
t.boolean "contributed_user_files_are_public", :default => true