To retrieve the comments, send a GET request to /comments
with the following parameters:
Name | Type | Description |
---|---|---|
page_id | string | The page unique identifier. |
target | int | A linked comment id. (Optional) |
page | int | The page number. (Optional) |
sort | int | The sorting option (newest, oldest, best). Supported: 1 , 2 , 3 . (Optional) |
The response will be a JSON object with two keys called comments
and pagination
.
The value of the comments
key will be an array of comment objects, each of which contain the following attributes:
Name | Type | Description |
---|---|---|
id | int | The comment unique id. |
user_id | int|null | The comment user id, if exists. |
author | object | The comment author object. |
author.avatar | string | The author avatar image url. |
author.name | string | The author name. |
author.url | string | The author url. |
canEdit | bool | Whether the current user can edit the comment. |
content | string | The comment content. |
contentHTML | string | The comment content rendered as HTML. |
edit_link | string | The link to the admin edit page. |
page_id | string | The comment unique identifier. |
permalink | string | The comment permalink. |
parent_id | int|null | The parent comment id. |
root_id | int|null | The root comment id. |
status | string | The comment status. Values: pending , approved , spam , trash . |
replies | array | An array of comment replies. |
downvotes | int | The number of downvotes. |
upvotes | int | The number of upvotes. |
voted | string|null | Whether the current user has voted the comment. Values: up / down , null otherwise. |
created_at | string | The comment creation timestamp in ISO 8601 format. |
updated_at | string | The comment update timestamp in ISO 8601 format. |
The value of the pagination
key will be an object of comment objects, containing the following attributes:
Name | Type | Description |
---|---|---|
current_page | int | The number of the current page. |
last_page | int | The number of the last page. |
next_page | int|null | The next page number. |
prev_page | int|null | The previous page number. |
per_page | int | The number of comments per page. |
total | int | The total number of comments. |
To post a new comment, send a POST request to /comments
. Set the attributes for the comment you are creating:
Name | Type | Description | Required |
---|---|---|---|
content | string | The comment content. | yes |
author_name | string | The author name. | Only if guest. |
author_email | string | The author email address. | Only if guest. |
author_url | string | The author url. | Only if guest. |
page_id | string | The page unique identifier.* | yes |
parent_id | int | The parent comment id.* | no |
root_id | int | The root comment id.* | no |
permalink | string | The current page permalink. | no |
g-recaptcha-response | string | The recaptcha response. | Only if captcha is enabled. |
* If the posted comment is a reply, the parent_id
must be the id of the parent comment (the comment you're replying) and the root_id
must be the id of the root comment.
On success the response status will be 201
, containing a JSON object containing the comment attributes (see Retreive Comments).
If the validation fails, the response status will be 422
, containing an array of error messages.
Example:
[
"The author name field is required.",
"The author email field is required.",
"The content field is required."
]
To update an existing comment, send a PUT request to /comments/:id
. Any attribute for the comment can be set to a new value:
Name | Type | Description | Required |
---|---|---|---|
content | string | The comment content. | yes |
On success the response will have a 200
status code and will be a JSON object containing the comment attributes (see Retreive Comments).
If the comment you're trying to update doesn't exists the response status will be 404
.
If you don't have the permission to edit the comment the response status will be 403
.
If the validation fails, the response status will be 422
, containing an array of error messages.
To vote an existing comment, send a POST request to /comments/:id/vote
with the type
attribute having one of the following values:
up
- upvote the commentdown
- downvote the commentremove
- remove the upvote or downvote
On success the response status will be 200
with no content.
If the comment doesn't exists the response status will be 404
.
To retrieve the comments, send a GET request to /comments/admin
with the header X-Requested-With
set to XMLHttpRequest
(must be an AJAX request, see AdminDashboardController@index
) and the following parameters:
Name | Type | Description | Default |
---|---|---|---|
pageId | string | A page unique identifier. (Optional) | n\a |
page | int | The page number. (Optional) | 1 |
status | int | Values: all , pending , approved , spam , trash . (Optional) |
all |
To retrieve a comment, send a GET request to /comments/admin/:id
.
The response will be a JSON object containing the comment attributes (see Retreive Comments).
If the comment doesn't exists the response status will be 404
.
To update an existing comment, send a PUT request to /comments/admin/:id
. Any attribute for the comment can be set to a new value:
Name | Type | Description |
---|---|---|
content | string | The comment content. |
status | string | The comment status. Values: pending , approved , spam , trash . |
author_name | string | The author name. |
author_email | string | The author email |
author_url | string | The author url. |
On success the response will have a 200
status code and will be a JSON object containing the comment attributes (see Retreive Comments).
If the comment you're trying to update doesn't exists the response status will be 404
.
If the validation fails, the response status will be 422
, containing an array of error messages.
To perform a bulk update/delete, send a PUT request to /comments/admin
with the following attributes:
Name | Type | Description |
---|---|---|
ids | array | An array of comment ids you want to update or delete. |
status | string | The new comment status: pending , approved , spam , trash . Or delete , if you want to permanently delete the comments. |
On success the response will have a 200
status code containing the number of affected comments.
To delete a comment, send a DELETE request to /comments/admin/:id
.
The comment will be deleted and the response status will be a 204
.
To update the settings, send a PUT request to /comments/admin/settings
and you must specify two attributes:
A key called group
, that can have one of the values general
, formatting
, moderation
, protection
, notifications
.
A key called settings
, that is an array of objects with the name
and value
keys. The name
keys can be found in AdminSettingsController
under the update{group}Settings
methods and the value
is the new value you want to set.