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
id | Número | Identificador único del PDF a ser regenerado |
Parámetros del cuerpo (JSON)
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)
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:
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.