Ir al contenido

¿Cómo llamar métodos de la API en Astra?

API (Interfaz de Programación de Aplicaciones) es un método para acceder a datos e interactuar con componentes de software.

Puedes usar curl en la consola para llamar un método de la API. Por ejemplo, puedes obtener un resumen del estado del proceso y del sistema:

Ventana de terminal
curl \
--user login:password \
http://server:8000/api/system-status
  • login:password - es el usuario y contraseña de administrador
  • server:8000 - dirección del servidor y puerto principal
  • /api/system-status - ruta al método de la API

Los métodos POST se usan para modificar la configuración de Astra. Por ejemplo, puedes activar o desactivar un usuario desde la consola:

Ventana de terminal
curl \
-X POST \
--user login:password \
-d '{"cmd":"toggle-user","id":"login"}' \
http://server:8000/control/
  • login:password - es el usuario y contraseña de administrador
  • -d '{...}' - contenido de la solicitud en formato JSON
  • server:8000 - dirección del servidor y puerto principal

Otro método para ejecutar curl es pasando el archivo de configuración a la entrada estándar:

Ventana de terminal
curl -X POST --user login -d @- http://server:8000/control/ <<END
{
"cmd":"toogle-user",
"id":"login"
}
END

Después de ejecutar, curl solicitará la contraseña.

Puedes usar cualquier lenguaje de programación para controlar Astra. Por ejemplo, un script PHP sencillo para activar o desactivar un usuario:

$req = json_encode(array(
'cmd' => 'toggle-user',
'id' => 'login',
));
$ch = curl_init("http://server:8000/control/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "login:password");
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
curl_close($ch);