POST /api/v2/notifications/token¶
Registra o actualiza el token push de un dispositivo para el usuario autenticado.
- Base v2:
/api/v2 - Auth:
protectToken
Request¶
URL¶
POST /api/v2/notifications/token
Headers¶
Body¶
{
"deviceId": "string",
"platform": "ios",
"expoPushToken": "ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]",
"deviceName": "iPhone 15 Pro"
}
Campos:
- deviceId (requerido): identificador estable del dispositivo.
- platform (requerido): "ios" | "android".
- expoPushToken (requerido): token Expo con formato ExponentPushToken[...].
- deviceName (opcional): nombre legible.
Response¶
200 OK¶
Validaciones / errores¶
400si faltan campos requeridos.400siplatformno esios|android.- Error si el usuario no existe (caso anómalo si el JWT es válido).
Persistencia (Base de datos)¶
Tabla: user_device_tokens
Comportamiento:
- Si no existe (userId, deviceId) → crea registro.
- Si ya existe → actualiza expoPushToken, platform, deviceName (si llega) y lastActiveAt.
Campos principales:
- userId (FK a users.id)
- deviceId
- platform
- expoPushToken
- deviceName
- lastActiveAt
Índices:
- único (userId, deviceId)
- índice por expoPushToken