Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ariellukezz/admision-web/llms.txt

Use this file to discover all available pages before exploring further.

The biometric endpoints accept multipart/form-data file uploads from biometric capture stations deployed at each university campus. Images are saved to campus-specific directory paths on the server under public/documentos/{proceso_id}/{etapa}/. A separate bulk-upload endpoint accepts a facial photo together with left and right fingerprint images in a single request.
Biometric identity verification requires clear, high-quality images. Blurry, low-contrast, or incorrectly cropped images will cause downstream matching failures. Fingerprint images must be captured at a minimum of 500 DPI and facial photos must show a clear frontal view with no obstructions. Rejected images are not automatically retried — the capture station must re-submit corrected files.

GET /api/get-postulante-biometrico/

Returns the biometric control status for an applicant identified by their DNI or admission code. The query filters against a fixed set of active process IDs. Authentication: None.

Path Parameters

codigo
string
required
The applicant’s DNI. Matched against the postulante.nro_doc column in the control_biometrico join.

Example Request

curl https://your-domain.com/api/get-postulante-biometrico/12345678

Response — HTTP 200 (found)

{
  "status": true,
  "data": {
    "estado": 1
  }
}

Response Fields

status
boolean
true when a matching biometric record was found.
data.estado
integer
Biometric record status flag from the control_biometrico table. Interpretation depends on the admission stage workflow.

Response — HTTP 203 (not found)

{
  "status": false,
  "mensaje": "Postulante no encontrado"
}
Query this endpoint at the biometric station before capturing images to confirm the applicant’s record exists in the system and to check their current control status before proceeding with the capture workflow.

POST /api/cargar-imagen

Uploads a single biometric image (fingerprint or photo) for the main campus (process directory 9). The file is stored at public/documentos/9/{etapa}/huellas/{dni} on the server. Authentication: None.

Request

Content-Type: multipart/form-data
imagen
file
required
The biometric image file to upload (fingerprint scan or photo).
dni
string
required
The applicant’s DNI. Used as the filename for the stored image.
etapa
string
required
The stage of the admission process. Use "inscripcion" to save under inscripciones/huellas/; any other value saves under control_biometrico/huellas/.

Example Request

curl -X POST https://your-domain.com/api/cargar-imagen \
  -F "imagen=@/path/to/fingerprint.jpg" \
  -F "dni=12345678" \
  -F "etapa=inscripcion"

Response — HTTP 200

{
  "image_path": "12345678"
}

Error Responses

{ "error": "No se proporcionó ningún archivo de imagen" }
{ "error": "Error al cargar la imagen: <message>" }

POST /api/cargar-imagen-cepre

Identical behaviour to /api/cargar-imagen but stores files under process directory 10 (CEPRE campus). Use this endpoint for CEPRE applicants. Authentication: None.

Request

Content-Type: multipart/form-data
imagen
file
required
The biometric image file to upload.
dni
string
required
The applicant’s DNI. Used as the filename for the stored image.
etapa
string
required
Use "inscripcion" to save under inscripciones/huellas/; any other value saves under control_biometrico/huellas/.

Example Request

curl -X POST https://your-domain.com/api/cargar-imagen-cepre \
  -F "imagen=@/path/to/fingerprint.jpg" \
  -F "dni=12345678" \
  -F "etapa=control_biometrico"
Files are saved to public/documentos/10/control_biometrico/huellas/12345678.

POST /api/cargar-imagen-juli

Stores biometric images under process directory 11 (Juli campus). Accepts the same fields as /api/cargar-imagen. Authentication: None.

Request

Content-Type: multipart/form-data
imagen
file
required
The biometric image file to upload.
dni
string
required
The applicant’s DNI. Used as the filename for the stored image.
etapa
string
required
Use "inscripcion" to save under inscripciones/huellas/; any other value saves under control_biometrico/huellas/.

Example Request

curl -X POST https://your-domain.com/api/cargar-imagen-juli \
  -F "imagen=@/path/to/fingerprint.jpg" \
  -F "dni=12345678" \
  -F "etapa=inscripcion"
Files are saved to public/documentos/11/inscripciones/huellas/12345678.

POST /api/cargar-imagen-azangaro

Stores biometric images under process directory 12 (Azangaro campus). Accepts the same fields as /api/cargar-imagen. Authentication: None.

Request

Content-Type: multipart/form-data
imagen
file
required
The biometric image file to upload.
dni
string
required
The applicant’s DNI. Used as the filename for the stored image.
etapa
string
required
Use "inscripcion" to save under inscripciones/huellas/; any other value saves under control_biometrico/huellas/.

Example Request

curl -X POST https://your-domain.com/api/cargar-imagen-azangaro \
  -F "imagen=@/path/to/fingerprint.jpg" \
  -F "dni=12345678" \
  -F "etapa=control_biometrico"
Files are saved to public/documentos/12/control_biometrico/huellas/12345678.

POST /api/helper-photos

Bulk upload endpoint that accepts a facial photo together with left-hand and right-hand fingerprint images in a single request. Files are organised into separate fotos/ and huellas/ subdirectories under public/documentos/{id_proceso}/{etapa}/. This endpoint also updates the applicant’s progress record (avance_postulante) — setting avance = 2 for the inscripcion stage and avance = 5 for any other stage. Authentication: None.

Request

Content-Type: multipart/form-data
Face
file
required
Facial photograph of the applicant (JPEG recommended). Saved as {dni}.jpg inside fotos/.
LFinger
file
required
Left-hand fingerprint image. Saved as {dni}x.jpg inside huellas/.
RFinger
file
required
Right-hand fingerprint image. Saved as {dni}.jpg inside huellas/.
dni
string
required
The applicant’s DNI. Used as the base filename for all three stored images.
id_proceso
integer
required
The internal admission process ID. Determines the top-level storage directory (public/documentos/{id_proceso}/).
etapa
string
required
Stage identifier (e.g., "inscripcion" or "control_biometrico"). The value is lower-cased before use and becomes a path segment in the storage directory.

Example Request

curl -X POST https://your-domain.com/api/helper-photos \
  -F "Face=@/path/to/photo.jpg" \
  -F "LFinger=@/path/to/left_finger.jpg" \
  -F "RFinger=@/path/to/right_finger.jpg" \
  -F "dni=12345678" \
  -F "id_proceso=12" \
  -F "etapa=inscripcion"

Response — HTTP 200

{
  "foto_path": "https://your-domain.com/documentos/12/inscripcion/fotos/12345678.jpg",
  "huella_izquierda_path": "https://your-domain.com/documentos/12/inscripcion/huellas/12345678x.jpg",
  "huella_derecha_path": "https://your-domain.com/documentos/12/inscripcion/huellas/12345678.jpg"
}

Response Fields

foto_path
string
Public URL of the stored facial photograph.
huella_izquierda_path
string
Public URL of the stored left fingerprint image.
huella_derecha_path
string
Public URL of the stored right fingerprint image.

Error — missing files

{
  "error": "No se proporcionaron todos los archivos requeridos (Face, LFinger, RFinger)"
}

Build docs developers (and LLMs) love