Documentación API a implementar
Documentación online de la api a realizar en el trabajo integrador de la materia Projecto de Software de la UNLP.
API de CEDICA
En esta documentación describiremos los endpoints que creemos que son escenciales para la implementación correcta de la aplicación.
Estos endpionts serán implementados en la aplicación privada que les solicitamos y consultados/usados desde la aplicación pública.
Nota
Recordá que estos endpoints son los mínimos que nos imaginamos desde la cátedra como necesarios.
Si dentro del grupo o el doncente asignado consideran que es necesario agregar algún otro debido a la particularidades de la solución elegida deberán agregarlos.
Articles ¶
Filtrar Artículos ¶
Este endpoint permite buscar artículos filtrando por autor y/o rango de fechas de publicación, con soporte de paginación.
Lista Artículos con filtroGET/articles{?author,published_from,published_to,page,per_page}
Obtiene una lista de artículos filtrados por autor y/o rango de fechas, con soporte de paginación.
Example URI
- author
string
(optional) Example: María GarcíaNombre del autor del artículo.
- published_from
datetime
(optional) Example: 2023-10-10T01:00:00ZFiltra artículos publicados después de esta fecha.
- published_to
datetime
(optional) Example: 2023-10-10T12:00:00ZFiltra artículos publicados antes de esta fecha.
- page
number
(optional) Example: 1Número de página de resultados (para paginación).
- per_page
number
(optional) Example: 10Número de artículos por página de resultados (para paginación).
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"title": "Apertura de inscripciones",
"summary": "Se informa que se abren las inscripciones para el curso de...",
"content": "Se informa que se abren las inscripciones para el curso de...",
"published_at": "2023-10-10T11:00:00Z",
"updated_at": "2023-10-10T12:00:00Z",
"author": "María García",
"status": "draft"
}
],
"page": 1,
"per_page": 10,
"total": 25
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "Lista de artículos."
},
"page": {
"type": "number",
"description": "Número de página actual."
},
"per_page": {
"type": "number",
"description": "Cantidad de elementos por página."
},
"total": {
"type": "number",
"description": "Total de elementos en la lista."
}
}
}
400
Headers
Content-Type: application/json
Body
{
"error": "Parámetros inválidos o faltantes en la solicitud."
}
Messages ¶
Crear Nuevo Mensaje ¶
Este endpoint permite a una persona enviar un mensaje o solicitud de contacto a la institución.
Crea MensajePOST/messages
Envía un nuevo mensaje a la institución con la información proporcionada.
Example URI
Headers
Content-Type: application/json
Body
{
"title": "Consulta sobre inscripción",
"email": "maría@mailcom",
"description": "Quisiera saber los pasos para inscribirme en el curso de...",
"status": "created",
"created_at": "2023-10-10T12:00:00Z",
"closed_at": "2023-10-10T12:00:00Z"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Título del mensaje."
},
"email": {
"type": "string",
"description": "Email del remitente."
},
"description": {
"type": "string",
"description": "Descripción detallada del mensaje."
},
"status": {
"type": "string",
"description": "Estado inicial del mensaje, por defecto `created`."
},
"created_at": {
"type": "string",
"description": "Fecha de creación del mensaje (generada por sistema)."
},
"closed_at": {
"type": "string",
"description": "Fecha de finalización del mensaje (generada por sistema)."
}
},
"required": [
"title",
"email",
"description"
]
}
201
Headers
Content-Type: application/json
Body
{
"title": "Consulta sobre inscripción",
"email": "maría@mailcom",
"description": "Quisiera saber los pasos para inscribirme en el curso de...",
"status": "created",
"created_at": "2023-10-10T12:00:00Z",
"closed_at": "2023-10-10T12:00:00Z"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Título del mensaje creado."
},
"email": {
"type": "string",
"description": "Email del remitente."
},
"description": {
"type": "string",
"description": "Descripción del mensaje."
},
"status": {
"type": "string",
"description": "Estado del mensaje."
},
"created_at": {
"type": "string",
"description": "Fecha de creación del mensaje generada por el sistema."
},
"closed_at": {
"type": "string",
"description": "Fecha de finalización del mensaje (generada por sistema)."
}
},
"required": [
"title",
"email",
"description"
]
}
400
Headers
Content-Type: application/json
Body
{
"error": "Parámetros inválidos o faltantes en la solicitud."
}