Pular para o conteúdo

Como chamar métodos da API no Astra?

API (Interface de Programação de Aplicações) é um conjunto de métodos para acessar dados e interagir com componentes de software.

Você pode usar o curl no console para chamar um método da API. Por exemplo, você pode obter um resumo do status do processo e do sistema:

Terminal window
curl \
--user login:password \
http://server:8000/api/system-status
  • login:password - é o usuário e a senha de administrador
  • server:8000 - endereço do servidor e porta principal
  • /api/system-status - caminho para o método da API

Os métodos POST são usados para modificar as configurações do Astra. Por exemplo, você pode ativar ou desativar um usuário pelo console:

Terminal window
curl \
-X POST \
--user login:password \
-d '{"cmd":"toggle-user","id":"login"}' \
http://server:8000/control/
  • login:password - é o usuário e a senha de administrador
  • -d '{...}' - conteúdo da requisição no formato JSON
  • server:8000 - endereço do servidor e porta principal

Outra forma de executar o curl é passando o arquivo de configuração para a entrada padrão:

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

Depois de executar, o curl pede a senha.

Você pode usar qualquer linguagem de programação para controlar o Astra. Por exemplo, um script PHP simples para ativar ou desativar um usuário:

$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);