API - UNIZAR-30226-2020-10/documentacion GitHub Wiki
URL: https://psoftware.herokuapp.com/
listar_canciones
/list
Devuelve una lista con todas las canciones
- Entrada: None
- Salida:
- [ {“ID”:, “Nombre” : x, “Artistas”:[], ”Album”: ,”URL”:, “Imagen” , "Categorias":}, {}, …]
- “Error”
listar_listas
/list_lists
Devuelve una lista con las listas de reproducción de un usuario
- Entrada:
-
email
: email del usuario cuyas listas se quieren mostrar
-
- Salida:
- [ {“ID”:, “Nombre” : x, "Descripcion”: , ”Imagen”: }, {}, …]
- “Error”
listar_albums
/list_albums
Devuelve una lista con todos los álbumes existentes
- Entrada: None
- Salida:
- [ {“Nombre” : x, "Descripcion”: , "fecha":, ”Imagen”: , "Artistas":}, {}, …]
- “Error”
listar_artistas
/list_artists
Devuelve una lista con todos los artistas existentes
- Entrada: None
- Salida:
- [ {“Nombre” : x, "Pais": , "Imagen": }, {}, …]
- “Error”
listar_podcast
/list_podcast
Devuelve una lista con los podcast favoritos de un usuario
- Entrada:
-
email
: email del usuario cuyos podcast se muestran
-
- Salida:
- [ Id1, Id2, ...]
- “Error”
- "No existe usuario"
listar_categorias
/list_categories
Devuelve una lista con todas las categorias
- Entrada:
- Salida:
- [{"Nombre": , "Imagen": } {}]
- “Error”
listar_suscripciones
/list_suscriptions
Devuelve una lista con los artistas a los que esta suscrito un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [("/list_artists")]
- “Error”
- "No existe usuario"
listar_amistades
/list_friends
Devuelve una lista con los amigos de un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"Nombre": , "Imagen": , "Email": }, {…}]
- “Error”
- "No existe usuario"
listar_peticiones_enviadas
/list_peticiones_enviadas
Devuelve una lista con las solicitudes de amistad enviadas por un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario)}, {…}]
- “Error”
- "No existe usuario"
listar_peticiones_recibidas
/list_peticiones_recibidas
Devuelve una lista con las solicitudes de amistad recibidas por un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario)}, {…}]
- “Error”
- "No existe usuario"
listar_listas_compartidas
/list_listas_compartidas
Devuelve una lista con las listas de reproducción compartidas por un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario), "Lista": (list_lists_data), "Notificacion": }, {…}]
- “Error”
- "No existe usuario"
listar_listas_compartidas_conmigo
/list_listas_compartidas_conmigo
Devuelve una lista con las listas compartidas a un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario), "Lista": (list_lists_data : sin canciones), "Notificacion": }, {…}]
- “Error”
- "No existe usuario"
listar_canciones_compartidas
/list_canciones_compartidas
Devuelve una lista con las canciones compartidas por un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario), "Cancion": (list_song_data), "Notificacion": }, {…}]
- “Error”
- "No existe usuario"
listar_canciones_compartidas_conmigo
/list_canciones_compartidas_conmigo
Devuelve la lista de canciones compartidas a un usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario), "Cancion": (list_song_data), "Notificacion": }, {…}]
- “Error”
- "No existe usuario"
listar podcast compartidos
list_podcast_compartidos
Muestra los podcast compartidos con el usuario
- Entrada:
-
email
: email del usuario cuya información se muestra
-
- Salida:
- [{"ID": , "Emisor": (info_usuario), "Receptor": (info_usuario), "Podcast": id_serie_podcast, "Notificacion": }, {…}]
- “Error”
- "No existe usuario"
listar fotos de perfil
list_image
Muestra los podcast compartidos con el usuario
- Entrada:
- None
- Salida:
- [{"ID": x,"Nombre":"x","Url":"x"}, {…}]
- “Error”
- "No existe usuario"
listar datos de una lista
/list_lists_data
Devuelve un diccionario con los datos de una lista de reproduccion
- Entrada:
-
lista
: id de la lista
-
- Salida:
- {“ID”:, “Nombre” : x, Descripción”: , “Canciones”: [(listar_canciones)],”Imagen”: }
- "No existe lista"
- “Error”
listar datos de un album
/list_albums_data
Devuelve un diccionario con los datos de un album
- Entrada:
-
album
: id del album
-
- Salida:
- {“Nombre” : x, "Descripcion”: , "fecha":, ”Imagen”: , "Artistas": , "Canciones": [(listar_canciones)]}
- "No existe album"
- “Error”
listar datos de un artista
/list_artist_data
Devuelve un diccionario con los datos de un artista
- Entrada:
-
artista
: id del artista
-
- Salida:
- {“Nombre” : x, "Pais": , "Imagen": , "Albumes": [(list_albums)] }
- "No existe artista"
- “Error”
crear lista de reproducción
/create_list
Crea una lista de reproducción para un usuario
- Entrada:*
-
lista
: nombre de la lista -
desc
: descripción -
email
: email del usuario que crea la lista
-
- Salida:
- “Success”
- “Error”
- "No favoritos"
Eliminar lista de reproducción
/delete_list
Borra una lista de reproducción de un usuario
- Entrada:*
-
lista
: id de la lista
-
- Salida:
- “Error”
- “Success”
Añadir canción a lista de reproducción
/add_to_list
Añade una canción a una lista de reproducción
- Entrada:*
-
cancion
: id de la canción -
lista
: id de la lista
-
- Salida:
- “Error_lista” : error al encontrar la lista
- "No existe la lista"
- “Error_cancion”: error al encontrar la canción
- "No existe la cancion"
- “Error” : error al hacer el commit
- "Ya existe": la cancion ya esta en la lista de reproduccion
- “Success”
Eliminar canción de lista de reproducción
/delete_from_list
Borra una canción de una lista de reproducción
- Entrada:*
-
cancion
: id de la canción -
lista
: id de la lista
-
- Salida:
- “Error_lista” : error al encontrar la lista
- "No existe la lista"
- “Error_cancion”: error al encontrar la canción
- "No existe la cancion"
- “Error” : error al hacer el commit
- “Success”
Reordenar Listas
/reorder
Permite recolocar una canción en otra posición dentro de una lista de reproducción
- Entrada:
-
lista
: id de la lista a modificar -
before
: posición inicial de la cancion a mover -
after
: posición final de la cancion a mover
-
- Salida:
- "Error": error en la base de datos
- "Success" : todo bien
Añadir podcast a favoritos
/podcast_fav
Añade un podcast a la lista de podcast favoritos de un usuario
- Entrada:
-
nombre
: nombre del podcast -
podcast
: id del podcast -
email
: email del usuario
-
- Salida:
- "Error"
- "Success"
- "No existe": no existe la lista
Eliminar podcast de favoritos
/delete_podcast_fav
Elimina un podcast de favoritos de un usuario
- Entrada:
-
podcast
: id del podcast -
email
: email del usuario
-
- Salida:
- "Error"
- "Success"
- "No existe el podcast"
- "No existe la lista": no existe la lista
Saber si un podcast es favorito
/podcast_is_fav
Devuelve true si el podcast esta en la lista de favoritos de un usuario
- Entrada:
-
podcast
: id del podcast -
email
: email del usuario
-
- Salida:
- "Error"
- "True"
- "False"
Saber si una cancion es favorito
/is_fav
Devuelve true si la canción esta en la lista de favoritos de un usuario
- Entrada:
-
cancion
: id de la cancion -
email
: email del usuario
-
- Salida:
- "Error"
- "True"
- "False"
Buscar
/search
Busca las canciones, álbumes y artistas cuyo nombre esta relacionado con la cadena a buscar
Adicionalmente, devuelve las canciones cuyo artista o álbum estan relacionados
- Entrada:
-
nombre
: nombre o parte del nombre de lo que sea
-
- Salida:
- [ {"Canciones": [{“ID”:, “Nombre” : x, “Artistas”:[], ”Album”: ,”URL”:, “Imagen” }, {} ...], "Albums": (list_albums) "Artistas": (list_artists) }]
Buscar_en_lista
/search_in_list
Búsqueda dentro de una lista de reproducción
- Entrada:
-
nombre
: nombre o parte del nombre de lo que sea -
lista
: id de la lista(Numero)
-
- Salida:
- [ {“ID”:, “Nombre” : x, “Artistas”:[], ”Album”: ,”URL”:, “Imagen” }, Id2{}, …]
- "No existe la lista"
- "Error"
Buscar_lista
/search_list
Busca una lista de reproducción entre las listas de un usuario
- Entrada:
-
lista
: nombre o parte del nombre de la lista -
email
: usuario en el que buscar
-
- Salida: [ {“ID”:, “Nombre” : x, Descripción”: , ”Imagen”: }, Id2{}, …]
Filtrar categorias
/filter_category
Devuevlve una lista con las canciones que pertenecen a alguna de las categorías proporcionadas
- Entrada:
-
categorías
: [ “Rock”, “Pop”, etc ]: lista de categorías a filtrar
-
- Salida:
- [ {“ID”:, “Nombre” : x, “Artistas”:[], ”Album”: ,”URL”:, “Imagen” }, Id2{}, …]
Filtrar categorias en lista
/filter_category_in_list
Devuevlve una lista con las canciones de una lista que pertenecen a alguna de las categorías proporcionadas
- Entrada:
-
categorias
: [ “Rock”, “Pop”, etc ]: lista de categorías a filtrar -
lista
: id de la lista donde filtrar
-
- Salida:
- [ {“ID”:, “Nombre” : x, “Artistas”:[], ”Album”: ,”URL”:, “Imagen” }, Id2{}, …]
- "No existe la lista"
- "Error"
Registro
/register
Registra a un usuario en la aplicación
- Entrada:
email
nombre
-
password
: pasármela cifrada -
fecha
: fecha nacimiento pais
- Salida:
- “Error”: error de la base de datos
- “Clave duplicada”: ya está registrado
- “Fecha incorrecta”: formato de fecha no válido
- “Success” : todo bien, todo correcto y yo que me alegro
Confirmar usuario
'/confirm_email/'
Confirma un usuario mediante el token que se envía por correo electronico
- Salida:
- "Ya estaba confirmado"
- "Confirmación de exitosa"
Eliminar Usuarios
/delete_user
Elimina un usuario de la aplicación
- Entrada:
email
-
password
: pasármela cifrada
- Salida:
- Error: error de la base de datos
- "No user”: usuario incorrecto, no existe
- “Contraseña Incorrecta”: no coinciden las contraseñas
- “Success” : todo bien, todo correcto y yo que me alegro
Inicio Sesión
/sign_in
Inicio de sesion
- Entrada:
email
-
password
: pasármela cifrada
- Salida:
- “Error”: error de la base de datos
- “No user”: usuario incorrecto, no existe
- “Contraseña Incorrecta”: no coinciden las contraseñas
- “Success” : todo bien, todo correcto y yo que me alegro
- "Sin confirmar": no se ha confirmado el usuario
Información de Usuario
/info_usuario
Devuelve la información de un usuario
- Entrada:
email
- Salida:
- {"Nombre": , "Password": ,"fecha": ,"Pais": ,"Foto": }
- "Error"
- "No existe usuario"
Modificar
/modify
Permite modificar los datos de un usuario excepto el correo
- Entrada:
El email y la contraseña son obligatorio, los otros campos solo enviar si modificados
email
password
- 'new_password'
-
fecha
-> MM(- | /)DD(- | /)AAAA nombre
pais
-
imagen
: id de la imagen
- Salida:
- "Success"
- "Error"
- "No existe usuario"
- "Contraseña incorrecta"
Buscar Usuarios
/search_users
Busca a un usuario registrado en la aplicación
- Entrada:
nombre
- Salida:
- [{"Nombre": nombre, "Imagen": url_imagen, "Email": email, "Fecha": fecha, "Pais": pais, "Token", token}, {...}]
- "Error"
Suscribir a artista
/suscription
Suscribe a un usuario a un artista
- Entrada:
-
email
: email del usuario -
artista
: nombre del artista
-
- Salida:
- "Success"
- "No existe usuario"
- "No existe artista"
- "Error"
Dessuscribirse de un artista
/unsuscribe
Eliminar la suscripción de un usuario a un artista
- Entrada:
-
email
: email del usuario -
artista
: nombre del artista
-
- Salida:
- "Success"
- "No existe usuario"
- "No existe artista"
- "Error"
Solucitud de amistad
/solicitud_amistad
Realiza una solicitud de amistad del emisor al receptor
- Entrada:
-
emisor
: email del usuario emisor -
receptor
: email del usuario receptor
-
- Salida:
- "Success"
- "No existe emisor"
- "No existe receptor"
- "Mismo usuario"
- "Ya hay una solicitud pendiente"
- "Error"
- "Ya son amigos"
Responder_peticion
/responder_peticion
Acepta o rechaza una petición de amistad
- Entrada:
-
peticion
: id de la peticion -
respuesta
: "Acepto", o lo que sea, mejor "Rechazo"
-
- Salida:
- "Success"
- "Error"
Eliminar amigo
/delete_friend
Elimina un amigo de un usuario
- Entrada:
-
email
: email del usuario -
amigo
: email del amigo a eliminar
-
- Salida:
- "Success"
- "No existe usuario"
- "No existe amigo"
- "Error"
Establecer cancion como ultima escuchada por un usuario
/set_last_song
Establece la cancion especificada como la ultima en ser escuchada para que aparezca al volver a abrir la aplicación
- Entrada:
-
email
: email del usuario -
cancion
: id de la cancion -
segundo
: segundo de la cancion en que se dejo de escuchar -
lista
: id de la ultima lista
-
- Salida:
- "Success"
- "Error"
- "No existe usuario"
Obtener la información de la ultima cancin de un usuario
/get_last_song
Devuelve la ultima canción escuchada
- Entrada
-
email
: email del usuario
-
- Salida:
- {"Cancion": (
/list
) or null, "Segundo": entero or null, "Lista": id entero or null} Valores null si todavía no hay ultima cancion - "Error"
- "No existe usuario"
- {"Cancion": (
Establecer el token de un usuario
/set_token
Establece el token para las notificaciones de android
- Entrada
-
email
: email del usuario -
token
: token a escribir
-
- Salida:
- "Success"
- "Error"
- "No existe usuario"
Obtener el token de un usuario
/get_token
Devuelve el token para las notificaciones de un usuario
- Entrada
-
email
: email del usuario
-
- Salida:
- Token, string de hasta 200 chars
- "Error"
- "No existe usuario"
Compartir cancion
/share_song
Comparte una cancion a un usuario
- Entrada
-
cancion
: id de la cancion a compartir -
emisor
: emisor de la cancion -
receptor
: receptor de la cancion
-
- Salida
- "Mismo usuario": no se puede enviar cosas a sí mismo
- "Elemento ya compartido con ese usuario": ya se ha compartido antes
- "Error"
- "Success"
Compartir lista
/share_list
Comparte una lista de reproducción a un usuario
- Entrada
-
lista
: id de la lista a compartir -
emisor
: emisor de la cancion -
receptor
: receptor de la cancion
-
- Salida
- "Mismo usuario": no se puede enviar cosas a sí mismo
- "Elemento ya compartido con ese usuario": ya se ha compartido antes
- "Error"
- "Success"
Compartir podcast
/share_podcast
Comparte un podcast a un usuario
- Entrada
-
podcast
: id de la lista a compartir -
emisor
: emisor de la cancion -
receptor
: receptor de la cancion
-
- Salida
- "Mismo usuario": no se puede enviar cosas a sí mismo
- "Elemento ya compartido con ese usuario": ya se ha compartido antes
- "Error"
- "Success"
Dejar de compartir cancion
/unshare_song
Elimina la compartición de una cancion
- Entrada
-
cancion
: id de la cancion_compartida, no id de cancion
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Dejar de compartir lista
/unshare_list
Elimina la compartición de una lista de reproducción
- Entrada
-
lista
: id de la lista_compartida, no id de lista de reproduccion
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Dejar de compartir podcast
/unshare_podcast
Elimina la compartición de una lista de reproducción
- Entrada
-
podcast
: id del podcast_compartido
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Quitar la notificación de un elemento compartido
/unnotify_list
Pone a false el flag de mostrar notificación de un elemento compartido
- Entrada
-
elemento
: id del elemento
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Quitar la notificación de un elemento compartido
/unnotify_song
Pone a false el flag de mostrar notificación de un elemento compartido
- Entrada
-
elemento
: id del elemento
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Quitar la notificación de un elemento compartido
/unnotify_podcast
Pone a false el flag de mostrar notificación de un elemento compartido
- Entrada
-
elemento
: id del elemento
-
- Salida
- "No existe": no existe la compartición a eliminar
- "Error"
- "Success"
Añadir lista compartida a propias
/add_list
Añade una copia de una lista de reproducción ajena a la lista de listas de reproducción de un usuario
- Entrada
-
lista
: id de la lista a copiar -
email
: email del usuario que recibe la lista
-
- Salida
- "No existe usuario"
- "No existe lista"
- "Success"
- "Error"
Subir imágenes a amazon
/sign_s3
Da permiso para subir una imagen a GitHub
- Entrada
-
file_type
: tipo de archivo -
file_name
: nombre de archivo
-
- Salida
- {"data": datos, "url": url de amazon}