API Upload Project Assets

From zFairs Contest Management
Revision as of 14:10, 3 November 2021 by Michael (talk | contribs)

Upload Project Assets

Upload Project Image

You can use our API to upload images to a project, so these can be viewed by your judges or in the showcase. To do this, you need to POST a message to your site. Below is an example of what needs to be posted.

fetch('/api/data/project/file', {
    method:'POST',
    headers:{'Content-Type': 'application/json'},
    body: JSON.stringify({
            Username:'admin username',
            Password: 'password',
            FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', //This value can be found in your url it's the value of f
            Body: {
				"ProjectKey":"32161f13-474b-442f-ac1f-edca7348e000",
				"Base64String" : "iVBORw0KGgoAAAANSUhEUgAAAQIAA...", //not required if you use DownloadFromUrl
				"DownloadFromUrl":"http://yoursite.com/somefile.png", //optional can be used in stead of Base64String
				"FileName": "myAwesomeFile.png",
				"Caption": "indescribable"
			}
        })
})
.then(response => response.json())
.then(data=>{console.log('Success: ',data);})
.catch((error)=>{console.log('Error: ', error);});

Upload Project Paperwork

You can use our API to upload project paperwork, so these can be viewed by your judges, SRC, and IRB. These files need to be PDFs. You will need to get the PaperworkFileType form the API Get Info. To do this, you need to POST a message to your site. Below is an example of what needs to be posted.

fetch('/api/data/project/file', {
    method:'POST',
    headers:{'Content-Type': 'application/json'},
    body: JSON.stringify({
            Username:'admin username',
            Password: 'password',
            FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', //This value can be found in your url it's the value of f
            Body: {
				"ProjectKey":"32161f13-474b-442f-ac1f-edca7348e000",
				"PaperworkFileType": 123, // this is pulled from the get info api
				"Base64String" : "iVBORw0KGgoAAAANSUhEUgAAAQIAA...", //not required if you use DownloadFromUrl
				"DownloadFromUrl":"http://yoursite.com/somefile.png", //optional can be used in stead of Base64String
				"FileName": "myAwesomeFile.png"
			}
        })
})
.then(response => response.json())
.then(data=>{console.log('Success: ',data);})
.catch((error)=>{console.log('Error: ', error);});