Endpoints servicios - E7-I/conectados GitHub Wiki
CRUD Servicios
POST /createServices
Descripción
Crea un nuevo servicio registrado por un profesional, incluyendo título, descripción, categorías, precio, imágenes y video opcional.
Parámetros de entrada
Nombre | Tipo | Descripción | Opcional |
---|---|---|---|
professionalid |
number | RUT del profesional que ofrece el servicio | No |
title |
string | Título del servicio | No |
description |
string | Descripción detallada del servicio | No |
images |
string[] | URLs de imágenes que representan el servicio | Sí |
video |
string | URL de un video explicativo o promocional del servicio | Sí |
categories |
string[] | Categorías a las que pertenece el servicio | No |
price.min |
number | Precio mínimo del servicio | No |
price.max |
number | Precio máximo del servicio | No |
Respuesta
Código: 201 Created
Tipo: application/json
{
"professionalid": 1111111111,
"title": "electricista",
"description": "Corte electrico con herramientas sanitizadas.",
"images": [
"https://example.com/img1.jpg"
],
"video": "https://example.com/vid1.mp4",
"categories": [
"Electricidad"
],
"price": {
"min": 125,
"max": 300
},
"averageRating": 0,
"timesDone": 0,
"_id": "6816fcb4da625a0193f8cd9e",
"createdAt": "2025-05-04T05:35:48.546Z",
"updatedAt": "2025-05-04T05:35:48.546Z",
"__v": 0
}
GET /getService/:id
Descripción
Obtiene los detalles de un servicio específico a partir de su ID.
Parámetros de entrada
Nombre | Tipo | Descripción | Opcional |
---|---|---|---|
id |
string | ID del servicio a consultar (MongoDB) | No |
Respuesta
Código: 200 OK
Tipo: application/json
{
"price": {
"min": 10,
"max": 30
},
"_id": "6816bf71d8eb5bf058ffa4c5",
"professionalid": 123,
"title": "Corte de cabello a domicilio",
"description": "Corte profesional con herramientas sanitizadas.",
"images": [
"https://example.com/img1.jpg"
],
"video": "https://example.com/vid1.mp4",
"categories": [
"Belleza"
],
"averageRating": 0,
"timesDone": 0,
"createdAt": "2025-05-04T01:14:25.235Z",
"updatedAt": "2025-05-04T01:14:25.235Z",
"__v": 0
}
GET /getServicesProfessionalId/:professionalid
Idem al caso anterior, pero para acceder al servicio con el professionalId (RUT), en caso de tener mas de un servicio ligado al profesional, se listan todos los servicios.
GET /getAllServices
Descripción
Obtiene una lista de todos los servicios registrados en el sistema.
Parámetros de entrada
Nombre | Tipo | Descripción | Opcional |
---|---|---|---|
— | — | No requiere parámetros | — |
Respuesta
Código: 200 OK
Tipo: application/json
[
{
"price": {
"min": 10,
"max": 30
},
"_id": "6816bf71d8eb5bf058ffa4c5",
"professionalid": 123,
"title": "Corte de cabello a domicilio",
"description": "Corte profesional con herramientas sanitizadas.",
"images": [
"https://example.com/img1.jpg"
],
"video": "https://example.com/vid1.mp4",
"categories": [
"Belleza"
],
"averageRating": 0,
"timesDone": 0,
"createdAt": "2025-05-04T01:14:25.235Z",
"updatedAt": "2025-05-04T01:14:25.235Z",
"__v": 0
},
{
"price": {
"min": 10,
"max": 300000000000000000
},
"_id": "6816fcb4da625a0193f8cd9e",
"professionalid": 123,
"title": "Corte de cabello a domicilio",
"description": "Corte profesional con herramientas sanitizadas.",
"images": [
"https://example.com/img1.jpg"
],
"video": "https://example.com/vid1.mp4",
"categories": [
"Belleza"
],
"averageRating": 3.3333333333333335,
"timesDone": 3,
"createdAt": "2025-05-04T05:35:48.546Z",
"updatedAt": "2025-05-04T05:35:48.546Z",
"__v": 0
}
]
PUT /updateService/:id
Descripción
Actualiza un servicio existente en el sistema a partir de su ID.
Parámetros de entrada
Nombre | Tipo | Descripción | Opcional |
---|---|---|---|
id |
string | ID del servicio a actualizar (MongoDB) | No |
Body (JSON):
{
"title": "Nuevo título",
"description": "Descripción actualizada",
"images": ["https://ejemplo.com/nuevaimg.jpg"],
"video": "https://ejemplo.com/nuevovideo.mp4",
"categories": ["Jardinería"],
"price": {
"min": 25,
"max": 40
}
}
PUT /addRating/:id
Descripción
Agrega una nueva calificación a un servicio y actualiza su promedio (averageRating
) y el contador de veces realizado (timesDone
).
Parámetros de entrada
Nombre | Tipo | Descripción | Opcional |
---|---|---|---|
id |
string | ID del servicio a calificar (MongoDB) | No |
Body (JSON):
{
"rating": 4.5
}