Add a Comment to a Discussion on a Shared File (REST API: POST)

Updated

This operation adds a comment to an existing discussion on a file in a shared folder or on a shared file.

Request

Syntax

Send the request using either XML or JSON:

  • XML

    POST <webservice>/ShareFolder/{shareId}/file/{fileguid}/Discussion/{discussionId}/Comment HTTP/1.1

    Host: <host name>

    Accept: application/xml

    Authtoken: <authentication token>

    Content-type: application/xml

    <comments>

        <content></content>

    </comments>
  • JSON

    POST <webservice>/ShareFolder/{shareId}/file/{fileguid}/Discussion/{discussionId}/Comment HTTP/1.1

    Host: <host name>

    Accept: application/xml

    Authtoken: <authentication token>

    Content-type: application/json

    { "content":

     }

where <webservice> is the root path used to route the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Parameters

Name

Description

Required

fileguid

The GUID of the file. GUID is a unique identifier for a file or folder and remains the same even when you rename or move the file or folder to another path.

To retrieve the GUID of the file, see View Shared Files and Folders.

Yes

shareId

The unique identifier (syncWebFolderId response) returned when you share a file or folder or view the shared files and folders in the ObjectStore. Provide the shareId of the shared folder.

For details on retrieving the syncWebFolderId response, see Viewing Shared Files and Folders.

Yes

discussionId

The unique ID for the discussion.

Yes

Request Headers

Name

Description

Host

The host name of the Web Server or Web Console used in the API request.

Accept

The format of the response. Valid values are: application/xml or application/json.

Authtoken

The authentication token received after successfully logging on. For details on receiving an authentication token, see Authentication.

Content-type

The media type contained in the request body.

Request Body

An XML element is required. See Syntax. The following table displays the parameters for the request body.

Name

Description

Elements

content

The comment text that you want to add.

comments

Response

Response Parameters

Parameter

Description

Element

depth

The level at which the comment was added. For new discussion, the comment level is 0.

comments

nbReplies

Number of replies for the discussion.

comments

commentId

The unique ID of the comment that you added to the discussion.

comments

discussionId

The unique ID for the discussion.

comments

created

The date and time when the discussion was created, specified in Unix time stamp format.

comments

modified

The date and time when the discussion was last modified, specified in Unix time stamp format.

comments

newName

Name of the user entity.

owner

userName

Domain/username of the user who created the discussion.

owner

userId

Unique ID for the user.

owner

Examples

Sample Request

XML

To add a new comment to a discussion.

POST <webservice>/ShareFolder/677439/file/176ebc59e06a47d7af86b5f98cc20b16/Discussion/10/Comment HTTP/1.1

Host: client.mydomain.com

Accept: application/xml

Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6

0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f

8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f

40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7

68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323

3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8

Content-type: application/xml

<comments>

    <content>"New comment"</content>

</comments>

JSON

To create a new discussion with a comment.

POST <webservice>/ShareFolder/677439/file/176ebc59e06a47d7af86b5f98cc20b16/Discussion/10/Comment HTTP/1.1

Host: client.mydomain.com

Accept: application/json

Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6

0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f

8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f

40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7

68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323

3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8

Content-type: application/json

{ "content":"New comment"

}

Sample Response

XML

<?xml version="1.0" encoding="UTF-8" ?>

<discussion>

    <comment>

        <depth>0</depth>

        <nbReplies>0</nbReplies>

        <discussionId>10</discussionId>

        <created>1503363960</created>

        <commentId>17</commentId>

        <modified>1503363960</modified>

        <owner>

            <newName>user1</newName>

            <userName>mydomain\user1</userName>

            <userId>2855</userId>

        </owner>

    </comment>

    <error />

JSON

{

  "comment": {

    "depth": 0,

    "nbReplies": 0,

    "discussionId": 10,

    "created": 1504879761,

    "commentId": 17,

    "modified": 1504879761,

    "owner": {

      "newName": "user1",

      "userName": "domainname\\user1",

      "userId": 2855

    }

  },

  "error": {}

}

Supported Error Codes

Code

Status

Description

400

Bad Request

The request is missing required parameters.

401

Unauthorized

The request did not include an authentication token or the authentication token was expired.

403

Forbidden

The user did not  have permission to access the requested resource.

412

Precondition Failed

Prerequisites are not met. For example, MongoDB database is not installed.