Skip to content

Latest commit

 

History

History
125 lines (96 loc) · 3.45 KB

File metadata and controls

125 lines (96 loc) · 3.45 KB

📘 Documentación de la API - SecureOT Inventory

Esta guía detalla cómo interactuar con el backend Rust (port 8000) utilizando curl.

Requisitos:

  • curl instalado.
  • jq instalado (opcional, para ver el JSON con colores).
  • El backend corriendo en localhost:8000.

🔐 1. Autenticación (Paso Obligatorio)

La API utiliza cookies HttpOnly por seguridad. Debes iniciar sesión para generar el archivo cookies.txt que usarás en el resto de peticiones.

Iniciar Sesión

curl -v -c cookies.txt -X POST http://localhost:8000/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "admin@secureot.space",
    "password": "password123"
  }'

Verificar Estado (Health Check Usuario)

curl -b cookies.txt http://localhost:8000/users/me | jq

🏭 2. Gestión de Activos (Assets)

Listar Activos (Básico)

curl -b cookies.txt "http://localhost:8000/assets?page=1&size=20" | jq

🌟 Listar Activos "Full" (Con Fabricante Detectado)

Este endpoint cruza la MAC Address con la base de datos de fabricantes para enriquecer la información.

curl -b cookies.txt "http://localhost:8000/assets/full?page=1&size=500" | jq

Buscar Activo Global

Busca coincidencias por IP, Nombre o Tag.

curl -b cookies.txt "http://localhost:8000/assets/full?search=192.168.1.10" | jq

Crear Activo Manualmente

curl -b cookies.txt -X POST http://localhost:8000/assets \
  -H "Content-Type: application/json" \
  -d '{
    "name": "PLC Critico Manual",
    "tag": "PLC-MAN-01",
    "business_criticality": "high",
    "model": "S7-1200",
    "description": "Creado via cURL"
  }' | jq

Eliminar Activo

curl -b cookies.txt -X DELETE "http://localhost:8000/assets/UUID_DEL_ACTIVO" | jq

📂 3. Archivos e Importación

Subir PCAP (Análisis de Tráfico)

Analiza un archivo .pcap, extrae IPs/MACs y crea activos automáticamente.

curl -v -b cookies.txt -X POST http://localhost:8000/pcap/upload \
  -F "file=@./tu_captura.pcap" | jq

Importar Base de Datos de MACs (MacLookup)

Carga el JSON de maclookup para que el sistema aprenda a detectar fabricantes.

curl -v -b cookies.txt -X POST http://localhost:8000/import/mac-vendors \
  -F "file=@./mac-vendors-export.json" | jq

📄 Plantilla de Importación Excel

Para la carga masiva (/import/xlsx/preview), el archivo debe seguir esta estructura:

Name Tag IP Address MAC Address Serial Number Model Type Manufacturer Site Area Criticality
Main PLC PLC-01 192.168.1.10 00:1C:06:A1:B2:C3 SN-9988 S7-1500 PLC Siemens Planta 1 Ensamble High
Repuesto SPARE-1 SN-5544 PowerFlex Drive Rockwell Almacén Estante 4 Low

📊 4. Visualización y Datos

Topología de Red (Grafo)

Devuelve Nodos y Aristas (relaciones) para dibujar mapas de red.

curl -b cookies.txt "http://localhost:8000/asset-connections/network-topology" | jq

Estadísticas Dashboard

Conteos de riesgo y estado.

curl -b cookies.txt "http://localhost:8000/dashboard/stats" | jq

🗺️ 5. Catálogos (Dropdowns)

# Sitios
curl -b cookies.txt http://localhost:8000/sites | jq

# Tipos de Activo
curl -b cookies.txt http://localhost:8000/asset-types | jq

# Fabricantes Oficiales
curl -b cookies.txt http://localhost:8000/manufacturers | jq