Reviews & UGC
Crear reseña
POST /api/v1/reviews
{
"product_id": "uuid",
"customer_id": "uuid",
"order_id": "uuid",
"rating": 5,
"title": "Excelente producto",
"body": "Muy buena calidad, lo recomiendo."
}
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
product_id | sí | uuid | Producto reseñado |
customer_id | sí | uuid | Cliente que reseña |
order_id | no | uuid | Orden (marca como compra verificada) |
rating | sí | int | 1-5 estrellas |
title | no | string | Título de la reseña |
body | no | string | Cuerpo de la reseña |
Las reseñas quedan en estado pending y requieren moderación admin.
Listar reseñas de un producto
GET /api/v1/reviews/products/:id
Parámetros:
| Nombre | Tipo | Descripción |
|---|---|---|
status | string | approved, pending, rejected (default: approved) |
cursor | string | Cursor de paginación |
limit | int | Items por página |
Rating promedio
GET /api/v1/reviews/products/:id/rating
Respuesta 200:
{
"product_id": "uuid",
"avg_rating": 4.5,
"total_reviews": 23
}
Moderación (Admin)
| Acción | Método | Endpoint |
|---|---|---|
| Aprobar | POST | /admin/reviews/:id/approve |
| Rechazar | POST | /admin/reviews/:id/reject |
| Desaprobar | POST | /admin/reviews/:id/unapprove |
| Eliminar | DELETE | /admin/reviews/:id |
Configuración de reseñas
Global (Admin)
GET /admin/settings/reviews — Ver configuración global
POST /admin/settings/reviews — Actualizar campo individual
{
"field": "review_request_delay_days",
"value": "7"
}
Por producto (Admin)
GET /admin/catalog/products/:id/review-settings-panel — Panel HTMX
POST /admin/catalog/products/:id/review-settings — Override por producto
DELETE /admin/catalog/products/:id/review-settings/:field — Eliminar override