Nombre del Servicio: | Servicio de Chats |
Responsabilidad: | CRUD de chats y mensajes privados entre usuarios. |
Lenguaje de Programación | Java |
Servicios que Consume: | Servicio de Estadísticas (SOAP) |
Servicios que Ofrece: | CRUD de chats y mensajes. |
Bases de datos: | MongoDB |
A continuación se especifican los endpoints de este servicio. Estos endpoints son de consumo externo, propagados en el servicio de API pública.
GET: /api/chats
En la cabecera viene el usuario del que sacar los chats.
[
{
"id": 1,
"lastUpdated": <long_time_since_epoch>,
"messages": "<url_get_messages>" (/api/chats/1/messages),
"user1": "<id_user1>",
"user2": "<id_user2>"
},
...
]
200 ok
N/A
GET: /api/chats/<id>/messages
Importante comprobar que en el pasaporte el usuario tenga permisos para ver los chats (p.ej. si es un chat entre menganito y fulanito, que paco no lo pueda ver).
[
{
"id": 1,
"createdAt": <long_time_since_epoch>,
"text": "Hola, Buenas",
"sender": "<id_user>"
},
{
"id": 2,
"createdAt": <long_time_since_epoch>,
"text": "respuesta",
"sender": "<id_user>"
},
...
]
404 - Not Found: El chat no existe 401 - Unauthorized: Si un usuario intenta ver mensajes en un chat en el que no participa.
__POST: /api/chats
El id del usuario autor del mensaje viene en el header. Habría que cogerlo y añadirlo al mensaje.
{
"user2": "<user2_id>"
}
201 - Created En la cabecera -> link al recurso
{
"id": 1,
"lastUpdated": <long_time_since_epoch>,
"messages": "<url_get_messages>" (/api/chats/1/messages),
"user1": "<id_user1>",
"user2": "<id_user2>"
}
401 - BadReques: Si el campo del user2 está vacío. 401 - Unauthorized: Si un usuario intenta crear un mensaje en un chat en el que no participa.
POST: /api/chats/<id>/messages
El id del usuario autor del mensaje viene en el header. Habría que cogerlo y añadirlo al mensaje.
{
"text": "Hola, Buenas"
}
201 - Created En la cabecera -> link al recurso
{
"id": 1,
"createdAt": <long_time_since_epoch>,
"text": "Hola, Buenas",
"sender": "<id_user>"
}
404 - Not Found: El chat no existe 401 - Unauthorized: Si un usuario intenta crear un mensaje en un chat en el que no participa.