The Comments API allows you to manage a customized commenting program that lets site visitors share feedback or engage in discussions about different types of resources, including blog posts, forum threads, or other site content.
With the Wix Comments API, you can:
The Comments API is fully integrated with several Wix solutions. Each integration uses a slightly different configuration to work with comments.
The following table details the supported integrations:
Wix App | appId | contextId | resourceId |
---|---|---|---|
Wix Blog | 14bcded7-0066-7c35-14d7-466cb3f09103 | internalId | internalId |
Wix Comments | 91c9d6a7-6667-41fb-b0b4-7d3b3ff0b02e | categoryId | componentId |
Wix Forum | 14724f35-6794-cd1a-0244-25fd138f9242 | forumPostId | forumPostId |
Wix Groups | 148c2287-c669-d849-d153-463c7486a694 | groupId | feedItemId |
marked
field is set to TRUE
, it indicates that the comment has been flagged
or marked for special attention. No additional automated behavior or action is taken with the comment. However, you
can manually filter for comments marked as such
with Query Comments and highlight them to your
visitors as needed.parentComment.id
field of the corresponding reply comment.This article shares possible use cases your app could support, as well as sample flows. You're certainly not limited to these use cases, but it can be a helpful jumping off point as you plan your app's implementation.
Note: This flow requires Wix Blocks.
Your app can help site owners find the most popular comments left on their site and feature those comments to other site visitors.
To find and highlight the most popular comments:
replyCount
, rating
, and reactionSummary.total
.marked
as TRUE
.Your app can gather insights and generate reports about a site's comments.
To get the information follow these steps:
replyCount
, reactionSummary.total
, and voteSummary.netVoteCount
.The following table shows field support for filters and sorting for the comment object:
Field | Supported Filters | Sortable |
---|---|---|
id | $eq , $ne , $in | |
contextId | $eq , $ne , $in | |
resourceId | $eq , $ne , $in | |
parentComment.id | $eq , $ne , $in | |
parentIdsInThread | $hasAll , $hasSome , $isEmpty | |
replyCount | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
status | $eq , $ne , $in | |
voteSummary.netVoteCount | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
rating | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
reactionSummary.total | $eq , $ne , $gt , $lt , $gte , $lte | Sortable |
marked | $eq , $ne | Sortable |
Creates a new comment and publishes it.
The appId
, contextId
, and resourceId
are all required and associate the created comment with the specific
resource it responds to. See Integrations for a list of integrated scopes for these fields.
If the created comment is a direct response to another comment, the commentId
of the parent comment should be passed
as parentComment.id
in this comment's request. See Terminology for additional information on parent comments and replies.
You can only call this method when authenticated as a Wix app or Wix user identity.
Comment to create.
Created comment.
Create a Wix Blog post comment
curl POST https://www.wixapis.com/comments/v1/comments \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"comment": {
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
}
}
}
}'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
There is 1 error with this status code:
See the entire list and learn more about Wix errors.
Retrieves a comment.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the comment to retrieve.
Retrieved comment.
curl GET https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
Deletes a comment.
This endpoint deletes the content
of the comment and sets its status
to DELETED
.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the Comment to delete.
curl DELETE https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{}
Updates a comment.
Each time the comment is updated, revision
increments by 1. The current revision
must be
passed when updating the comment. This ensures you're working with the latest comment and
prevents unintended overwrites.
You can only call this method when authenticated as a Wix app or Wix user identity.
Comment ID.
Comment info to update.
Updated comment.
Update existing comment
curl PATCH https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"comment": {
"revision": "1",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights! Love it!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
}
}
}
}'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "2",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-19T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights! Love it!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
There is 1 error with this status code:
See the entire list and learn more about Wix errors.
You can only call this method when authenticated as a Wix app or Wix user identity.
App ID to query comments for.
Query options.
Retrieved comments.
Paging metadata.
Query latest Wix Blog post comments written by specific member
curl GET https://www.wixapis.com/comments/v1/comments/query \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"query": {
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"sort": [
{
"fieldName": "createdDate",
"order": "DESC"
}
],
"cursorPaging": {
"limit": 5
}
}
}'
{
"comments": [
{
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
],
"pagingMetadata": {
"count": 1,
"hasNext": false
}
}
Sets marked
to TRUE
to mark a comment.
You can then filter for marked comments with Query Comments to apply customizations. See Highlight popular comments in a widget for an example.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the comment to mark.
Marked comment.
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/mark \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": true
}
}
Sets marked
to FALSE
to unmark a comment.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the comment to unmark.
Unmarked comment.
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/unmark \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Hides a comment in a widget. The comment status becomes HIDDEN
.
ID of the comment to hide.
Hidden comment.
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/hide \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "HIDDEN",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Publishes a comment with the HIDDEN
status. The comment status becomes PUBLISHED
.
To publish a new comment, call Create Comment.
ID of the comment to publish.
Published comment.
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/publish \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
{
"comment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08:25:08.060Z",
"updatedDate": "2023-05-18T11:59:38.251Z",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
}
Counts comments, given the specified filtering. The comments with the HIDDEN
status are not included in the response.
For field support for filters and sorting, see Comments: Supported Filters and Sorting.
You can only call this method when authenticated as a Wix app or Wix user identity.
App ID to count the comments of.
Filter to identify the comments that need to be counted.
Number of comments.
Count Wix Blog Comments written by specific member
curl POST https://www.wixapis.com/comments/v1/comments/count \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
}
}'
{
"count": 8
}
There is 1 error with this status code:
See the entire list and learn more about Wix errors.
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Lists published comments and replies from a sepcified resource, such as a blog post.
You can only call this method when authenticated as a Wix app or Wix user identity.
ID of the app from which the comments are listed.
ID of the specific context the comment is in response to.
Within some Wix apps, the contextId
will be the same as the resourceId
. For example in Wix Forum, the forumPostId
is used as both the contextId
and the resourceId
.
Reserved for internal use.
ID of the specific resource that the comment is in response to.
Within some Wix apps, the resourceId
will be the same as the contextId
. For example in Wix Forum, the forumPostId
is used as both the resourceId
and the contextId
.
Sort order.
If set to true
, marked comments appear in the original order, and not at the top of the list.
Default: false
. This means that marked comments are prioritized and listed first.
Sort order.
Whether the marked comments are listed in the orginal order.
If set to true
, marked comments appear in the original order, and not at the top of the list.
Default: false
. In this case marked comments are prioritized and listed first.
Pointer to the next or previous page in the list of results.
Number of items to return.
Maximum number of replies in a response. Only applicable to parent comments.
Listed comments.
Paging metadata.
Listed comment replies.
Retrieves a list of comments where they're sorted by oldest first, and marked comments are moved to the top of the list. Replies are sorted by newest first. The limit is set to 2 comments and 1 reply for each comment.
curl GET https://wixapis.com/comments/v1/comments/list-by-resource \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d appId=148c2287-c669-d849-d153-463c7486a694 \
-d contextId=6f46dbf6-1a48-4870-86b2-f807d8f31b3e \
-d resourceId=fef60f63-1c88-40e1-bc31-4ac65aa56b03 \
-d commentSort.order=NEWEST_FIRST \
-d replySort.order=OLDEST_FIRST \
-d replySort.keepMarkedInOriginalOrder=true \
-d cursorPaging.limit=2 \
-d cursorPaging.repliesLimit=1
{
"comments": [
{
"id": "4d97c478-4854-4957-9911-8ff29aba35c7",
"revision": "1",
"createdDate": "2023-05-09T08: 25: 05.014Z",
"updatedDate": "2023-05-09T08: 25: 05.014Z",
"appId": "148c2287-c669-d849-d153-463c7486a694",
"contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e",
"resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Interesting 🤯"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 01.014Z",
"updatedTimestamp": "2023-05-09T08: 25: 01.014Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
},
{
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08: 25: 08.060Z",
"updatedDate": "2023-05-18T11: 59: 38.251Z",
"appId": "148c2287-c669-d849-d153-463c7486a694",
"contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e",
"resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 4,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
],
"pagingMetadata": {
"count": 2,
"cursors": {
"next": "8537f74301bdbe97cc040d06ccaded37dd885983.EgoKBm1hcmtlZBABEg0KC2NyZWF0ZWREYXRlIgsKBm1hcmtlZBIBMCInCgtjcmVhdGVkRGF0ZRIYMjAyMy0wNS0wOVQwODoyNTowOC4wNjBa"
},
"hasNext": true
},
"commentReplies": {
"4d97c478-4854-4957-9911-8ff29aba35c7": {
"replies": [],
"pagingMetadata": {
"count": 0,
"cursors": {},
"hasNext": false
}
},
"90616636-cfe2-4f3d-88ce-1c3d8e3eaa67": {
"replies": [
{
"id": "6521892d-0d48-4bf7-990f-3d1617b03ba7",
"revision": "1",
"createdDate": "2023-05-18T11: 59: 37.988Z",
"updatedDate": "2023-05-18T11: 59: 37.988Z",
"appId": "148c2287-c669-d849-d153-463c7486a694",
"contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e",
"resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Thanks!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-18T11: 59: 31.988Z",
"updatedTimestamp": "2023-05-18T11: 59: 31.988Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"visitorId": "6bbaac7c-c838-4865-930b-110b94edca90"
},
"parentComment": {
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
}
},
"parentIdsInThread": ["90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"],
"replyCount": 0,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
],
"pagingMetadata": {
"count": 1,
"cursors": {
"next": "bb32e18e7d5ccd280ec74ceef6aa7a2d97e9b119.Eg8KC2NyZWF0ZWREYXRlEAEaJgokOTA2MTY2MzYtY2ZlMi00ZjNkLTg4Y2UtMWMzZDhlM2VhYTY3IicKC2NyZWF0ZWREYXRlEhgyMDIzLTA1LTE4VDExOjU5OjM3Ljk4OFo="
},
"hasNext": true
}
}
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Returns a thread of a comment or a reply.
If you request a comment thread, the endpoint returns a single comment with cursors. With cursors (pagingMetadata.cursors.next
or pagingMetadata.cursors.prev
) you can load replies by calling the List Comments by Resource endpoint.
If you request a reply thread, the endpoint returns a reply with its parent comment. With cursors (pagingMetadata.cursors.next
or pagingMetadata.cursors.prev
) you can load replies by calling the List Comments by Resource endpoint.
You can only call this method when authenticated as a Wix app or Wix user identity.
Comment ID.
App ID.
Sort order.
If set to true
, marked comments appear in the original order, and not at the top of the list.
Default: false
. This means that marked comments are prioritized and listed first.
Sort order.
Whether the marked comments are listed in the orginal order.
If set to true
, marked comments appear in the original order, and not at the top of the list.
Default: false
. In this case marked comments are prioritized and listed first.
Retrieved replies.
Paging metadata.
Retrieved replies of a reply.
curl GET 'https://wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/thread?' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>' \
-d appId=148c2287-c669-d849-d153-463c7486a694 \
-d commentSort.order=NEWEST_FIRST \
-d replySort.order=OLDEST_FIRST \
-d replySort.keepMarkedInOriginalOrder=true
{
"comments": [
{
"id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67",
"revision": "1",
"createdDate": "2023-05-09T08: 25: 08.060Z",
"updatedDate": "2023-05-18T11: 59: 38.251Z",
"appId": "148c2287-c669-d849-d153-463c7486a694",
"contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e",
"resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08: 25: 02.060Z",
"updatedTimestamp": "2023-05-09T08: 25: 02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"attachments": []
},
"author": {
"memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"parentIdsInThread": [],
"replyCount": 4,
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"status": "PUBLISHED",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"marked": false
}
],
"pagingMetadata": {
"count": 1,
"cursors": {
"next": "8537f74301bdbe97cc040d06ccaded37dd885983.EgoKBm1hcmtlZBABEg0KC2NyZWF0ZWREYXRlIgsKBm1hcmtlZBIBMCInCgtjcmVhdGVkRGF0ZRIYMjAyMy0wNS0wOVQwODoyNTowOC4wNjBa",
"prev": "8402c98e5e3d25dae2dbc5b2e209fe054c12867e.CAESCgoGbWFya2VkEAESDQoLY3JlYXRlZERhdGUiCwoGbWFya2VkEgEwIicKC2NyZWF0ZWREYXRlEhgyMDIzLTA1LTA5VDA4OjI1OjA4LjA2MFo="
},
"hasNext": true
},
"commentReplies": {
"90616636-cfe2-4f3d-88ce-1c3d8e3eaa67": {
"replies": [],
"pagingMetadata": {
"count": 0,
"cursors": {},
"hasNext": false
}
}
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Publishes multiple comments with the HIDDEN
status. The comment status becomes PUBLISHED
.
ID of the app where to publish the comment.
Filter to identify the comments that need to be published. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.
Job ID.
Pass this ID to Get Async Job to retrieve job details and metadata.
curl POST https://www.wixapis.com/comments-ng/v1/bulk/comments/publish-by-filter \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
}
}
{
"jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Hides multiple comments. The comment status becomes HIDDEN
.
ID of the app where to hide the comments.
Filter to identify the comments that need to be hidden. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.
Job ID.
Pass this ID to Get Async Job to retrieve job details and metadata.
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/hide-by-filter \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
}
}
{
"jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Deletes multiple comments.
ID of the app where to delete the comments.
Filter to identify the comments that need to be deleted. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.
Job ID.
Pass this ID to Get Async Job to retrieve job details and metadata.
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/delete-by-filter \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
}
}
{
"jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Moves multiple comments to another resource.
ID of the app from which to move the comments.
Filter to identify the comments that need to be moved. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.
Where to move the comment.
Job ID.
Pass this ID to Get Async Job to retrieve job details and metadata.
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/move-by-filter \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: <AUTH>'
-d '{
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"filter": {
"author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2"
},
"destination": {
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a"
}
}
{
"jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"
}
Triggered when a comment is created.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected created
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_created",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "350c5009-8870-4ba6-bb0e-ea703cba0480",
"entityEventSequence": "1",
"slug": "created",
"id": "f6c78ba3-b836-454e-a7f7-f6bf67e37639",
"createdEvent": {
"entity": {
"resourceId": "649a990fef06e10b40990ed1",
"author": {
"memberId": "7fa15d5e-49c4-44ef-8111-4cb0a04ca4db"
},
"replyCount": 0,
"marked": false,
"revision": "1",
"id": "350c5009-8870-4ba6-bb0e-ea703cba0480",
"status": "PUBLISHED",
"content": {
"richContent": {
"nodes": [
{
"type": "TEXT",
"id": "",
"nodes": [],
"textData": {
"text": "Great post! Looking forward to more content like this.",
"decorations": []
}
}
]
},
"mentions": [],
"effects": {},
"attachments": []
},
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"parentIdsInThread": ["350c5009-8870-4ba6-bb0e-ea703cba0480"],
"updatedDate": "2023-07-26T12:00:45.038Z",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"contextId": "649a990fef06e10b40990ed1",
"createdDate": "2023-07-26T12:00:45.038Z"
}
},
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T12:00:45.050964Z",
"triggeredByAnonymizeRequest": false
}
Triggered when the total number of comments has changed in a resource.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected resource_comment_count_changed
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_resource_comment_count_changed",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"publishedCommentCount": 2
},
"slug": "resource_comment_count_changed",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
}
Triggered when a comment is updated.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected updated
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_updated",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"entityEventSequence": "5",
"slug": "updated",
"id": "a81020bb-1ee3-47c3-8247-5c5915dc2956",
"entityFqdn": "wix.comments.v2.comment",
"updatedEvent": {
"currentEntity": {
"resourceId": "64ad407e0bf87891bba7de3a",
"author": {
"memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86"
},
"replyCount": 0,
"marked": false,
"revision": "5",
"id": "cce9f612-1113-44f4-b865-8efe46747c09",
"status": "PUBLISHED",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"id": "",
"nodes": [],
"textData": {
"text": "Great insights!",
"decorations": []
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08:25:02.060Z",
"updatedTimestamp": "2023-05-09T08:25:02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"effects": {},
"attachments": []
},
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"],
"updatedDate": "2023-07-26T11:57:20.963Z",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"contextId": "64ad407e0bf87891bba7de3a",
"createdDate": "2023-07-19T13:24:27.985Z"
}
},
"eventTime": "2023-07-26T11:57:20.975819Z",
"triggeredByAnonymizeRequest": false
}
Triggered when comment content is updated.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_content_changed
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_content_changed",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"commentId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"previousContent": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
]
}
},
"currentContent": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights! :)"
}
}
]
}
]
}
}
},
"slug": "comment_content_changed",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a comment is published.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_published
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_published",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"comment": {
"id": "14bcded7-0066-7c35-14d7-466cb3f09103",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
]
}
},
"firstPublish": true
},
"slug": "comment_published",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a comment is hidden.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_hidden
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_hidden",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"comment": {
"id": "14bcded7-0066-7c35-14d7-466cb3f09103",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
]
}
}
},
"slug": "comment_hidden",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
}
Triggered when a comment is marked.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_marked
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_marked",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"comment": {
"resourceId": "64ad407e0bf87891bba7de3a",
"author": {
"memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86"
},
"replyCount": 0,
"marked": true,
"revision": "4",
"id": "cce9f612-1113-44f4-b865-8efe46747c09",
"status": "PUBLISHED",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"id": "",
"nodes": [],
"textData": {
"text": "Great insights!",
"decorations": []
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08:25:02.060Z",
"updatedTimestamp": "2023-05-09T08:25:02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"effects": {},
"attachments": []
},
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"],
"updatedDate": "2023-07-26T11:08:27.813Z",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"contextId": "64ad407e0bf87891bba7de3a",
"createdDate": "2023-07-19T13:24:27.985Z"
}
}
},
"slug": "comment_marked",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
Triggered when a comment is unmarked.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_unmarked
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_unmarked",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"comment": {
"resourceId": "64ad407e0bf87891bba7de3a",
"author": {
"memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86"
},
"replyCount": 0,
"marked": false,
"revision": "5",
"id": "cce9f612-1113-44f4-b865-8efe46747c09",
"status": "PUBLISHED",
"content": {
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "foo",
"nodes": [
{
"type": "TEXT",
"id": "",
"nodes": [],
"textData": {
"text": "Great insights!",
"decorations": []
}
}
]
}
],
"metadata": {
"version": 1,
"createdTimestamp": "2023-05-09T08:25:02.060Z",
"updatedTimestamp": "2023-05-09T08:25:02.060Z",
"id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"
}
},
"mentions": [],
"effects": {},
"attachments": []
},
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"voteSummary": {
"netVoteCount": 0,
"upvoteCount": 0,
"downvoteCount": 0
},
"parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"],
"updatedDate": "2023-07-26T11:57:20.963Z",
"reactionSummary": {
"total": 0,
"reactionCodeCount": {}
},
"contextId": "64ad407e0bf87891bba7de3a",
"createdDate": "2023-07-19T13:24:27.985Z"
}
}
},
"slug": "comment_unmarked",
"id": "c6c71848-7e38-4843-82e4-bd17bcb491ac",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:57:21.030728Z",
"triggeredByAnonymizeRequest": false
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a comment is moved.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment
.
Event name. Expected comment_moved
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.comments.v2.comment_comment_moved",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"entityId": "cce9f612-1113-44f4-b865-8efe46747c09",
"actionEvent": {
"body": {
"comment": {
"id": "14bcded7-0066-7c35-14d7-466cb3f09103",
"appId": "14bcded7-0066-7c35-14d7-466cb3f09103",
"contextId": "64ad407e0bf87891bba7de3a",
"resourceId": "64ad407e0bf87891bba7de3a",
"richContent": {
"nodes": [
{
"type": "PARAGRAPH",
"id": "",
"nodes": [
{
"type": "TEXT",
"textData": {
"text": "Great insights!"
}
}
]
}
]
}
}
},
"slug": "comment_moved",
"id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4",
"entityFqdn": "wix.comments.v2.comment",
"eventTime": "2023-07-26T11:08:27.838533Z",
"triggeredByAnonymizeRequest": false
}
}
Comment Object
A comment is a user-generated message in response to a specific resource. It allows site visitors to share feedback or engage in discussions around different types of resources, including blog posts, forum threads, or other site content. Comments are composed of text, images, videos, or other forms of media.
Comment ID.
Revision number, which increments by 1 each time the comment is updated.
To prevent conflicting changes, the current
revision
must be passed when updating the comment.Date and time the comment was created.
Note: This is the date from the system database, not the actual date when the comment was created. For example, if you migrate comments created in 2016, the
createdDate
field will show the current year. For the actual creation date, see thecommentDate
field.Date and time the comment was last updated.
ID of the app that the comment is added to.
ID of the specific context the comment is in response to.
Within some Wix apps, the
contextId
will be the same as theresourceId
. For example in Wix Forum, theforumPostId
is used as both thecontextId
and theresourceId
.ID of the specific resource that the comment is in response to.
Within some Wix apps, the
resourceId
will be the same as thecontextId
. For example in Wix Forum, theforumPostId
is used as both theresourceId
and thecontextId
.Published comment content.
Comment's author.
Parent comment information.
Only present if this comment is in a direct reply to another comment. See Terminology for more information about parent comments.
Number of comments that reply to this comment.
Summary of votes.
Comment status.
Comment rating.
Summary of reactions.
Whether the comment is marked.
Date and time when the comment was actually created.
Whether the comment has the updated content.
{ "id": "4b533824-97b0-4a8a-8e80-7db9d4203f55", "revision": "2", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Completely agree!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "ca8f1d56-2b0d-11ee-be56-0242ac120002" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false, "commentDate": "2023-05-09T08:25:08.060Z", "contentEdited": false }