Комментарии и отзывы: discussions¶
Ресурс | Описание |
---|---|
GET /discussions | Получить список отзывов и комментариев |
GET /discussions/:id | Получить данные отзыва/комментария |
POST /discussions/ | Создать отзыв/комментарий |
PUT /discussions/:id | Обновить отзыв/комментарий |
DELETE /discussions/:id | Удалить отзыв/комментарий |
Важно
Для работы необходимо включить модуль “Комментарии и отзывы”.
Сущность может использоваться как дочерняя сущность у сущности products (/products/:p_id/discussions). В Multi-Vendor продавцы могут использовать сущность только как дочернюю к сущности products.
GET /discussions¶
curl -X GET 'http://example.com/api/2.0/discussions'
{
"discussions": [
{
"post_id": "18",
"thread_id": "26",
"name": "Alex",
"timestamp": "1383914729",
"user_id": "0",
"ip_address": "10.7.7.93",
"status": "A",
"message": "You guys have the BEST customer service known to man!!! I have always been impressed with how fast you help us out!",
"rating_value": "4",
"object_id": "0",
"object_type": "E",
"type": "B",
"company_id": "1"
},
{
"post_id": "17",
"thread_id": "25",
"name": "John",
"timestamp": "1383914729",
"user_id": "0",
"ip_address": "10.7.7.93",
"status": "A",
"message": "I’ve been using an iPhone 5 daily for the past year, and the iPhone 5s seems to feel exactly the same: the same curved edges, same dimensions, same everything. It's only an updated Home button and the new camera flash which make you realize that this is not an iPhone 5. Many people think that releasing the same design twice is bad, and there are others who realize that sometimes there's no need for change. Apple might want to understand that the competition is strong, and it needs to stay relevant. ",
"rating_value": "3",
"object_id": "239",
"object_type": "P",
"type": "B",
"company_id": "1"
},
...
],
"params": {
"page": 1,
"items_per_page": "10",
"sort_order": "desc",
"sort_by": "timestamp",
"sort_order_rev": "asc",
"total_items": "17"
}
}
Параметры для фильтрации¶
Параметр | По умолчанию | Описание |
---|---|---|
page | 1 |
Запрашиваемая страница |
items_per_page | Глобальное значение |
Количество элементов на странице |
sort_by | timestamp |
Сортировать по: name , ip_address , timestamp , status |
sort_order | desc |
Порядок сортировки:
asc — по возрастаниюdesc — по убыванию |
status | Фильтрация по статусу:
A D |
|
name | Фильтрация по имени | |
message | Фильтрация по тексту комментария | |
type | Фильтрация по типу:
C - обсуждение,R - оценки,B - обсуждение и оценки |
|
ip_address | Фильтрация по IP-адресу | |
rating_value | Фильтрация по оценке | |
object_type | Фильтрация по типу объекта: P - product, C - category, A - page, O - order, E - home_page |
|
object_id | Фильтрация по ID объекта | |
period | A |
Фильтрация по периоду:
A - за все время,D - сегодняшний день,LD - предыдущий день,W - текущая неделя,LW - предыдущая неделя,M - текущий месяц,LM - предыдущий месяц,Y - текущий год,LY - предыдущий год,HH - последние 24 часа,HW - последние 7 дней,HM - последние 30 дней,C - заданный период (используется совместно с полями time_from и time_to ) |
time_from | Фильтрация по времени: начальная дата | |
time_to | Фильтрация по времени: конечная дата |
GET /discussions/:id¶
curl -X GET 'http://example.com/api/2.0/discussions/18'
{
"post_id": "18",
"thread_id": "26",
"name": "Alex",
"timestamp": "1383914729",
"user_id": "0",
"ip_address": "10.7.7.93",
"status": "A",
"message": "You guys have the BEST customer service known to man!!! I have always been impressed with how fast you help us out!",
"rating_value": "4",
"object_id": "0",
"object_type": "E",
"type": "B",
"company_id": "1"
}
POST /discussions/¶
Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type
.
В случае, если не удалось создать комментарий/отзыв, будет возвращен статус HTTP/1.1 400 Bad Request.
В случае успеха будет возвращён статус HTTP/1.1 201 Created.
Доступные параметры: object_type, object_id, thread_id, name, message, rating_value, timestamp, status. Обязательные параметры: группа из object_type и object_id или thread_id.
curl -H "Content-Type: application/json" -X POST http://example.com/api/2.0/discussions -d '{"object_type":"P", "object_id":242, "name":"Api", "rating_value":4, "message":"Message via API"}'
{
"post_id": "20"
}
PUT /discussions/:id¶
Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type
.
В случае, если комментарий/отзыв обновить не удалось, будет возвращен статус HTTP/1.1 400 Bad Request.
curl -H "Content-Type: application/json" -X PUT http://example.com/api/2.0/discussions/20 -d '{"rating_value":5, "message":"Changed message via API", "status":"D"}'
{
"post_id": "20",
}
DELETE /discussions/:id¶
В случае, если комментарий/отзыв удалить не удалось, будет возвращен статус HTTP/1.1 400 Bad Request.
В случае успеха будет возвращён статус HTTP/1.1 204 No Content.
curl -X DELETE 'http://example.com/api/2.0/discussions/20'