Usuarios y Autenticación
Peticiones GET
Obtener las últimas 10 interacciones de un usuario
Request
- Método: GET
- Ruta: URL BASE +
interactionslog/{username}/list/ - Content-Type: application/json
- Header:
Authorization: Token XXXXXXXXXXXXXXXXX
Response
Respuesta Éxitosa
- Status: 200
Respuesta
[
{
"id": 2,
"interactionType": "Tipo de Interacción",
"date": "14/2/2022",
"data": "Información sobre la interacción",
"user": "usuario1"
},
{
"id": 1,
"interactionType": "Tipo de Interacción",
"date": "13/2/2022",
"data": "Información sobre la interacción",
"user": "usuario1"
}
]
Respuesta Vacía
- Status: 200
Respuesta
[]
Obtener las últimas 10 interacciones de un usuario y sus insignias conseguidas
Request
- Método: GET
- Ruta: URL BASE +
profile/{username}/list/ - Content-Type: application/json
- Header:
Authorization: Token XXXXXXXXXXXXXXXXX
Response
Respuesta Éxitosa
- Status: 200
Respuesta
{
"interactions": [
{
"id": 2,
"interactionType": "Tipo de Interacción",
"date": "14/2/2022",
"data": "Información sobre la interacción",
"user": "usuario1"
},
{
"id": 1,
"interactionType": "Tipo de Interacción",
"date": "13/2/2022",
"data": "Información sobre la interacción",
"user": "usuario1"
}
],
"awards": [
{
"id": 1,
"badge": "Insignia 1",
"date": "1/2/2022",
"description": "Descripción de la primera insignia"
},
{
"id": 2,
"badge": "Insignia 2",
"date": "14/2/2022",
"description": "Descripción de la segunda insignia"
}
]
}
Respuesta Vacía
- Status: 200
Respuesta
{
"interactions": [],
"awards": []
}
Peticiones PUT
Cambiar del estado inactivo a estado activo de un usuario
warning
Este endpoint esta deprecado, ahora esta funcionalidad sucede implicitamente en Cambio de Contraseña.
Request
- Método: PUT
- Ruta: URL BASE +
users/{username}/first_login/ - Content-Type: application/json
- Header:
Authorization: Token XXXXXXXXXXXXXXXXX
Response
Respuesta Éxitosa
- Status: 200
Respuesta
{
"message": "Usuario [username] activado exitosamente"
}
Respuesta Fallida
- Status: 404
Respuesta
{
"error": "Usuario no encontrado"
}
Peticiones POST
Login de Usuario
Request
- Método: POST
- Ruta: URL BASE +
login/ - Content-Type: application/json
Payload
{
"username": "usuario1",
"password": "contraseña",
"token_firebase": "XXXXXXXXXX"
}
El atributo token_firebase es opcional, puede ir en el payload o no.
Response
Respuesta Éxitosa
- Status: 200
Respuesta
{
"data": {
"user": {
"username": "usuario1",
"user_type": "Tipo de Usuario",
"first_name": "Nombre",
"last_name": "Apellido",
"gender": "Género",
"department": 1,
"first_login": false,
"office": {
"id": 1,
"name": "Oficina 1",
"country": {
"country": "País 1",
"code": "Código 1"
}
},
"awards": [
{
"id": 1,
"badge_id": 1,
"badge": "Insignia 1",
"description": "30 interacciones",
"date": "14/2/2022"
},
{
"id": "",
"badge_id": 2,
"badge": "Insignia 2",
"description": "60 interacciones",
"date": ""
}
],
"token_firebase": "XXXXXXXXXXXXXXXX"
},
"feelingstype": [
{
"id": 1,
"feel": "Feliz"
},
{
"id": 2,
"feel": "Entusiasmado"
},
{
"id": 3,
"feel": "Relajado"
},
{
"id": 4,
"feel": "Alegre"
},
{
"id": 5,
"feel": "Contento"
},
{
"id": 6,
"feel": "Orgulloso"
},
{
"id": 7,
"feel": "Sorprendido"
},
{
"id": 8,
"feel": "Apenado"
},
{
"id": 9,
"feel": "Cansado"
},
{
"id": 10,
"feel": "Molesto"
},
{
"id": 11,
"feel": "Confundido"
},
{
"id": 12,
"feel": "Triste"
}
],
"phrase_day": {
"phrase": "Frase del día",
"date": "14/2/2022",
"office": 1
}
},
"key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Respuesta Vacía
- Status: 200
Respuesta
{
"data": {
"user": {
"username": "usuario1",
"user_type": "",
"first_name": "Nombre",
"last_name": "Apellido",
"gender": "",
"department": null,
"first_login": true,
"client": null,
"office": {
"id": 1,
"name": "Oficina 1",
"country": {
"country": "País 1",
"code": ""
}
},
"awards": [],
"token_firebase": null
},
"feelingstype": [
{
"id": 1,
"feel": "Feliz"
},
{
"id": 2,
"feel": "Entusiasmado"
},
{
"id": 3,
"feel": "Relajado"
},
{
"id": 4,
"feel": "Alegre"
},
{
"id": 5,
"feel": "Contento"
},
{
"id": 6,
"feel": "Orgulloso"
},
{
"id": 7,
"feel": "Sorprendido"
},
{
"id": 8,
"feel": "Apenado"
},
{
"id": 9,
"feel": "Cansado"
},
{
"id": 10,
"feel": "Molesto"
},
{
"id": 11,
"feel": "Confundido"
},
{
"id": 12,
"feel": "Triste"
}
],
"phrase_day": {
"phrase": "",
"date": null,
"office": null
}
},
"time_expire": "1296000",
"key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
En este caso se muestran todos los campos que pueden ser vacíos.
Respuesta Fallida
- Status: 400
Respuesta
{
"non_field_errors": [
"No puede iniciar sesión con las credenciales proporcionadas."
]
}
Cambio de Contraseña
Request
- Método: POST
- Ruta: URL BASE +
auth/password/change/ - Content-Type: application/json
- Header:
Authorization: Token XXXXXXXXXXXXXXXXX
Payload
{
"new_password1": "contraseña1",
"new_password2": "contraseña1"
}
Response
Respuesta Éxitosa
- Status: 200
Respuesta
{
"message": "Contraseña fue cambiada correctamente."
}
Respuesta Fallida
- Status: 400
Respuesta
{
"error": "Mensaje de error"
}
Cierre de Sesión
Request
- Método: POST
- Ruta: URL BASE +
auth/logout/ - Content-Type: application/json
- Header:
Authorization: Token XXXXXXXXXXXXXXXXX
Response
Respuesta Éxitosa
- Status: 200
Respuesta
{
"detail": "Sesión cerrada con éxito."
}
Respuesta Fallida
- Status: 401
Respuesta
{
"detail": "Token inválido."
}