Perfil y sesiones
Perfil de la propia persona, foto, conexiones activas, términos y la encuesta de satisfacción de la aplicación.
Envía la respuesta de la encuesta de satisfacción
POST /feedback
Acceso: Cualquier persona autenticada. Límite: hasta 10 llamadas cada 60 s por origen. Estado de éxito: 201.
Cuerpo de la solicitud (SusRespostaInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
respostas | lista de integer | sí | 10–10 elementos | Los 10 ítems de la versión positiva, en orden, escala 1–5. |
observacoes | string | no | a 2000 caracteres |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
id | string (uuid) | sí | ||
pontuacao | number | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/feedback" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"respostas":[1]}'Resumen de la encuesta de satisfacción
GET /feedback/resumo
Acceso: Exige la capacidad PLATAFORMA. Estado de éxito: 200.
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
total | integer | sí | ||
media | number o nulo | sí | Promedio de la puntuación SUS; nulo sin respuestas. | |
porItem | lista de number | sí | Promedio de cada ítem (1–5), en orden; vacía sin respuestas. |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/feedback/resumo" -H "Authorization: Bearer $TOKEN"Actualiza el propio perfil
PATCH /me
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Cuerpo de la solicitud (PerfilAtualizar)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
nome | string | no | 1–200 caracteres | |
nationality | string o nulo | no | 2–2 caracteres; ^[A-Za-z]{2}$ | |
locale | "pt-BR" | "es" | "en-US" o nulo | no | ||
lattesUrl | "" | string | no | Dirección del currículo Lattes (https). | |
conselhoCodigo | string o nulo | no | a 60 caracteres | Número en el consejo profesional. Solo la propia persona lo ve. |
anoGraduacao | integer o nulo | no | 1930…2100 | |
residencia | boolean | no | ||
especializacao | boolean | no | ||
mestrado | boolean | no | ||
doutorado | boolean | no | ||
minibio | string o nulo | no | a 2000 caracteres |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
id | string (uuid) | sí | ||
email | string | sí | ||
nome | string | sí | ||
locale | "pt-BR" | "es" | "en-US" | sí | ||
nationality | string o nulo | sí | ||
vinculos | lista de VinculoDto | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X PATCH "$API/me" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'Descarga la foto del propio perfil
GET /me/foto
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Respuesta
Imagen (bytes).
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/me/foto" -H "Authorization: Bearer $TOKEN"Envía la foto del propio perfil
PUT /me/foto
Acceso: Cualquier persona autenticada. Límite: hasta 20 llamadas cada 60 s por origen. Estado de éxito: 200.
Cuerpo de la solicitud (archivo): image/jpeg, image/png ou image/webp
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
nome | string | sí | ||
email | string | sí | ||
nationality | string o nulo | sí | ||
locale | "pt-BR" | "es" | "en-US" o nulo | sí | ||
lattesUrl | string o nulo | sí | ||
conselhoCodigo | string o nulo | sí | ||
anoGraduacao | integer o nulo | sí | ||
residencia | boolean | sí | ||
especializacao | boolean | sí | ||
mestrado | boolean | sí | ||
doutorado | boolean | sí | ||
minibio | string o nulo | sí | ||
temFoto | boolean | sí | ¿Hay foto de perfil? La foto en sí viene de GET /me/foto. | |
fotoEm | string o nulo | sí | Cambia en cada cambio de foto (sirve para renovar la caché del avatar). |
En caso de error: modelo ErroApi.
Ejemplo
curl -X PUT "$API/me/foto" -H "Authorization: Bearer $TOKEN"Elimina la foto del propio perfil
DELETE /me/foto
Acceso: Cualquier persona autenticada. Estado de éxito: 204.
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X DELETE "$API/me/foto" -H "Authorization: Bearer $TOKEN"Lee el propio perfil completo
GET /me/perfil
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
nome | string | sí | ||
email | string | sí | ||
nationality | string o nulo | sí | ||
locale | "pt-BR" | "es" | "en-US" o nulo | sí | ||
lattesUrl | string o nulo | sí | ||
conselhoCodigo | string o nulo | sí | ||
anoGraduacao | integer o nulo | sí | ||
residencia | boolean | sí | ||
especializacao | boolean | sí | ||
mestrado | boolean | sí | ||
doutorado | boolean | sí | ||
minibio | string o nulo | sí | ||
temFoto | boolean | sí | ¿Hay foto de perfil? La foto en sí viene de GET /me/foto. | |
fotoEm | string o nulo | sí | Cambia en cada cambio de foto (sirve para renovar la caché del avatar). |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/me/perfil" -H "Authorization: Bearer $TOKEN"Lista las conexiones activas de la persona
GET /me/sessoes
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
x-refresh-token | string | no | Token de renovación de la sesión actual (para marcar cuál conexión es la actual). |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de SessaoAtivaDto | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/me/sessoes" -H "Authorization: Bearer $TOKEN"Cierra una conexión
DELETE /me/sessoes/{id}
Acceso: Cualquier persona autenticada. Estado de éxito: 204.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
id | string (uuid) | sí | Id del recurso. |
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X DELETE "$API/me/sessoes/{id}" -H "Authorization: Bearer $TOKEN"Cierra todas las demás conexiones
POST /me/sessoes/encerrar-outras
Acceso: Cualquier persona autenticada. Límite: hasta 10 llamadas cada 60 s por origen. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
x-refresh-token | string | no | Token de renovación de la sesión actual (para marcar cuál conexión es la actual). |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
encerradas | integer | sí | 0… |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/me/sessoes/encerrar-outras" -H "Authorization: Bearer $TOKEN"Términos y políticas vigentes de mis instituciones
GET /me/termos
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de object | sí | ||
items[].instituicao | object | sí | ||
items[].instituicao.id | string (uuid) | sí | ||
items[].instituicao.sigla | string | sí | ||
items[].instituicao.nome | string | sí | ||
items[].termo | TermoDto | sí | ||
items[].politica | TermoDto | sí | ||
items[].urlPublica | string | sí | ||
items[].privacidade | PrivacidadeDto | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/me/termos" -H "Authorization: Bearer $TOKEN"