2026-07-17 — Inbox de notificaciones
Para front-end y mobile (cliente y conductor).
Summary
El usuario autenticado (cliente o conductor) gana un inbox de notificaciones. El backend crea notificaciones ante eventos de pedido, oferta, wallet y cuenta, y las guarda para consultarlas; los mismos eventos se entregan como push vía FCM. Las entradas más antiguas que la ventana de retención se eliminan automáticamente.
New
Inbox de notificaciones
| Método | Endpoint | Rol | Para qué sirve |
|---|---|---|---|
| GET | /notifications |
cliente, conductor | Listar las notificaciones del usuario (cursor, más recientes primero). |
| GET | /notifications/unread-count |
cliente, conductor | Contador de no leídas. |
| POST | /notifications/{id}/read |
cliente, conductor | Marcar una notificación como leída (idempotente). |
| POST | /notifications/read-all |
cliente, conductor | Marcar todas como leídas. |
| DELETE | /notifications/{id} |
cliente, conductor | Borrar una notificación. |
GET /notifications:
- Query:
limit(integer, 1–100, default 30) ·cursor(string, opaco, de unnext_cursorprevio) ·filter(string, solounread). - Response:
{ items, next_cursor, has_more }. Cada item:id(uuid),type(p. ej.offer_received,order_delivered),title,body,priority(normal,high,critical),data(payload de dominio, las claves varían portype),read_at(nullsi no leída),created_at. - Errores:
422 ValidationErrorsilimit,cursorofilterson inválidos.
Otros:
GET /notifications/unread-count:{ "unread_count": 3 }.POST /notifications/{id}/read:{ "read_at": "..." }.POST /notifications/read-all:{ "ok": true }.DELETE /notifications/{id}:{ "ok": true }.- Errores:
404 NotFoundsi la notificación no existe o es de otro usuario (aplica a{id}/readyDELETE /notifications/{id}).