API-Rest

Documentación de la API-Rest de la aplicación de mensajería.

API - MENSAJES

API - Rest para el CRUD de mensajes. URL base: /api/mensajes.

GET mensaje

GET http://localhost:8081/api/mensajes/:id

Dado un id de un mensaje enviado por parámetro devuelve el mensaje con dicho identificador.

Path Parameters

Name
Type
Description

id

string

ID del mensaje que queremos obtener.

Headers

Name
Type
Description

token

string

Authentication token que permite saber si un usuario está en sesión y verifica si dicho usuario es el emisor o receptor del mensaje.

{
    "_id": {
        "$oid": "5ae716a35a26e0053c4e9ea4"
    },
    "contenido": "Hola, soy Antonio",
    "fecha": {
        "$date": "2018-04-30T13:14:11.089Z"
    },
    "emisor": {
        "_id": "5ad058a2e7791a1864b57105",
        "username": "Antonio"
    },
    "destino": "5ad0a87eb9a8f02ff880a860",
    "leido": false
}

Add mensaje

POST http://localhost:8081/api/mensajes

Creaa un nuevo mensaje

Headers

Name
Type
Description

token

string

Authentication token que permite saber si un usuario está en sesión y verifica si dicho usuario es el emisor o receptor del mensaje.

Request Body

Name
Type
Description

destino

string

ID del usuario de destino del del mensaje.

contenido

string

Contenido del mensaje.

{
    mensaje: "Mensaje creado correctamente",
    _id: "5ae716a35a26e0053c4e9ea4",
    mensaje:{
        {
            "_id": {
                "$oid": "5ae716a35a26e0053c4e9ea4"
            },
            "contenido": "Hola, soy Antonio",
            "fecha": {
                "$date": "2018-04-30T13:14:11.089Z"
            },
            "emisor": {
                "_id": "5ad058a2e7791a1864b57105",
                "username": "Antonio"
            },
            "destino": "5ad0a87eb9a8f02ff880a860",
            "leido": false
        }
    }
}

Get all mensajes

GET http://localhost:8081/api/mensajes

Devuelve todos los mensajes de una conversación con el usuario con id especificado.

Query Parameters

Name
Type
Description

id

string

ID del usuario con la que el usuario en sesión quiere obtener todos los mensajes de la conversación (ID del amigo)

Headers

Name
Type
Description

token

string

Authentication token que permite saber si un usuario está en sesión y verifica si dicho usuario es el emisor o receptor del mensaje.

{
    [
        mensaje1,
        mensaje2,
        ...
    ]
}

Update mensaje: leído

PUT http://localhost:8081/api/mensajes/:id

Marcar un mensaje como leído o no

Path Parameters

Name
Type
Description

id

string

ID del mensaje que se quiere actualizar.

Headers

Name
Type
Description

token

string

Authentication token que permite saber si un usuario está en sesión y verifica si dicho usuario es el emisor o receptor del mensaje.

Request Body

Name
Type
Description

leido

boolean

True en caso de que el mensaje haya sido leído.

{
    mensaje: "Mensaje modificado",
     _id: "5ae716a35a26e0053c4e9ea4"
}

API - USERS

API-Rest para la gestión de usuarios, principalmente la autenticación como usuario para el uso de APIs, listado de usuarios, etc.

Autenticar: Get token

POST http://localhost:8081/api/autenticar

Autenticación por medio de usuario y contraseña. Devuelve un token de seguridad.

Request Body

Name
Type
Description

password

string

Contraseña del usuario que quiere entrar en sesión.

username

string

Username o email del usuario(existente).

