Skip to main content

Overview

The Cameras API manages surveillance camera infrastructure including fixed cameras, domes, LPR cameras, and facial recognition cameras. Each camera is associated with a site and has properties for location, orientation, and technical specifications.

Endpoints

List Cameras

Retrieve a paginated list of surveillance cameras with statistics.
GET /camaras
texto
string
Search by IP address, camera name, site name, or camera type
page
integer
default:"1"
Page number (100 items per page)
Response
camaras
array
Array of camera objects
statistics
object
Camera statistics by type
Example Request
curl -X GET "https://your-domain.com/camaras?texto=192.168" \
  -H "Cookie: your-session-cookie"

Create Camera

Create a new surveillance camera record.
POST /camaras
Request Body
tipo_camara_id
integer
required
Camera type ID (cannot be “Selecciona un tipo de cámara”)
sitio_id
integer
required
Site ID (cannot be “Seleccionar”)
ip
string
Camera IP address
nombre
string
Camera name or description
orientacion
string
Camera orientation (NORTE, SUR, ESTE, OESTE, SURESTE, SUROESTE, NORESTE, NOROESTE)
angulo
decimal
Viewing angle in degrees
inteligencia
string
Intelligent features description
nro_serie
string
Serial number
fecha_instalacion
date
Installation date
etapa
string
Project stage/phase
observaciones
text
Observations
Example Request
curl -X POST "https://your-domain.com/camaras" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Cookie: your-session-cookie" \
  -d "tipo_camara_id=3" \
  -d "sitio_id=12" \
  -d "ip=192.168.1.100" \
  -d "nombre=Camara Entrada Principal" \
  -d "orientacion=NORTE" \
  -d "angulo=45" \
  -d "fecha_instalacion=2024-01-15"
Response Redirects to /camaras on success. Note: Latitude and longitude are automatically set from the site’s location.

Show Camera

GET /camaras/{id}
id
integer
required
Camera ID

Update Camera

Update an existing camera record.
PUT /camaras/{id}
id
integer
required
Camera ID to update
Request Body Same parameters as create endpoint. Example Request
curl -X PUT "https://your-domain.com/camaras/45" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Cookie: your-session-cookie" \
  -d "tipo_camara_id=3" \
  -d "sitio_id=12" \
  -d "ip=192.168.1.101" \
  -d "observaciones=IP address updated"
Response Redirects to /camaras on success. Error Response
error
string
“Error al actualizar cámara.” - Camera update failed

Delete Camera

Delete a camera record.
DELETE /camaras/{id}
id
integer
required
Camera ID to delete
Response Redirects to /camaras on success.

Additional Endpoints

Restart Camera

Send reboot command to a camera.
POST /camaras/{id}/reiniciar
id
integer
required
Camera ID to restart
Response Returns success message with URL to open in new tab:
http://{user}:{pass}@{ip}/cgi-bin/magicBox.cgi?action=reboot
Note: Uses credentials from environment variables CAMARA_USER and CAMARA_PASS. Example Request
curl -X POST "https://your-domain.com/camaras/45/reiniciar" \
  -H "Cookie: your-session-cookie"

Import Cameras from Excel

Bulk import cameras from Excel file.
POST /import-camaras
excel_file
file
required
Excel file containing camera data
Example Request
curl -X POST "https://your-domain.com/import-camaras" \
  -H "Cookie: your-session-cookie" \
  -F "[email protected]"
Response
{
  "success": "Los datos se han importado correctamente"
}

Export Cameras to Excel

Export all camera records to Excel.
GET /export-camaras
Response Downloads Excel file: ListadoCamaras_{timestamp}.xlsx Example Request
curl -X GET "https://your-domain.com/export-camaras" \
  -H "Cookie: your-session-cookie" \
  -o camaras.xlsx

Camera Types

Supported camera types:
  • Fija - Fixed camera
  • Fija - FR - Fixed camera with facial recognition
  • Fija - LPR - Fixed camera with license plate recognition
  • Fija - LPR NV - Fixed LPR camera (night vision)
  • Fija - LPR AV - Fixed LPR camera (analytics vision)
  • Domo - Dome camera (PTZ)
  • Domo Dual - Dual dome camera
  • BDE (Totem) - Totem/BDE camera

Orientation Values

Valid orientation values:
  • NORTE
  • SUR
  • ESTE
  • OESTE
  • SURESTE
  • SUROESTE
  • NORESTE
  • NOROESTE

Error Codes

400
error
Bad Request - Validation error or missing required fields
401
error
Unauthorized - Authentication required
403
error
Forbidden - Missing permissions (ver-camara, crear-camara, editar-camara, borrar-camara)
404
error
Not Found - Camera not found

Models

Camara Model

Represents a surveillance camera. Relationships
  • tipoCamara - BelongsTo TipoCamara (camera specifications)
  • sitio - BelongsTo Sitio (installation site)
  • destino - BelongsTo Destino (department)
  • camaraFisica - BelongsTo CamaraFisica (physical camera device)
  • auditoria - HasMany Auditoria (audit trail)
Source Code Reference Controller: app/Http/Controllers/CamaraController.php:1-358 Model: app/Models/Camara.php:1-52

Build docs developers (and LLMs) love