Difference between revisions of "API Add Project"

From zFairs Contest Management
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Add Project==
 
== Add Project==
 
You can use our api to add a project and it's participants To do this you need to POST a message to your site. Below is an example of what needs to be posted.
 
You can use our api to add a project and it's participants To do this you need to POST a message to your site. Below is an example of what needs to be posted.
 +
 +
If you only want to update a project see [[API Update Project]]
  
 
<syntaxhighlight lang="JavaScript" line>
 
<syntaxhighlight lang="JavaScript" line>
Line 8: Line 10:
 
     headers:{'Content-Type': 'application/json'},
 
     headers:{'Content-Type': 'application/json'},
 
     body: JSON.stringify({
 
     body: JSON.stringify({
             Username:'admin username',
+
             ApiKey:'<Private key>',
            Password: 'password',
 
 
             FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', //This value can be found in your url it's the value of f
 
             FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', //This value can be found in your url it's the value of f
 
             Body: {
 
             Body: {
 
Title:'Project Title' //Required
 
Title:'Project Title' //Required
,CategoryId  //Required
+
,CategoryId: 123 //Required
 +
,SubCategoryId: 123 //optional
 
,Plan: 'Project Plan' // optional
 
,Plan: 'Project Plan' // optional
 
,Abstract: 'Project Abstract'// optional
 
,Abstract: 'Project Abstract'// optional
 
,Description: 'Project Description'// optional
 
,Description: 'Project Description'// optional
 +
,ProjectKey: ’36 char GUID’//optional
 +
,EntryVideoLink: ‘video Link’ //optional
 +
,EntryVideoLink2: ‘video Link’ //optional
 
,CategoryAwardId: 1 // optional
 
,CategoryAwardId: 1 // optional
,SpeicalAwardIds: [1, 2] //optional
+
,SpecialAwardsIds: [1, 2] //optional
 +
,EntryTypeId: 2 //optional value come from info api
 +
,Language:'Spanish' //optional - interpreter need for this language
 +
,InPerson:'Yes' //optional - 'yes' or 'no'
 
,Participants : [{
 
,Participants : [{
 
FirstName: 'Jane' //Required
 
FirstName: 'Jane' //Required
Line 35: Line 43:
 
,Zip: '65951'
 
,Zip: '65951'
 
,Role: 'Student'  
 
,Role: 'Student'  
 +
                                        ,ID:  'Student GUID ID' //optional
 +
                                        ,Username: 'Student User Name' //optional
 +
                                        ,Password:  'Student Password' //optional
 +
,Language:'Spanish' //optional - interpreter need for this language
 
,ProfilePicture: { //Optional
 
,ProfilePicture: { //Optional
 
Base64String: 'base64 file string',
 
Base64String: 'base64 file string',
Line 42: Line 54:
  
 
}],
 
}],
"Files": [{
+
"CustomQuestions" : //optional
          "Base64String" : "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",
+
[{
          "FileName": "myAwesomeFile.png",
+
"Id": 123,
          "Caption": "indescribable"
+
"Value": "This is my answer"
          },
+
},...]
          {
+
"Files": //optional
          "Base64String" : "file String Here",
+
[{  
          "FileName": "myAwesomeFile2.png",
+
          "Base64String" : "iVBORw0KGgoAAAANSUhEUgAAAQIAA...", //not required if you use DownloadFromUrl
          "Caption": "indescribable also"
+
          "DownloadFromUrl":"http://yoursite.com/somefile.png",//optional can be used in stead of Base64String
          },
+
          "FileName": "myAwesomeFile.png",
          {
+
          "Caption": "indescribable"
          "Base64String" : "file string here",
+
          },
          "FileName": "myAwesomething.pdf",
+
          {
          "Caption": "indescribable pdf"
+
          "Base64String" : "iVBORw0KGgoAAAANSUhEUgAAAQIAA...",
 +
          "FileName": "myAwesomeFile2.png",
 +
          "Caption": "indescribable also"
 +
          },
 +
          {
 +
          "DownloadFromUrl":"http://yoursite.com/somefile.png",
 +
          "FileName": "myAwesomething.pdf",
 +
          "Caption": "indescribable pdf"
 
           }]
 
           }]
 
}
 
}
Line 67: Line 86:
  
 
== Where to get values ==
 
== Where to get values ==
Various fields need id values such as '''CategoryId''', '''CategoryAwardId''', and '''SpecialAwardIds'''. You can get these values from our API. Check out [[API Get Info]]
+
Various fields need id values such as '''CategoryId''', '''CustomQuestion Ids''', '''CategoryAwardId''', and '''SpecialAwardIds'''. You can get these values from our API. Check out [[API Get Info]]
  
=== Additional Optional fields of Participants ===
 
 
A participant record is very similar to a teacher record see [[API Add Person]] for optional fields of participants.
 
A participant record is very similar to a teacher record see [[API Add Person]] for optional fields of participants.
 +
 +
 +
You can also add '''FixedProjectId''', this allows you to upload the project Id you want to be used for your uploaded project.
 +
 +
 +
 +
<br/><br/><br/><br/>
 +
[[Category: API]]

Latest revision as of 21:48, 10 April 2024

Add Project

You can use our api to add a project and it's participants To do this you need to POST a message to your site. Below is an example of what needs to be posted.

If you only want to update a project see API Update Project

fetch('/api/data/project', {
    method:'POST',
    headers:{'Content-Type': 'application/json'},
    body: JSON.stringify({
            ApiKey:'<Private key>',
            FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', //This value can be found in your url it's the value of f
            Body: {
				Title:'Project Title' //Required
				,CategoryId: 123  //Required
				,SubCategoryId: 123 //optional
				,Plan: 'Project Plan' // optional
				,Abstract: 'Project Abstract'// optional
				,Description: 'Project Description'// optional
				,ProjectKey: ’36 char GUID’//optional
				,EntryVideoLink: ‘video Link’ //optional
				,EntryVideoLink2: ‘video Link’ //optional
				,CategoryAwardId: 1 // optional
				,SpecialAwardsIds: [1, 2] //optional
				,EntryTypeId: 2 //optional value come from info api
				,Language:'Spanish' //optional - interpreter need for this language
				,InPerson:'Yes' //optional - 'yes' or 'no'
				,Participants : [{
					FirstName: 'Jane' //Required
					,LastName: 'Doe' //Required
					,Grade: 6 //Required
					,TeacherId: '9df61f13-474b-442f-ac1f-edca7348ef71' //Required
					,SchoolId: 24 //Required
					,Email: 'jane@example.com'
					,Email1: 'Doe@example.com'
					,Phone: '800-000-0000'
					,Phone1: '800-123-1324'
					,Address: '1219 45th st'
					,Address2: 'APT 3B'
					,City: 'Ogden'
					,State: 'VA'
					,Zip: '65951'
					,Role: 'Student' 
                                        ,ID:  'Student GUID ID' //optional
                                        ,Username: 'Student User Name' //optional
                                        ,Password:  'Student Password' //optional
					,Language:'Spanish' //optional - interpreter need for this language
					,ProfilePicture: { //Optional
						Base64String: 'base64 file string',
						"FileName": "myAwesomeFileDude.png",
						"Caption": "indescribable profile Pic"
					}

				}],
				"CustomQuestions" : //optional
					[{
						"Id": 123,
						"Value": "This is my answer"
					},...] 
				"Files": //optional
					[{ 
           					"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"
           					},
           					{
           					"Base64String" : "iVBORw0KGgoAAAANSUhEUgAAAQIAA...",
           					"FileName": "myAwesomeFile2.png",
    		       				"Caption": "indescribable also"
           					},
           					{
           					"DownloadFromUrl":"http://yoursite.com/somefile.png",
           					"FileName": "myAwesomething.pdf",
           					"Caption": "indescribable pdf"
           				}]
			}
        })
})
.then(response => response.json())
.then(data=>{console.log('Success: ',data);})
.catch((error)=>{console.log('Error: ', error);});

Where to get values

Various fields need id values such as CategoryId, CustomQuestion Ids, CategoryAwardId, and SpecialAwardIds. You can get these values from our API. Check out API Get Info

A participant record is very similar to a teacher record see API Add Person for optional fields of participants.


You can also add FixedProjectId, this allows you to upload the project Id you want to be used for your uploaded project.