← Volver a la documentación

Referencia de la API - Brasilware

Esta documentación proporciona información detallada sobre todos los puntos finales disponibles de la API de Brasilware. La API permite interactuar de manera programática con el sistema para gestionar módulos, informes, configuraciones y otras funciones.

Información básica

Todos los puntos finales de la API utilizan la siguiente URL base:

https://yor-domain.com/api

Todos los pedidos y respuestas de la API están formateados en JSON, a menos que se indique lo contrario.

Puntos finales

Gestión de módulos

get/api/modules

Devuelve la lista de todos los módulos instalados.

Parámetros

Esta solicitud no requiere parámetros.

Respuesta
[
  {
    "ID": 1,
    "Nombre": "Analizador de JavaScript",
    "Descripción": "Analiza el código JavaScript en busca de comportamientos maliciosos",
    "Contenido": " ...",
    "CREADOEL": "2025-03-10t14:30:00.000Z"
  },
  {
    "ID": 2,
    "Nombre": "Visor de Tráfico",
    "Descripción": "Ver y analizar capturas de tráfico de red",
    "Contenido": " ...",
    "CREADOEL": "2025-03-12t09:15:00.000Z"
  }
]

get/api/modules/:id

Devuelve los detalles de un módulo específico.

Parámetros URL
Parámetro Tipo Descripción
id Número Identificador único del módulo
Respuesta
{
  "ID": 1,
  "Nombre": "Analizador de JavaScript",
  "Descripción": "Analiza el código JavaScript en busca de comportamientos maliciosos",
  "Contenido": " ...",
  "CREADOEL": "2025-03-10t14:30:00.000Z"
}

post /api/modules/upload

Cargar e instalar un nuevo módulo desde un archivo.

Parámetros del formulario
Parámetro Tipo Descripción
name string Nombre del módulo
description string Descripción del módulo
file file Archivo HTML del módulo
Respuesta
 {
  "ID": 3,
  "Name": "Phishing Scanner",
  "Description": "analiza URLs para detectar intentos de phishing",
  "Content": " ...",
  "CREATEDAT": "2025-03-17T10:45:00.000Z"
} 

post /API/modules/URL

Instalar un nuevo módulo desde una URL.

Parámetros del cuerpo (JSON)
Parámetro Tipo Descripción
name string Nombre del módulo
description string Descripción del módulo
URL string URL del módulo (debe apuntar a un archivo HTML)
Respuesta
 {
  "ID": 4,
  "Name": "Packet Analyzer",
  "Description": "Herramienta de análisis de paquetes de red",
  "Content": " ...",
  "CREATEDAT": "2025-03-17T11:20:00.000Z"
} 

delete /api/modules/:id

Eliminar un módulo instalado.

Parámetros de URL
Parámetro Tipo Descripción
id Número Identificador único del módulo
Respuesta

204 Sin contenido (sin cuerpo de respuesta)

Gestión de informes PDF

get /api/pdfs

Devuelve la lista de todos los informes PDF almacenados.

Parámetros

Esta solicitud no requiere parámetros.

Respuesta
[
  {
    "id": 1,
    "filename": "relatorio-malware-01.pdf",
    "filepath": "/uploads/pdfs/relatorio-malware-01.pdf",
    "filesize": 1258000,
    "createdAt": "2025-03-15T16:30:00.000Z",
    "isMerged": false,
    "sourceIds": null
  },
  {
    "id": 2,
    "filename": "merged-1234567890.pdf",
    "filepath": "/uploads/pdfs/merged-1234567890.pdf",
    "filesize": 3560000,
    "createdAt": "2025-03-16T10:15:00.000Z",
    "isMerged": true,
    "sourceIds": "1,3,4"
  }
]

POST /api/pdfs/upload

Cargar uno o más archivos PDF.

Parámetros del formulario
Parámetro Tipo Descripción
files file[] Archivos PDF a cargar (se permiten múltiples archivos)
Respuesta
[
  {
    "id": 5,
    "filename": "analise-botnet-2025.pdf",
    "filepath": "/uploads/pdfs/analise-botnet-2025.pdf",
    "filesize": 2450000,
    "createdAt": "2025-03-17T14:25:00.000Z",
    "isMerged": false,
    "sourceIds": null
  },
  {
    "id": 6,
    "filename": "ransomware-estudo-de-caso.pdf",
    "filepath": "/uploads/pdfs/ransomware-estudo-de-caso.pdf",
    "filesize": 1850000,
    "createdAt": "2025-03-17T14:25:00.000Z",
    "isMerged": false,
    "sourceIds": null
  }
]

