iSheet - Collaborate 5.5 API list
OVERVIEW
1) API - To create the iSheet item
- POST - /{version}/isheet/{isheetid}/items
- This API call is used to insert an iSheet item. Multiple iSheets can be supported.
- Fix Provided - System was not inserting a default value if a user only had view permission of that column , so in 5.5 we have added a default value when a user only has view permission.(Same as UI)
- Note : We have fixed this issue for API version 3 and above.
2) APT - Create iSheet in Site
- POST /api/3/isheets/admin?siteid={siteid}
- This API used to add a new iSheet to the site.
- "<allowIsheetComments>{0/1}</allowIsheetComments>" tag has been introduced in the request body to enable and disable the comments for the iSheet. This tag is available from version 12 onwards.
- This is added as per the isheet comment epic in 5.5
- <isheet>
<id>{iSheet id}</id>
<title>{The title of the isheet}</title> {This is a required parameter}
<description>{Provide description for the isheet}</description>
<status>Active / Pending</status>
<type>{text value of the supported types, possible values are documentmetadata / foldermetadata / taskmetadata / normal}</type>
<accesstype>{Possible values are public / private {default value is private}}</accesstype>
<allowIsheetComments>{0/1}</allowIsheetComments>
<columns>
A list of column object column objects
</columns>
</isheet>
3) API - Edit iSheet in Site
- PUT /api/3/isheets/admin/{isheetid}
- This API used to edit existing iSheet.
- "<allowIsheetComments>{0/1}</allowIsheetComments>" tag has been introduced in the request body to enable and disable the comments for the iSheet. This tag is available from version 12 onwards.
- This is added as per the isheet comment epic in 5.5
- <isheet>
<id>{iSheet id}</id>
<title>{The title of the iSheet}</title> {This is a required parameter}
<description>{Provide description for the isheet}</description>
<status>Active / Pending</status>
<type>{text value of the supported types, possible values are documentmetadata / foldermetadata / taskmetadata / normal}</type>
<accesstype>{Possible values are public / private {default value is private}}</accesstype>
<allowIsheetComments>{0/1}</allowIsheetComments>
<columns>
A list of column objects
</columns>
</isheet>
4) API - Get list of iSheets available in the site.
- GET /api/3/isheets/admin?siteid={siteid}
- This API is used to get a list of iSheets in a site.
- "<allowIsheetComments>{0/1}</allowIsheetComments>" tag has been introduced in the response body which indicates whether comments for the iSheet are enabled or disabled. This tag is available from version 12 onwards.
- This is added as per the iSheet comment epic in 5.5
- <isheet>
<id>{iSheet id}</id>
<title>{The title of the iSheet}</title> {This is a required parameter}
<description>{Provide description for the isheet}</description>
<status>Active / Pending</status>
<type>{text value of the supported types, possible values are documentmetadata / foldermetadata / taskmetadata / normal}</type>
<accesstype>{Possible values are public / private {default value is private}}</accesstype>
<allowIsheetComments>{0/1}</allowIsheetComments>
<columns>
A list of column object column objects
</columns>
</isheet>
5) API- Get alist of comments on particular content.
- GET /comments{?filter parameters}
- This API is used to get the list of comments available on particular content such as wiki, blog etc.
- We have introduced "Isheet" as a new content type filter, which is used to get the list of comments for isheet itemid passed in contentId param.
- This is added as per the isheet comment epic in 5.5
- /api/1/comments?contenttype=files
- Microblogs
- Files
- Wiki
- Blog
- Tasks
- Events
- Isheet
6) API - Add comment on particular content
- POST : /api/4/comments?contentid={contentid}&contenttype={contenttype}
- This API is used to add a comment on particular content like wiki, blog etc.
- We have introduced "Isheet" as a new content type filter, which is used to get the list of comments for isheet itemid passed in contentId param.
- This is added as per of isheet comment epic in 5.5
- /api/1/comments?contenttype=files
- Microblogs
- Files
- Wiki
- Blog
- Tasks
- Events
- Isheet
7) API - Get list of linked isheet templates
- GET /api/12/isheet/system/linkedIsheetTemplates
- This API is used to get a list of linked iSheet templates.
- This API has been designed with a service layer approach for System level iSheet API improvements (for 3E integration) Epic (COL-122769) in 5.5
- Note: This API is created for connector purpose specifically and if needs to be used by client contact developer team first before client starts integration
8) API - Get template isheets by template id
- GET /api/12/isheet/system/getSheetsByTemplateId?templateid={templateid}
- This API is used to get template iSheets by template id.
- This API has been designed with a service layer approach for System level iSheet API improvements (for 3E integration) Epic (COL-122769) in 5.5
- Note: This API is created for connector purpose specifically and if needs to be used by client contact developer team first before client starts integration
9) API - Get list of external ids by iSheet id
- GET /api/12/isheet/externalIdsBySheetId?sheetid={sheetid}&startPos={startPos}&limit={limit}
- This API is used to get a list of external ids by iSheet id.
- This API has been designed with a service layer approach for System level iSheet API improvements (for 3E integration) Epic (COL-122769) in 5.5
- We have added pagination support for this API to get maximum 2000 external Ids details in single API call.
- Note: This API is created for connector purpose specifically and if needs to be used by client contact developer team first before client starts integration
10 ) API - insertUpdateIsheet item API
- POST /api/12/isheet/items/insertUpdateItems
- Request body :<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sheet>
<metaData>
<UserEmail><![CDATA[rishit.patel@highqsolutions.com]]></UserEmail>
<Key><![CDATA[Key]]></Key>
<siteid><![CDATA[3005]]></siteid>
<sheetid><![CDATA[1005]]></sheetid>
</metaData>
<head>
<headColumn sequence="0">
<columnValue><![CDATA[modutype_id]]></columnValue>
</headColumn>
<headColumn sequence="1">
<columnValue><![CDATA[moduletype_name]]></columnValue>
</headColumn>
<headColumn sequence="2">
<columnValue><![CDATA[moduletype_displayname]]></columnValue>
</headColumn>
</head>
<data>
<item externalID="13">
<column sequence="0">
<rawData>
<text><![CDATA[13]]></text>
</rawData>
</column>
<column sequence="1">
<rawData>
<text><![CDATA[test-13]]></text>
</rawData>
</column>
<column sequence="2">
<rawData>
<text><![CDATA[test-13]]></text>
</rawData>
</column>
</item>
</data>
</sheet> - This API has been designed to insert / update items using the connector and currently supported only these columns - Single line, Multiline, Choice , Date and time, Number
- It returns a progressive key in response and using a progressive key the API result can be tracked
- Not recommended for end user due to limited column support and fact that it can be access only by admin users (content/site admin/ system admin)
11) GET /api/12/isheets/admin/{isheetid}
- This API was already available to fetch columns of an iSheet at site level . Its behaviour has been extended to support system level iSheets also now.
12) API - Get site level imported sheets by template id
- GET /api/12/isheet/system/templatesheetsforsite/{templateid}
- This API is used to get the list of site level iSheets created using a specific iSheet template.
- This API has been designed with a service layer approach for System level iSheet API improvements (for 3E integration) Epic (COL-122769) in 5.5
- Note: This API is created for connector purpose specifically and if needs to be used by client contact developer team first before client starts integration
13) API - Task Start/Due Date - get item API
- GET /api/3/isheet/{isheetid}/items
- GET /api/3/isheet/{isheetid}/items/{itemid}
- GET /api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above three APIs are used to get iSheet item details.
- We have modified these existing APIs, to get start and due date column for TMD iSheet.
14) API - Task Start/Due Date - update item API
- PUT /api/3/isheet/{isheetid}/items/{itemid}
- PUT api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above two APIs are used to update iSheet item details.
- We have modified these existing APIs, to update start and due date column for TMD isheet.
15) API - ISheet User Lookup Column - get item/get all item API
- GET /api/3/isheet/{isheetid}/items
- GET /api/3/isheet/{isheetid}/items/{itemid}
- GET /api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above three APIs are used to get iSheet item details.
- We have modified these existing APIs to support groups in the user lookup column.
- "<userlookuptype>1/2/3</userlookuptype>" tag has been introduced in the request body which indicates whether a user lookup column value for user or site group or system group. 1 stands for "Users", 2 stands for "Site Groups" and 3 stands for "System Groups"
- <column sequence="{sequence}" attributecolumnid="{column id}">
<rawdata>
<lookups>
<lookup>
<id>
<![CDATA[{user id/site group id/system group id}]]>
</id>
<email>
<![CDATA[{email address in case of users}]]>
</email>
<userlookuptype>
<![CDATA[{user lookup type (1/2/3)}]]>
</userlookuptype>
</lookup>
</lookups>
</rawdata>
<displaydata>
<lookupusers>
<lookupuser>
<userdisplayname>{user display name}</userdisplayname>
<orgname>{organization name}</orgname>
<email>
<![CDATA[{email address in case of users}]]>
</email>
<apiurl>{api url for users/site groups/system groups}</apiurl>
<httpurl>{http url in case of users}</httpurl>
<fielddisplay>{user lookup column field display}</fielddisplay>
</lookupuser>
</lookupusers>
</displaydata>
</column>
16) API - ISheet User Lookup Column - insert item API
- POST api/3/isheet/{isheetid}/items
- Above API is used to insert iSheet items details.
- We have modified these existing APIs, to support groups in the user lookup column.
- "<userlookuptype>1/2/3</userlookuptype>" tag has been introduced in the request body which indicates whether a user lookup column value for user or site group or system group. 1 stands for "Users", 2 stands for "Site Groups" and 3 stands for "System Groups"
- <isheet recordcount="">
<data>
<item externalid="" itemsequence="{item sequence}" itemid="">
<column sequence="{sequence}" attributecolumnid="{column id}">
<rawdata>
<lookups>
<lookup>
<id>
<![CDATA[{user id/site group id/system group id}]]>
</id>
<userlookuptype>{user lookup type}</userlookuptype>
</lookup>
</lookups>
</rawdata>
</column>
</item>
</data>
</isheet>
17) API - ISheet User Lookup Column - update item API
- PUT /api/3/isheet/{isheetid}/items/{itemid}
- PUT api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above two APIs are used to update iSheet items details.
- We have modified these existing APIs to support groups in the user lookup column.
- "<userlookuptype>1/2/3</userlookuptype>" tag has been introduced in the request body which indicates, whether user lookup column value for user or site group or system group. 1 stands for "Users", 2 stands for "Site Groups" and 3 stands for "System Groups"
- <isheet recordcount="">
<data>
<item externalid="" itemsequence="{item sequence}" itemid="{item id}">
<column sequence="{sequence}" attributecolumnid="{column id}">
<rawdata>
<lookups>
<lookup>
<id>
<![CDATA[{user id/site group id/system group id}]]>
</id>
<userlookuptype>{user lookup type}</userlookuptype>
</lookup>
</lookups>
</rawdata>
</column>
</item>
</data>
</isheet>
18) API - Task Assignee Column - get item/get all item API
- GET /api/3/isheet/{isheetid}/items
- GET /api/3/isheet/{isheetid}/items/{itemid}
- GET /api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above three APIs are used to get iSheet items details.
- We have modified these existing APIs, to support groups in the assignee column.
- "<userlookuptype>1/2</userlookuptype>" tag has been introduced in the request body which indicates, whether assignee column value for user or site group . 1 stands for "Users", 2 stands for "Site Groups"
- <column sequence="{sequence}" attributecolumnid="{column id}">
<rawdata>
<lookups>
<lookup>
<id>
<![CDATA[{user id/site group id/system group id}]]>
</id>
<email>
<![CDATA[{email address in case of users}]]>
</email>
<userlookuptype>
<![CDATA[{user lookup type (1/2/3)}]]>
</userlookuptype>
</lookup>
</lookups>
</rawdata>
<displaydata>
<lookupusers>
<lookupuser>
<userdisplayname>{user display name}</userdisplayname>
<orgname>{organization name}</orgname>
<email>
<![CDATA[{email address in case of users}]]>
</email>
<apiurl>{api url for users/site groups/system groups}</apiurl>
<httpurl>{http url in case of users}</httpurl>
<fielddisplay>{user lookup column field display}</fielddisplay>
</lookupuser>
</lookupusers>
</displaydata>
</column>
19) API - Task Assignee Column - update item API
- PUT /api/3/isheet/{isheetid}/items/{itemid}
- PUT api/3/isheet/{isheetid}/items/byexternalid/{externalid}
- Above two APIs are used to update isheet items details.
- We have modified these existing APIs, to support assignee column.
- "<userlookuptype>1/2</userlookuptype>" tag has been introduced in the request body which indicates, whether assignee column value for user or site group . 1 stands for "Users", 2 stands for "Site Groups"
- <isheet recordcount="">
<data>
<item externalid="" itemsequence="{item sequence}" itemid="{item id}">
<column sequence="{sequence}" attributecolumnid="{column id}">
<rawdata>
<lookups>
<lookup>
<id>
<![CDATA[{user id/site group id/system group id}]]>
</id>
<userlookuptype>{user lookup type}</userlookuptype>
</lookup>
</lookups>
</rawdata>
</column>
</item>
</data>
</isheet>
Validation Messages
1) API - To get a list of iSheet items
GET /api/{version}/isheet/{isheetid}/items?sheetviewid={sheetviewid}&sortcolumnid={sortcolumnid}&sortorder={sortorder}&limit={limit}&offset={offset}
This API call is used to get a list of iSheet items.
Validation Added - In 5.5 we have added restriction on limit parameter passed in API request for performance improvement.
if limit is <=1000, then then API will return success response.
if limit>1000 then API returns a 403 status code with below response with the message - "Completing this request may take some time.... please reduce this request to less than 1000".
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<link>https://tr-2542y33.hqdev.highq.com/zalak_master_new_5_5/api/12/error/132554</link>
<ref>403</ref>
<summary>Completing this request may take some time.... please reduce this request to less than 1000</summary>
</error>
Note : It's added for API version 12 and above.
Comments
0 Comments