Skip to main content

Qué es la Bitácora

La Bitácora de Actividad es el módulo de auditoría de Restaurantero Pro. Registra cada acción de cada usuario — tanto en el dashboard como en el POS — en un solo lugar. El dueño ve en tiempo real:
Restaurantero Pro detecta automáticamente anomalías de comportamiento y alerta al dueño:
  • 3+ cancelaciones del mismo mesero en 2 horas
  • Precio modificado fuera del rango histórico (±20%)
  • Login desde dispositivo o IP nunca antes visto

El endpoint

Es el mismo patrón que ya usas para el Corte Z — mismo header, mismo formato JSON:API.

Qué eventos disparar desde RC

Estos son los eventos de alto valor para el dueño. Agrega los que correspondan según la versión de RC (Full Dining o Express):

Tickets y ventas

Caja y turnos

Usuarios y accesos

Autorización de gerente


Snippet PHP completo — listo para copiar

Uso en los observers de RC

El try/catch con timeout(3) es importante — si Restaurantero Pro tiene algún problema, el POS no se debe quedar colgado. La Bitácora es best-effort: si un evento no llega, no afecta la operación del restaurante.

Cuándo disparar cada evento

A diferencia del Corte Z (que se envía una vez al día), los eventos de Bitácora se envían en tiempo real, al momento en que ocurre la acción.
EventoCuándoSíncrono/Asíncrono
ticket.line_cancelledInmediatamente después de confirmar la cancelaciónAsync recomendado
ticket.voidedInmediatamente después del voidAsync recomendado
ticket.discount_appliedAl guardar el descuentoAsync recomendado
cash_register.openedAl crear el CashRegisterOpeningAsync recomendado
cash_register.closedAl cerrar el Corte Z (antes o después del ingest)Async recomendado
user.loginEn el AuthController, después de login exitosoAsync
user.login_failedEn el AuthController, después de falloAsync
manager.overrideAl registrar la autorización del gerenteSíncrono OK
No envíes eventos retroactivos — la Bitácora está diseñada para tiempo real. Si un evento falló, no lo reenvíes con occurred_at del pasado; simplemente déjalo pasar. El historial financiero lo cubre el Corte Z.

Checklist de integración para Bitácora

  • RestauranteroActivityService creado y registrado en el service container
  • RESTAURANTERO_API_KEY configurado en .env de RC
  • ticket.line_cancelled disparando desde el observer de cancelaciones
  • ticket.voided disparando desde el observer de voids
  • ticket.discount_applied disparando al aplicar descuentos manuales
  • cash_register.opened disparando al abrir turno
  • cash_register.closed disparando al cerrar Corte Z
  • user.login disparando en AuthController
  • Prueba de humo: enviar evento manual con Artisan y verificar en Bitácora del dashboard
  • timeout(3) confirmado — el POS no se cuelga si RP no responde

Prueba rápida desde Artisan (RC)

Agrega este comando en RC para probar sin abrir el POS:
Verifica en el dashboard de Restaurantero Pro → Ajustes → Bitácora que el evento aparezca con source rc_pos.