Documentación de API
Endpoints disponibles para sistemas externos para realizar operaciones CRUD en noticias y usuarios
Información General
URL Base
https://tu-dominio.comFormato de Respuesta
Todas las respuestas están en formato JSON. Los errores devuelven un objeto con la propiedad "error".
Seguridad
Las contraseñas se almacenan hasheadas con bcrypt. Nunca se devuelven contraseñas en las respuestas de la API.
Estructura de Datos
Objeto Noticia
{
"id": 1,
"title": "Título de la noticia",
"content": "Contenido completo...",
"date": "2024-01-20",
"impact_analysis": "Análisis del impacto y relevancia de la noticia en el contexto de las etiquetas asociadas...",
"sources": ["https://fuente1.com", "https://fuente2.com"],
"created_at": "2024-01-20T10:30:00Z",
"tags": [
{ "id": 1, "name": "Tecnología" },
{ "id": 2, "name": "Negocios" }
],
"queries": [
{
"id": 1,
"user_id": 1,
"query": "¿Cuál es el impacto principal?",
"response": "El impacto principal es...",
"created_at": "2024-01-21T12:00:00Z"
}
]
}📰Noticias
Endpoints para gestionar noticias
GET
/api/newsObtener todas las noticias
Respuesta:
Array de objetos noticia con etiquetas y consultas (queries) asociadasPOST
/api/newsCrear una nueva noticia
Cuerpo de la Petición:
{ title, content, date, impact_analysis?, sources[]?, tagIds[]? }Respuesta:
Objeto noticia creadoPUT
/api/news/{id}Actualizar una noticia existente
Cuerpo de la Petición:
{ title?, content?, date?, impact_analysis?, sources[]?, tagIds[]? }Respuesta:
Objeto noticia actualizadoDELETE
/api/news/{id}Eliminar una noticia
Respuesta:
{ success: true }POST
/api/news/{id}/queryHacer una pregunta sobre una noticia específica usando IA
Cuerpo de la Petición:
{ userId, query }Respuesta:
{ response: 'Respuesta de la IA...' }👥Usuarios
Endpoints para gestionar usuarios
GET
/api/usersObtener todos los usuarios
Respuesta:
Array de objetos usuario con etiquetas asociadas (sin contraseñas)GET
/api/users/{id}Obtener un usuario específico
Respuesta:
Objeto usuario con etiquetas asociadas (sin contraseña)POST
/api/usersCrear un nuevo usuario
Cuerpo de la Petición:
{ name, email, phone?, password, tagIds[]? }Respuesta:
Objeto usuario creado (sin contraseña)PUT
/api/users/{id}Actualizar un usuario existente
Cuerpo de la Petición:
{ name?, email?, phone?, password?, tagIds[]? }Respuesta:
Objeto usuario actualizado (sin contraseña)DELETE
/api/users/{id}Eliminar un usuario
Respuesta:
{ success: true }🔐Autenticación
Endpoints para gestionar autenticación
POST
/api/auth/loginAutenticar usuario con email y contraseña
Cuerpo de la Petición:
{ email, password }Respuesta:
{ success: true, user: {...}, message: 'Login successful' }🏷️Etiquetas
Endpoints para gestionar etiquetas
GET
/api/tagsObtener todas las etiquetas
Respuesta:
Array de objetos etiquetaPOST
/api/tagsCrear una nueva etiqueta
Cuerpo de la Petición:
{ name }Respuesta:
Objeto etiqueta creadoDELETE
/api/tags/{id}Eliminar una etiqueta
Respuesta:
{ success: true }