HighQ 5.5

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

Last Updated: Jun 09,2023