Conversación de un producto o publicación
POST /api/site-comments/list-comments
Descripción
Devuelve el listado paginado de mensajes que los clientes dejaron sobre un producto o una publicación.
Detalles
Recibe el restaurante, el contenido y el tipo de conversación (preguntas, reseñas o comentarios), y devuelve sus mensajes paginados para el desplazamiento continuo. Cada mensaje trae el nombre de quien lo escribió, sus "me gusta" y las respuestas que recibió, marcando cuáles respondió el restaurante. Incluye el resumen del contenido: promedio de estrellas, cuántas reseñas tiene, cuándo fue la última y cuántos mensajes acumula. Los mensajes ocultos por el restaurante no aparecen.
Permisos requeridos
public
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| slug | string | Sí |
min:1
max:63
|
| referenceType | string | Sí |
max:20
|
| referenceUuid | string | Sí |
min:36
max:36
|
| kind | string | Sí |
max:10
|
| sessionUuid | string | No |
min:36
max:36
|
| dinerToken | string | No |
min:1
|
Paginación
| defaultLimit | 20 |
| maxLimit | 50 |
| allowedSorts | [likesCount, createdAt] |
| defaultSort | likesCount |
| defaultDir | desc |
| tieBreak | createdAt asc |
| withTotal | true |
Ejemplo de request
curl -X POST https://restofy.pro/api/site-comments/list-comments \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>" \
-d '{
"slug": "string",
"referenceType": "string",
"referenceUuid": "string",
"kind": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
{
"slug": "restofy_test_commentsreplytes_9501_1788885085_tenant",
"referenceType": "product",
"referenceUuid": "3662ba46-18be-11f1-9da2-b627060a1ebe",
"kind": "question"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"comments": [
{
"commentUuid": "60c85c7a-a6dc-45f0-b811-3c9ed9278c88",
"authorName": "Camila",
"isStaff": false,
"isVerified": false,
"ratingValue": null,
"likesCount": 0,
"likedByMe": false,
"body": "¿Este plato es picante?",
"createdAt": "2026-09-08T16:31:31.000Z",
"replies": [
{
"commentUuid": "755cd79f-ead7-4fd5-af7a-7b9123d0dadd",
"authorName": "App Testing",
"isStaff": true,
"body": "Es picante suave, se puede pedir sin ají.",
"createdAt": "2026-09-08T16:31:32.000Z"
}
]
}
],
"summary": {
"ratingAverage": null,
"reviewsCount": 0,
"questionsCount": 1,
"commentsCount": 1,
"lastReviewedAt": null
},
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}