-
Notifications
You must be signed in to change notification settings - Fork 0
API Docs
Aqui se registrará la documentación de la API de la aplicación.
NOTA: La ruta principal de la API es
localhost:4000
. Es decir, todas las rutas que se describen a continuación deben ser precedidas porlocalhost:4000
.
NOTA: Las entradas se envian en formato JSON a traves de
body
.
-
GET
/api/sessionTest
Retorna un JSON con informacion del usuario con la sesion abierta actualmente.
-
Entrada: Ninguna
-
Salida:
{ "authenticated": true, "userId": "64965e168b7143785acf87fa", "username": "usuario3", "phone": "1234567890" }
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
POST
/api/auth/register
Registra un usuario. Solo funciona si el usuario NO tiene una sesion abierta.
-
Entrada:
-
username
: nombre de usuario. Debe ser unico. -
phone
: telefono del usuario. Debe tener 10 caracteres. Debe ser unico. -
password
: contraseña del usuario.
{ "username": "usuario3", "phone": "1234567890", "password": "pass" }
-
-
Salida:
Retorna 200 (OK) si el usuario se registró correctamente.
Retorna 400 (mala solicitud) si el usuario ya existe o no se cumplen las condiciones.
-
-
POST
/api/auth/login
Autentica un usuario. Solo funciona si el usuario NO tiene una sesion abierta.
-
Entrada:
-
username
: nombre de usuario. -
password
: contraseña del usuario.
{ "username": "usuario3", "password": "pass" }
-
-
Salida:
{ "authenticated": true, "userId": "64965e168b7143785acf87fa", "username": "usuario3", "phone": "1234567890" }
Retorna 400 (mala solicitud) si el usuario no existe o la contraseña es incorrecta.
-
-
POST
/api/auth/logout
Cierra la sesion del usuario. Solo funciona si el usuario SI tiene una sesion abierta.
-
Entrada: Ninguna
-
Salida:
Retorna 200 (OK) si la sesion se cerró correctamente.
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
GET
/api/user/username/:username
Retorna un JSON con informacion del usuario con el nombre de usuario especificado en
:username
.-
Entrada: Ninguna
-
Salida:
{ "username": "usuario3", "phone": "1234567890" }
Retorna 404 (no encontrado) si no existe el usuario.
-
-
GET
/api/user/phone/:phone
Retorna un JSON con informacion del usuario con el telefono especificado en
:phone
.-
Entrada: Ninguna
-
Salida:
{ "username": "usuario3", "phone": "1234567890" }
Retorna 404 (no encontrado) si no existe el usuario.
-
-
GET
/api/user
Retorna un JSON con informacion del usuario con la sesion abierta actualmente.
-
Entrada: Ninguna
-
Salida:
{ "username": "usuario3", "phone": "1234567890" }
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
POST
/api/contact/add
Agrega un contacto al usuario con la sesion abierta actualmente.
-
Entrada:
-
phone
: telefono del contacto a agregar. Debe tener 10 caracteres.
{ "phone": "1234567891" }
-
-
Salida:
Retorna 200 (OK) si el contacto se agregó correctamente.
Retorna 400 (mala solicitud) si el contacto ya existe o intenta agregarse a si mismo.
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
DELETE
/api/contact/remove
Elimina un contacto del usuario con la sesion abierta actualmente. El contacto debe tener 10 caracteres.
-
Entrada:
-
phone
: telefono del contacto a eliminar. Debe tener 10 caracteres.
{ "phone": "1234567891" }
-
-
Salida:
Retorna 200 (OK) si el contacto se eliminó correctamente.
Retorna 400 (mala solicitud) si el contacto no existe o intenta eliminarse a si mismo.
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
GET
/api/contact/list
Retorna una lista de los contactos del usuario con la sesion abierta actualmente.
-
Entrada: Ninguna
-
Salida:
["2222222222", "3333333333", "3333333334", "1234567891", "1234567893"]
Retorna una lista vacia
[]
si el usuario no tiene contactos.Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
POST
/api/message/send
Envía un mensaje a un telefono. EL usuario quien envia es aquel con la sesion abierta actualmente.
-
Entrada:
-
phone
: telefono del destinatario. Debe tener 10 caracteres. -
message
: mensaje a enviar.
{ "phone": "1234567891", "message": "Hola" }
-
-
Salida:
{ "fromPhone": "1234567890", "toPhone": "2222222221", "message": "Hola", "date": "2023-06-24T05:11:57.361Z", "_id": "64967b1dbe06e0d44b851191", "__v": 0 }
Retorna 200 (OK) si el mensaje se envió correctamente.
Retorna 400 (mala solicitud) si se intenta enviar un mensaje a si mismo.
Retorna 401 (no autorizado) si no hay una sesion abierta.
-
-
GET
/api/message/list/:phone
Obtiene una lista de los mensajes entre el usuario con la sesion abierta actualmente y el usuario con el telefono especificado en
:phone
.-
Entrada: Ninguna
-
Salida:
[ { "fromPhone": "1111111111", "toPhone": "2222222222", "message": "Bien y tu", "date": "2023-06-24T06:02:23.479Z" }, { "fromPhone": "2222222222", "toPhone": "1111111111", "message": "Hola como estas", "date": "2023-06-24T05:59:27.210Z" }, { "fromPhone": "1111111111", "toPhone": "2222222222", "message": "Hola", "date": "2023-06-24T05:58:28.394Z" } ]
NOTA: La lista esta ordenada del mas reciente al mas antiguo.
Retorna una lista vacia
[]
si no hay mensajes entre los usuarios.Retorna 401 (no autorizado) si no hay una sesion abierta.
-