Guía para integrar tus sistemas con docadmin.
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>Todos los endpoints de la API están bajo la siguiente URL base:
https://api.docadmin.com.arObtiene una lista de todos los consultorios del usuario.
curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/consultorios?soloAutogestion=true"[
  {
    "id": "consultorio_1",
    "nombre": "Consultorio Central",
    "direccion": "Av. Siempreviva 742",
    "tel": "123-4567",
    "email": "central@docadmin.com.ar",
    "estado": "ACTIVO",
    "autogestionTurnos": true,
    "autogestionTagIds": ["tag_consultas", "tag_estudios"]
  }
]Consulta los turnos disponibles, con filtros opcionales.
curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/turnos?fechaDesde=2024-08-15&autogestion=true"[
  {
    "id": "202408150900_consultorio_1_tag_primera_vez",
    "consultorioId": "consultorio_1",
    "consultorioNombre": "Consultorio Central",
    "fecha": "2024-08-15T12:00:00Z",
    "estado": "disponible",
    "tipo": "Turno",
    "duracion": 20,
    "tags": ["tag_primera_vez"],
    "tagDetails": [
      {
        "id": "tag_primera_vez",
        "nombre": "Primera Vez",
        "color": "#3b82f6"
      }
    ]
  }
]Reserva un turno disponible para un paciente existente.
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"{
  "success": true,
  "message": "Turno reservado exitosamente.",
  "turnoId": "202408150900"
}Libera un turno previamente reservado, dejándolo disponible nuevamente.
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"{
  "success": true,
  "message": "Turno liberado exitosamente."
}Consulta el historial de turnos de un paciente específico.
curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/misTurnos?idPaciente=id_del_paciente"curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/misTurnos?idPaciente=id_del_paciente&tambienAnteriores=true"[
  {
    "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"
  }
]Busca un paciente por su DNI o número de teléfono. La búsqueda por teléfono tiene prioridad.
Debes proporcionar `dni` o `telefono`.
curl -H "Authorization: Bearer <TU_API_KEY>" "https://api.docadmin.com.ar/pacientes?dni=12345678"[
  {
    "id": "paciente_id_existente",
    "dni": "12345678",
    "nombres": "Juan Perez",
    "email": "juan.perez@example.com",
    "telefono": "1122334455"
  }
]Registra un nuevo paciente en el sistema.
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"{
  "success": true,
  "message": "Paciente registrado exitosamente.",
  "pacienteId": "nuevo_paciente_id"
}Actualiza los datos de un paciente existente.
Solo se actualizarán los campos que se incluyan en la 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"{
  "success": true,
  "message": "Paciente actualizado exitosamente.",
  "pacienteId": "id_del_paciente_a_actualizar"
}Actualiza el estado de conexión de una cuenta de Wasapi. Este endpoint es para uso interno de la integración con Wasapi.
curl -X POST -H "Authorization: Bearer <TU_API_KEY>" -H "Content-Type: application/json" \
-d '{
  "wasapiEmail": "usuario@wasapi.com",
  "status": "open"
}' "https://api.docadmin.com.ar/wasapi/set_status"{
  "success": true,
  "message": "Estado actualizado a true"
}