Volver a la página principal

Documentación de la API

Guía para integrar tus sistemas con docadmin.

Autenticación

Todas las solicitudes a la API deben estar autenticadas.

La API utiliza claves (API Keys) para autenticar las solicitudes. Puedes generar y gestionar tu API Key desde la sección Mi Cuenta en el panel de administración.

Debes incluir tu API Key en la cabecera `Authorization` de cada solicitud, con el prefijo `Bearer`.

Authorization: Bearer <TU_API_KEY>

URL Base

Todos los endpoints de la API están bajo la siguiente URL base:

https://api.docadmin.com.ar

Endpoints de Consultorios

GET/consultorios

Obtiene una lista de todos los consultorios del usuario.

Ejemplo de Solicitud

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/consultorios"

Ejemplo de Respuesta

[
  {
    "id": "consultorio_1",
    "nombre": "Consultorio Central",
    "direccion": "Av. Siempreviva 742",
    "tel": "123-4567",
    "email": "central@docadmin.com.ar",
    "estado": "ACTIVO"
  }
]

Endpoints de Obras Sociales

GET/obrasSociales

Obtiene una lista de todas las obras sociales disponibles en el sistema.

Ejemplo de Solicitud

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/obrasSociales"

Ejemplo de Respuesta

[
  {
    "id": "osde",
    "nombre": "OSDE"
  },
  {
    "id": "swiss-medical",
    "nombre": "Swiss Medical"
  }
]

Endpoints de Turnos

GET/turnos

Consulta los turnos disponibles a partir de una fecha.

Parámetros de Consulta (Query)

  • `fechaDesde` (requerido): Fecha de inicio en formato `YYYY-MM-DD`.

Ejemplo de Solicitud

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/turnos?fechaDesde=2024-08-15"

Ejemplo de Respuesta

[
  {
    "id": "202408150900",
    "consultorioId": "consultorio_1",
    "consultorioNombre": "Consultorio Central",
    "fecha": "2024-08-15T12:00:00Z",
    "estado": "disponible",
    "tipo": "Turno",
    "duracion": 20
  }
]

POST/turnos/reservar

Reserva un turno disponible para un paciente existente.

Cuerpo de la Solicitud (JSON)

  • `turnoId` (requerido): ID del turno a reservar.
  • `consultorioId` (requerido): ID del consultorio donde está el turno.
  • `pacienteId` (requerido): ID del paciente a asignar al turno.

Ejemplo de Solicitud

curl -X POST -H "Authorization: Bearer <TU_API_KEY>" -H "Content-Type: application/json" \
-d '{
  "turnoId": "202408150900",
  "consultorioId": "consultorio_1",
  "pacienteId": "paciente_id_existente"
}' "https://api.docadmin.com.ar/turnos/reservar"

Ejemplo de Respuesta Exitosa

{
  "success": true,
  "message": "Turno reservado exitosamente.",
  "turnoId": "202408150900"
}

POST/turnos/cancelar

Libera un turno previamente reservado, dejándolo disponible nuevamente.

Cuerpo de la Solicitud (JSON)

  • `turnoId` (requerido): ID del turno a cancelar/liberar.
  • `consultorioId` (requerido): ID del consultorio donde está el turno.

Ejemplo de Solicitud

curl -X POST -H "Authorization: Bearer <TU_API_KEY>" -H "Content-Type: application/json" \
-d '{
    "turnoId": "202408150900",
    "consultorioId": "consultorio_1"
}' "https://api.docadmin.com.ar/turnos/cancelar"

Ejemplo de Respuesta Exitosa

{
  "success": true,
  "message": "Turno liberado exitosamente."
}

GET/misTurnos

Consulta el historial de turnos de un paciente específico.

Parámetros de Consulta (Query)

  • `idPaciente` (requerido): ID del paciente.
  • `tambienAnteriores` (opcional, booleano): Si es `true`, incluye turnos pasados. Por defecto es `false`.

Ejemplo (Turnos Futuros)

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/misTurnos?idPaciente=id_del_paciente"

Ejemplo (Historial Completo)

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/misTurnos?idPaciente=id_del_paciente&tambienAnteriores=true"

Ejemplo de Respuesta

[
  {
    "id": "202408150900",
    "consultorioId": "consultorio_1",
    "consultorioNombre": "Consultorio Central",
    "fecha": "2024-08-15T12:00:00.000Z",
    "estado": "confirmado",
    "tipo": "Turno",
    "duracion": 20,
    "pacienteId": "id_del_paciente"
  }
]

Endpoints de Pacientes

GET/pacientes

Busca un paciente por su DNI o número de teléfono. La búsqueda por teléfono tiene prioridad.

Parámetros de Consulta (Query)

Debes proporcionar `dni` o `telefono`.

  • `dni` (opcional): Número de DNI del paciente.
  • `telefono` (opcional): Número de teléfono del paciente.

Ejemplo de Solicitud (por DNI)

curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/pacientes?dni=12345678"

Ejemplo de Respuesta

[
  {
    "id": "paciente_id_existente",
    "dni": "12345678",
    "nombres": "Juan Perez",
    "email": "juan.perez@example.com",
    "telefono": "1122334455"
  }
]

POST/pacientes/registrar

Registra un nuevo paciente en el sistema.

Cuerpo de la Solicitud (JSON)

  • `dni` (string): DNI del paciente.
  • `nombres` (string, requerido): Nombre completo.
  • `email` (string): Email de contacto.
  • `telefono` (string): Teléfono de contacto.
  • `obraSocialId` (string): ID de la obra social (obtenido de `GET /obrasSociales`).
  • `nroAfiliado` (string): Número de afiliado.

Ejemplo de Solicitud

curl -X POST -H "Authorization: Bearer <TU_API_KEY>" -H "Content-Type: application/json" \
-d '{
  "dni": "12345678",
  "nombres": "Juan Perez",
  "email": "juan.perez@example.com",
  "telefono": "1122334455",
  "obraSocialId": "osde",
  "nroAfiliado": "123-456"
}' "https://api.docadmin.com.ar/pacientes/registrar"

Ejemplo de Respuesta Exitosa

{
  "success": true,
  "message": "Paciente registrado exitosamente.",
  "pacienteId": "nuevo_paciente_id"
}

POST/pacientes/update

Actualiza los datos de un paciente existente.

Cuerpo de la Solicitud (JSON)

  • `pacienteId` (requerido): ID del paciente a actualizar.
  • Cualquier otro campo del paciente (ej: `nombres`, `email`, `telefono`, etc.).

Solo se actualizarán los campos que se incluyan en la solicitud.

Ejemplo de Solicitud

curl -X POST -H "Authorization: Bearer <TU_API_KEY>" -H "Content-Type: application/json" \
-d '{
  "pacienteId": "id_del_paciente_a_actualizar",
  "email": "nuevo.email@example.com",
  "telefono": "1155667788"
}' "https://api.docadmin.com.ar/pacientes/update"

Ejemplo de Respuesta Exitosa

{
  "success": true,
  "message": "Paciente actualizado exitosamente.",
  "pacienteId": "id_del_paciente_a_actualizar"
}