{
    autenticado: true,
    token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c3VhcmlvIjp7Il9pZCI6IjVhZDBhODdlYjlhOGYwMmZmODgwYTg2MCIsInVzZXJuYW1lIjoiUGFibG8iLCJlbWFpbCI6InVvMjUxMDE3QHVuaW92aS5lcyIsInBhc3N3b3JkIjoiNmZhYmQ2ZWE2ZjE1MTg1OTJiNzM0OGQ4NGE1MWNlOTdiODdlNjc5MDJhYTVhOWY4NmJlZWEzNGNkMzlhNmI0YSIsIm5vbWJyZSI6IiIsImZvdG9fcGVyZmlsIjoiIiwiYXBlbGxpZG9zIjoiIiwiYW1pZ29zIjpbIjVhZDA1OGEyZTc3OTFhMTg2NGI1NzEwNSIsIjVhZTBiYTIzOWFjNjQ3MWZhODEyMmIxMiIsIjVhZTBiYTVmOWFjNjQ3MWZhODEyMmIxMyIsIjVhZTIxMmZkMWUyYTk1MzM3YzJlZjYwOSIsIjVhZTMzMDU0ZjA3ZjZjM2ZmODdjODY4MiJdfSwidGllbXBvIjoxNTI1MDc1OTk2LjkxMSwiaWF0IjoxNTI1MDc1OTk2fQ.-pJR4whwXGfBVaigi2wYMJgxPhRm19aNx91KWagilqQ",
    usuario: {
        _id: "5ad0a87eb9a8f02ff880a860",
        username: "Antonio",
        email: "antonio@uniovi.es",
        password: "6fabd6ea6f1518592b7348d84a51ce97b87e67902aa5a9f86beea34cd39a6b4a",
        nombre: "",
        foto_perfil: "",
        apellidos: "",
        amigos: [
            "5ad058a2e7791a1864b57105",
            "5ae0ba239ac6471fa8122b12",
            "5ae0ba5f9ac6471fa8122b13",
            "5ae212fd1e2a95337c2ef609",
            "5ae33054f07f6c3ff87c8682"
        ]
    }
}

Get all friends

GET http://localhost:8081/api/usuarios/amigos

Devuelve una lista con los usuarios amigos del usuario en sesión.

Headers

Name
Type
Description

token

string

Authentication token que permite saber si un usuario está en sesión.

{
    usuario1....,
    usuario2....,
    ....
}

API - PUBLICACIONES

API-Rest para el CRUD de publicaciones.

Get all publicaciones

GET http://localhost:8081/api/post

Devuelve todas las publicaciones guardadas en la base de datos

[
    {
        _id: {
            "$oid": "5af011a9f2967136fc490168"
        },
        titulo: "Articulo de Ejemplo",
        contenido: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        fecha: {
            "$date": "2018-05-07T08:43:20.795Z"
        },
        autor: "Antonio",
        tiene_foto: false,
        comentarios: []
    },
    ...
]

Get post

GET http://localhost:8081/api/post/:id

Devuelve un post en concreto

Path Parameters

Name
Type
Description

id

string

ID del post que queremos obtener.

{
    _id: {
        "$oid": "5af011a9f2967136fc490168"
    },
    titulo: "Articulo de Ejemplo",
    contenido: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    fecha: {
        "$date": "2018-05-07T08:43:20.795Z"
    },
    autor: "Antonio",
    tiene_foto: false,
    comentarios: []
}

Add post

POST http://localhost:8081/api/post

Añade una publicación nueva

Request Body

Name
Type
Description

tiene_foto

boolean

Indica si la publicación va acompañada de una foto

autor

string

Autor del post

contenido

string

Contenido del post

titulo

string

Titulo del post

{
     mensaje: "Publicación insertarda",
     _id: id
}

Update post

PUT http://localhost:8081/api/post/:id

Actualizar el contenido de una publicación existente

Path Parameters

Name
Type
Description

id

string

ID de la publicación que queremos modificar

Request Body

Name
Type
Description

contenido

string

Contenido del post

titulo

string

Titulo del post

{
     mensaje: "Publicación modificada correctamente",
     _id: id
}

Delete post

DELETE http://localhost:8081/api/post/:id

Elimina un post concreto

Path Parameters

Name
Type
Description

id

string

ID del post que queremos eliminar

Last updated