Discussion
A Discussion is the beginning of a conversation. A Discussion can be explicitly
marked as a question by setting the question
field to true
. Messages
are replies to the discussion, and replies to the replies are also possible.
Examples:
Example JSON
JSON including important fields and a Discussion's resources. See the tables below for a list of all fields and resources.
{ "type" : "discussion", "status" : "published", "subject" : "New Discussion", "content" : { "type" : "text/html", "text" : "<p>Text of the discussion</p>" }, "author" : { "name" : { "formatted" : "Administrator" }, "type" : "person", "displayName" : "Administrator", "id" : "1" }, "question" : false, "visibility" : "all", "visibleToExternalContributors" : false, "viewCount" : 0, "replyCount" : 0, "followerCount" : 0, "likeCount" : 0, "published" : "2012-07-09T18:50:30.066+0000", "updated" : "2012-07-09T18:50:30.066+0000", "tags" : [ ], "id" : "1071", "resources" : { "likes" : { "ref" : "https://example.jiveon.com/api/core/v3/contents/1236/likes", "allowed" : [ "GET" ] }, "self" : { "ref" : "https://example.jiveon.com/api/core/v3/contents/1236", "allowed" : [ "PUT", "GET", "DELETE" ] }, "html" : { "ref" : "https://example.jiveon.com/thread/1071", "allowed" : [ "GET" ] }, "followingIn" : { "ref" : "https://example.jiveon.com/api/core/v3/contents/1236/followingIn", "allowed" : [ "GET" ] }, "messages" : { "ref" : "https://example.jiveon.com/api/core/v3/messages/contents/1236", "allowed" : [ "GET", "POST" ] } } }
Simple Discussion Creation
POST to /contents creates a new discussion. The minimum set of fields you must include are:
{ "content": { "type": "text/html", "text": "<body><p>Some interesting text to discuss</p></body>" }, "subject": "New Discussion", "type": "discussion" }See Discussion Use Cases for full details on creating discussions programmatically.
Retrieve Discussion
GET to /contents/{contentID} to return a given discussion. The service URL can be found in the self resource under resources.
Update Discussion
After you have retrieved a discussion and made the desired changes, PUT to /contents/{contentID} passing the updated information in the request body. The service URL can be found in the self resource under resources.
Delete Discussion
DELETE to /contents/{contentID} to delete the specified discussion. The service URL can be found in the self resource under resources.
Reply to Discussion
POST to /messages/contents/{contentID} creates a new message as a direct reply to the discussion. The service URL can be found in the messages resource under resources. The minimum set of fields you must include are:
{ "content": { "type": "text/html", "text": "<body><p>This is a reply to the discussion</p></body>" }, "type": "message" }See Discussion Use Cases for full details on creating discussions programmatically.
Fields
Field | Type | Mode † | Description |
---|---|---|---|
answer | String | read-only | URI of the correct answer (if any) to this discussion, if it is a question. Availability:Only present on a discussion marked as a question, with a message marked as the correct answer Since: 3.2 |
attachments | Attachment[] | optional | List of attachments to this discussion (if any). |
| Person | read-only | Author of this content object. |
categories | String[] | optional | Categories associated with this object. Places define the list of possible categories. |
content | ContentBody | required | Content of this content object. |
followerCount | Integer | read-only | Number of people following this object. Availability:Will be present only for object types that support being followed. |
helpful | String[] | read-only | URIs of messages that have been marked "helpful", if this discussion is a question. Availability:Only present on a discussion marked as a question, with at least one message marked as a helpful answer Since: 3.2 |
highlightBody | String | read-only | Highlight snippet of a search match in the body or description. Availability:Will be present in search results only. |
highlightSubject | String | read-only | Highlight snippet of a search match in the subject or name. Availability:Will be present in search results only. |
highlightTags | String | read-only | Highlight snippet of a search match in tags. Availability:Will be present in search results only. |
id | String | read-only | Identifier (unique within an object type and Jive instance) of this object. This field is internal to Jive and should not be confused with contentID or placeID used in URIs. |
likeCount | Integer | read-only | Number of people who have liked this object. Availability:Will be present only for object types that support being liked. |
onBehalfOf | OnBehalfOf | optional | Information that is available when the discussion was posted by the author on behalf of another person. This person may be an anonymous user, an unknown user with just an email address or another user of Jive. Since: 3.3 |
parent | String | optional | URI of the parent place of this content object. When visibility is place then the URI points to a place (and is required on create). Otherwise, this field is not part of the returned JSON (and must not be included on create). |
parentContent | Summary | read-only | Summary information about the content object that is the parent of this object. Availability:Will be present in search results only. |
parentPlace | Summary | read-only | Summary information about the place that contains this object. Availability:Will be present in search results only. |
published | ISO 8601 Date | read-only | Date and time when this content object was originally created. |
question | Boolean | read-only | Flag indicating that this discussion is a question. |
replyCount | Integer | read-only | Number of replies to this object. Availability:Will be present only for object types that support replies. |
resolved | String | optional | If this discussion is a question, this field will contain the resolution state ("open", "resolved", "assumed_resolved"). If the current state is "open", it may be changed to "assumed_resolved" by the author or a moderator. Availability:Only present on a discussion marked as a question Since: 3.2 |
resources | Object | read-only | Resource links (and related permissions for the requesting person) relevant to this object. |
status | String | read-only | Published status of this content object.
|
subject | String | required | Subject of this content object. |
| String[] | optional | Tags associated with this object. Availability:Will be present only for object types that support tags |
type | String | required | The object type of this object ("discussion"). This field is required when creating new content. |
updated | ISO 8601 Date | read-only | Date and time this content object was most recently updated. |
users | Person[] | optional | The list of users that can see the content. On create or update, provide a list of Person URIs or Person entities. On get, returns a list of Person entities. This value is used only when visibility is people. |
via | Via | optional | Information that is available when the discussion was posted via an external system. Since: 3.3 |
viewCount | Integer | read-only | Number of times this content object has been viewed. Availability:Will be present only for objects that support view counts |
visibility | String | optional | The visibility policy for this discussion. Valid values are:
|
visibleToExternalContributors | Boolean | read-only | Flag indicating that this content object is potentially visible to external contributors. |
Resources
Resource | Method | Description |
---|---|---|
followers | GET | Return a paginated list of the people following this content. Retrieves:Since: 3.5 |
followingIn | GET | Return the list of custom streams in which the requesting person is following this discussion (if any). Retrieves: |
html | GET | Return the HTML representation of this discussion. |
likes | POST | Register that the requesting person likes this discussion. Availability:Must be authenticated, must not be your own discussion, and must not have liked this discussion already |
likes | GET | Return a paginated list of people who like this discussion. Retrieves: |
read | POST | Mark this discussion as having been read. Since: 3.2 |
read | DELETE | Mark this discussion as having not been read. Since: 3.2 |
messages | GET | Return a paginated list of replies to this discussion. Retrieves: |
messages | POST | Create a new reply to this discussion, and return a Message representing the new object. Takes:
Retrieves: |
self | GET | Return an updated version of this discussion. Retrieves: |
self | PUT | Update the information about this discussion. Retrieves: |
self | DELETE | Delete this discussion and all messages associated with it. |
likes | DELETE | Delete the like of this discussion by the requesting person. Availability:Must be authenticated, and must have liked this discussion already |