La API /api/login permite obtener un token JWT (JSON Web
Token) para autenticarte y acceder a otros endpoints de la API. Para
ello, se debe enviar una solicitud POST con un cuerpo en formato JSON
que contenga una clave de API válida.
| Campo | Tipo | Descripción |
|---|---|---|
apiKey |
String | Clave API válida para autenticar la solicitud. |
El cuerpo JSON para la solicitud de login debería tener el siguiente formato:
{
"apiKey": "tu_api_key_aqui"
}
La respuesta de la API será un objeto JSON con un token JWT si la autenticación es exitosa:
{
"success": true,
"message": "Login exitoso",
"data": {
"token": "tu_jwt_token_aqui"
}
}
{
"success": false,
"message": "API Key no válida"
}
| Campo | Tipo | Descripción |
|---|---|---|
success |
Booleano | Indica si la autenticación fue exitosa. |
message |
String | Mensaje que describe el resultado de la solicitud. |
data |
Objeto | Contiene el token JWT si la autenticación es exitosa. |
token |
String | El token JWT generado para autenticar las solicitudes futuras. |
Si se proporciona una clave de API no válida, la respuesta será un error de autenticación:
{
"success": false,
"message": "API Key no válida"
}
Después de obtener el token JWT mediante el endpoint
/api/login, es necesario incluir el token en los headers de
las solicitudes a otros endpoints de la API. El token debe ser enviado
utilizando el esquema Bearer en el header
Authorization.
Ejemplo de cómo enviar el token JWT en los headers de la solicitud:
Authorization: Bearer "tu_token_jwt_aqui"
Recuerda que el token debe ser incluido en cada solicitud para acceder a los endpoints protegidos por autenticación.
La API /ping permite enviar un conjunto de hosts para
realizar un monitoreo básico mediante el protocolo ICMP (ping). Se debe
enviar una solicitud POST con un cuerpo en formato JSON que sigue la
siguiente estructura:
| Campo | Tipo | Descripción |
|---|---|---|
id |
Integer | Identificador único del host. |
name |
String | Nombre del host (identificador amigable). |
ip |
String | Dirección IP del host. |
packetsToSend |
Integer | Número de paquetes ICMP que se deben enviar al host. |
El cuerpo JSON para la solicitud debería tener el siguiente formato:
[
{
"name": "host1",
"ip": "192.168.1.234",
"packetsToSend": 4
},
{
"name": "host2",
"ip": "192.168.1.228",
"packetsToSend": 3
}
]
La respuesta de la API será un arreglo JSON con la siguiente estructura:
[
{
"id": 1,
"name": "host1",
"ip": "192.168.1.234",
"success": true,
"result": {
"min": 0.31,
"max": 0.527,
"avg": 0.368,
"packetsSent": 4,
"packetsReceived": 4,
"packetsLost": 0
}
}
]
[
{
"id": 1,
"name": "Equipo 1",
"ip": "111.111.111.111",
"success": false,
"result": {
"packetsSent": 10,
"packetsReceived": 0,
"packetsLost": 10
},
"error": "Command execution failed: <nil>"
}
]
| Campo | Tipo | Descripción |
|---|---|---|
id |
Integer | Identificador único del host. |
name |
String | Nombre del host. |
ip |
String | Dirección IP del host. |
success |
Booleano | Indica si el monitoreo fue exitoso. |
result |
Objeto | Resultados del ping. |
min |
Float | Tiempo mínimo de respuesta (ms). |
max |
Float | Tiempo máximo de respuesta (ms). |
avg |
Float | Tiempo promedio de respuesta (ms). |
packetsSent |
Integer | Número de paquetes enviados. |
packetsReceived |
Integer | Número de paquetes recibidos. |
packetsLost |
Integer | Número de paquetes perdidos. |
error |
String | Mensaje descriptivo sobre el error ocurrido durante el monitoreo (si aplica). |
La API /http permite enviar un conjunto de URLs para
verificar sus códigos de estado HTTP. Se debe enviar una solicitud POST
con un cuerpo en formato JSON que sigue la siguiente estructura:
| Campo | Tipo | Descripción |
|---|---|---|
id |
Integer | Identificador único del host. |
name |
String | Nombre amigable de la página. |
url |
String | URL de la página a verificar. |
El cuerpo JSON para la solicitud debería tener el siguiente formato:
[
{
"name": "Google",
"url": "https://www.google.com"
},
{
"name": "Página Inexistente",
"url": "https://www.nonexistentpage.com"
}
]
La respuesta de la API será un arreglo JSON con la siguiente estructura:
[
{
"name": "Google",
"url": "https://www.google.com",
"success": true,
"status": 200
}
]
[
{
"name": "Página Inexistente",
"url": "https://www.nonexistentpage.com",
"success": false,
"status": 0,
"error": "Failed to reach the page: Get \"https://www.nonexistentpage.com\": dial tcp: lookup www.nonexistentpage.com on 127.0.0.11:53: no such host"
}
]
| Campo | Tipo | Descripción |
|---|---|---|
id |
Integer | Identificador único del host. |
name |
String | Nombre de la página. |
url |
String | URL de la página. |
success |
Booleano | Indica si la comprobación fue exitosa. |
status |
Integer | Código de estado HTTP de la página. Un valor de 200 indica éxito, mientras que otros valores indican posibles problemas. |
error |
String | Mensaje descriptivo sobre el error ocurrido al intentar acceder a la página (si aplica). |