Endpoints appointments - E7-I/conectados GitHub Wiki

Documentación de API - Appointments

POST /api/appointments/createAppointment

Descripción

Crea una nueva cita entre un cliente y un profesional para un servicio específico.

Parámetros de entrada

Tipo: application/json

Nombre Tipo Descripción Opcional
clientId string ID del cliente No
professionalId string ID del profesional No
requestId string ID de la solicitud asociada No
serviceId string ID del servicio No
startDateTime string Fecha y hora de inicio de la cita (ISO 8601) No
endDateTime string Fecha y hora de término de la cita (ISO 8601) No
reason string Motivo de la cita (opcional, se usa en el historial)

Respuesta

Código: 201 Created
Tipo: application/json

{
  "_id": "663f409a0e1f8120e9b62152",
  "clientId": "abc123",
  "professionalId": "pro456",
  "requestId": "req789",
  "serviceId": "svc101",
  "dateTime": {
    "start": "2025-05-12T10:00:00.000Z",
    "end": "2025-05-12T11:00:00.000Z"
  },
  "status": "agendado",
  "history": [
    {
      "dateTimeChange": "2025-05-12T09:45:00.000Z",
      "reason": "Initial appointment creation"
    }
  ]
}

Errores comunes

  • 400 Bad Request: Campos requeridos faltantes.
  • 500 Internal Server Error: Error del servidor al crear la cita.

GET /api/appointments/getAppointmentByProfessionalId/:professionalId

Descripción

Obtiene todas las citas asociadas a un profesional específico.

Parámetros de entrada

Nombre Tipo Descripción Opcional
professionalId string ID del profesional (URL param) No

Respuesta

Código: 200 OK
Tipo: application/json

[
  {
    "_id": "663f409a0e1f8120e9b62152",
    "clientId": "abc123",
    "professionalId": "pro456",
    ...
  }
]

Errores comunes

  • 404 Not Found: No se encontraron citas para este profesional.
  • 500 Internal Server Error: Error del servidor al obtener las citas.

GET /api/appointments/getAppointmentByServicelId/:serviceId

Descripción

Obtiene todas las citas relacionadas con un servicio específico.

Parámetros de entrada

Nombre Tipo Descripción Opcional
serviceId string ID del servicio (URL param) No

Respuesta

Código: 200 OK
Tipo: application/json

[
  {
    "_id": "663f409a0e1f8120e9b62152",
    "serviceId": "svc101",
    ...
  }
]

Errores comunes

  • 404 Not Found: No se encontraron citas para este servicio.
  • 500 Internal Server Error: Error del servidor al obtener las citas.

PUT /api/appointments/changeStatus

Descripción

Cambia el estado de una cita existente.

Parámetros de entrada

Tipo: application/json

Nombre Tipo Descripción Opcional
appointmentId string ID de la cita a modificar No
status string Nuevo estado de la cita No

Respuesta

Código: 200 OK
Tipo: application/json

{
  "_id": "663f409a0e1f8120e9b62152",
  "status": "cancelado",
  ...
}

Errores comunes

  • 400 Bad Request: Faltan campos requeridos.
  • 404 Not Found: No se encontró la cita.
  • 500 Internal Server Error: Error del servidor al actualizar la cita.