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>" }, "contentImages" : [ { "id" : "1055", "contentType" : "image/jpeg", "name" : "pic.jpeg", "ref" : "http://example.jiveon.com/api/core/v3/attachments/file/1055/data", "size" : 5953, "width" : 251, "height" : 201, "type" : "image" } ], "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" }
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" }
Fields
Field | Type | Mode † | Description |
---|---|---|---|
abuseCount | Integer | read-only | Number of abuse reports associated with this content object. |
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 |
archived | Boolean | read-only | Flag indicating that this discussion is archived. |
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. |
contentID | String | read-only | Internal Jive ID associated with the content. |
contentImages | Image[] | read-only | A list of Image objects providing metadata about images embedded within this content. |
contentVideos | ContentVideo[] | read-only | A list of ContentVideo objects providing metadata about videos embedded within this content. |
extendedAuthors | Person[] | optional | List of people who have been granted authorship on this content, who would normally not have access to it. Extended authors are allowed to edit the content. This value is used only when authorship is limited. |
favoriteCount | Integer | read-only | Number of people who have bookmarked this object. Availability:Will be present only for object types that support being bookmarked. Since: 3.11 |
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. |
iconCss | String | read-only | CSS Style to locate icon within sprite. |
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. |
lastActivityDate | ISO 8601 Date | read-only | Date and time when this had its last activity. Since: 3.12 |
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 |
outcomeCounts | Object | read-only | Map of structured outcome type names that have been assigned to this content object, and a count of how many times they appear. For top level content objects like Discussion, Document, File, and Post, outcomes assigned to child comments and messages will also be included. Availability:Only available for content object types that support structured outcomes Since: 3.3 |
outcomeTypeNames | String[] | read-only | List of structured outcome type names that have been assigned to this content object. For top level content objects like Discussion, File, and Document, outcomes assigned to child comments and messages will also be included. Availability:Only available for content object types that support structured outcomes Since: 3.3 |
outcomeTypes | OutcomeType[] | optional | A list of valid outcome types that can be set on this piece of content |
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. |
parentContentVisible | Boolean | read-only | Flag indicating that the content parent's contents are visible to the viewer. |
parentPlace | Summary | read-only | Summary information about the place that contains this object. Availability:Will be present in search results only. |
parentVisible | Boolean | read-only | Flag indicating that the content parent is visible to the viewer. |
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. |
restrictReplies | Boolean | read-only | Flag indicating that old messages replying to this discussion will be visible, but new messages (or changes to the structured outcome settings on messages) will not be allowed. Since: 3.4 |
sameQuestionCount | Integer | read-only | Number of people who found that they have the same question.Availability:Will be present only for threads that are not yet marked correct. |
searchRankings | Object | read-only | A map of search result scores including social signals. Availability:Will be present in search results only. |
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. |
followed | Boolean | read-only | Whether the current user is following this object. Availability:Will be present only for object types that support being followed. |
promotedResult | Boolean | read-only | A boolean determining whether this search result is a promoted result Availability:Will be present in search results only. |
Resources
Resource | Method | Description |
---|---|---|
childOutcomeTypes | GET | Return a paginated list of possible outcomes types on the content object's children. Retrieves: |
extprops | DELETE | Deletes all extended properties for content. Availability:Content should be editable to caller. |
extprops | GET | Returns extended properties for content. Availability:Content should be visible to caller. Retrieves: |
extprops | POST | Creates extended properties for content. { "any prop name": "any val", "any prop2 name": "any val" } Availability:Content should be editable to caller. Retrieves: |
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 |
sameQuestion | POST | Register that the requesting person also has this same question. Availability:Must be authenticated, must not be your own discussion, and must not have not indicated that you have the same question. |
read | DELETE | Mark this discussion as having not been read. Since: 3.2 |
outcomes | POST | Register that the requesting person created the outcome. Here is an example of a JSON with the minimum set of fields you must include: { "outcomeType": { "id": 1 } } Availability:Must be authenticated, must not be able to read the content, and must not have the same outcome type on this comment already Takes:
Retrieves: |
outcomes | GET | Return a paginated list of outcomes on the content. Retrieves: |
outcomeTypes | GET | Return a paginated list of possible outcomes types on the content. Retrieves: |
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: |
sameQuestions | GET | Return a paginated list of people who also have the same question. 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 |
sameQuestion | DELETE | Register that the requesting person also has this same question. Availability:Must be authenticated, must not be your own discussion, and must not have not indicated that you have the same question. |