POST /api/pdfs/merge

Fusionar múltiples archivos PDF en uno solo.

Parámetros del cuerpo (JSON)
Parámetro Tipo Descripción
pdfIds number[] Array de IDs de los PDFs a fusionar, en el orden deseado
Respuesta
{
  "id": 7,
  "filename": "merged-1735896042.pdf",
  "filepath": "/uploads/pdfs/merged-1735896042.pdf",
  "filesize": 4300000,
  "createdAt": "2025-03-17T15:00:00.000Z",
  "isMerged": true,
  "sourceIds": "5,6"
}

GET /api/pdfs/download/:id

Descargar un archivo PDF específico.

Parámetros de URL
Parámetro Tipo Descripción
id Número Identificador único del PDF
Respuesta

El archivo PDF como un flujo binario (Content-Type: Application/PDF)

delete /api/pdfs/:id

Eliminar un archivo PDF.

Parámetros de URL
Parámetro Tipo Descripción
id Número Identificador único del PDF
Respuesta

204 Sin contenido (sin cuerpo de respuesta)

Regeneración con IA

post /API/pdfs/:id/regenerate

Regenera un informe PDF usando el análisis de IA.

Parámetros de URL

regenera un informe PDF utilizando el análisis de IA.

Parámetros de URL
Parámetro Tipo Descripción
id Número Identificador único del PDF a ser regenerado
Parámetros del cuerpo (JSON)
Parámetro Tipo Descripción
Language string Código de idioma para el informe (por ejemplo, "pt-br", "en-u", "es-e-e")
Respuesta
  {
"ID": 8,
"FileName": "AI-REPORT-PT-BR-1735896500.pdf",
"Filepath": "/uploads/pdfs/ai-report-bt-br-1735896500.pdf",
"Filesize": 3750000,
"CREATEDAT": "2025-03-17t16:15:00.000Z",
"ISMERGED": FALSE,
"Sourceids": "7"
}  

Configuraciones

get /API/settings

obtiene la configuración actual del sistema.

Parámetros

Esta solicitud no requiere parámetros.

Respuesta
  {
"ID": 1,
"Theme": "Light",
"Language": "PT-BR",
"Apikey": "SK-*************************************",
"NotificatioSenabled": true
}  

put /api/settings

Actualiza la configuración del sistema.

Parámetros del cuerpo (JSON)
Parámetro Tipo Descripción
theme string tema de la interfaz ("Light" o "Dark")
Language string Código del idioma de la interfaz (por ejemplo, "PT-BR", "EN-US", "ES-ES")
Apikey string Clave API para integración con servicios de IA (opcional)
notificationsenable boolean Habilitar/deshabilitar notificaciones (opcional)
Respuesta
  {
"ID": 1,
"Theme": "Dark",
"Language": "en-us",
"Apikey": "SK-*************************************",
"NotificatioSenabled": True
}  

Códigos de estado

La API de Brazilware utiliza los siguientes códigos de estado HTTP:

Código Descripción
200 ok La solicitud se procesó correctamente y se devolvió el resultado.
201 Creado La función fue creada correctamente (se usa después de un post exitoso).
204 Sin contenido La solicitud se procesó correctamente, pero no hay contenido para devolver.
400 Solicitud incorrecta La solicitud tiene parámetros inválidos o está mal formada.
401 No autorizado Se necesita autenticación o ha fallado.
403 Prohibido El cliente no está autorizado para acceder a la función.
404 No encontrado No se encontró la función solicitada.
500 Error interno del servidor Ocurrió un error interno en el servidor.

Tratamiento de errores

Cuando ocurre un error, la API devuelve un objeto JSON con información sobre el error:

  {
"Error": {
  "Message": "Descripción del error",
  "Code": "Código_del_error"
}
}  

Limitaciones y buenas prácticas

  • Implemente el lado del cliente para reducir la cantidad de solicitudes.
  • Para cargas de archivos grandes, considere dividirlos en partes más pequeñas.
  • La API puede tener límites de velocidad para evitar la sobrecarga del servidor.