Restofy Docs
Menú digital POST

Publicaciones de novedades

POST /api/digital-menu/list-feed-items

Descripción

Devuelve el listado paginado de las publicaciones de novedades del restaurante para gestionarlas.

Detalles

Retorna todas las publicaciones de novedades del restaurante, incluidas las vencidas y las programadas a futuro, con su contenido y sus contadores de interacción. Admite búsqueda por texto y llega paginado. Es la vista completa para gestionar las publicaciones, distinta de lo que ve el comensal.

Permisos requeridos

digital.menu.module

Request

Nombre Tipo Requerido Reglas
search string No
max:100

Paginación

defaultLimit 20
maxLimit 100
allowedSorts publishedAt, createdAt, priority
defaultSort publishedAt
defaultDir desc
withTotal true

Ejemplo de request

curl -X POST https://restofy.pro/api/digital-menu/list-feed-items \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -H "X-Tenant-Key: <tenantKey>"

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-09-08T16:35:34Z
HTTP 200

Request

[]

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "feedItems": [
            {
                "itemUuid": "3f6150b4-e1fb-4e08-ada1-7c9f4598ba4b",
                "cardType": "champion",
                "sourceCode": "suggested",
                "authorName": "App Testing",
                "payload": {
                    "label": "El favorito de las noches",
                    "name": "Bandeja paisa",
                    "percent": 42
                },
                "priority": 0,
                "isPinned": 0,
                "likesCount": 0,
                "commentsCount": 0,
                "viewsCount": 0,
                "publishedAt": "2026-09-08T16:31:37.000Z",
                "expiresAt": "2026-09-13T16:31:37.000Z",
                "createdAt": "2026-09-08T16:31:37.000Z",
                "cardTypeName": "Plato campeón",
                "isUserCreatable": false
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 20,
            "total": 1,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}