Pular para o conteúdo

API de Integração do Senta: OpenAPI e chave de API

O Senta tem dois tipos de API.

  1. API de Frontend
  2. API de Integração

Ela foi projetada para a comunicação entre a parte do cliente (frontend) e o backend. Não possui documentação pública.

Ela possui um schema OpenAPI, disponível aqui.

Toda requisição à API de Integração deve ser assinada com uma API key - sem ela, o servidor responde com um erro de autorização. Você pode obter a chave na interface web do Senta.

Chave de API em Settings

  1. Clique em Settings

  2. Clique em Regenerate, se necessário. Se o campo API key já estiver preenchido, uma chave já foi criada antes - não é preciso gerar uma nova (isso revoga a chave antiga e quebra qualquer integração que ainda a use).

  3. Veja a chave de API no campo API key

A API é servida pelo servidor web do Senta: http://<server>:8018/api (8018 é a porta padrão; use seu próprio host e porta). Envie a chave de API em um dos cabeçalhos:

  • Authorization: Bearer <api_key>
  • api_key: <api_key>

O acesso à API requer uma licença válida. Na API, um stream é chamado de process.

Defina o endereço e a chave uma única vez:

Terminal window
export SENTA=http://localhost:8018/api
export KEY=<api_key>

Liste todos os streams, ou apenas um grupo (group é opcional):

Terminal window
curl -H "Authorization: Bearer $KEY" "$SENTA/v1/processes"
curl -H "Authorization: Bearer $KEY" "$SENTA/v1/processes?group=sports"

Obtenha a lista com os status atuais e, em seguida, inicie, pare ou reinicie o stream 42:

Terminal window
curl -H "Authorization: Bearer $KEY" "$SENTA/v1/processes/status"
curl -X POST -H "Authorization: Bearer $KEY" "$SENTA/v1/processes/42/start"
curl -X POST -H "Authorization: Bearer $KEY" "$SENTA/v1/processes/42/stop"
curl -X POST -H "Authorization: Bearer $KEY" "$SENTA/v1/processes/42/restart"

Leia os logs de um servidor adicional (1 é o ID do servidor em /v1/servers). A API pública não tem um endpoint para o log de um único stream: esse log está na interface web, veja Logs do stream:

Terminal window
curl -H "Authorization: Bearer $KEY" "$SENTA/v1/servers/1/logs"

A lista completa de endpoints, parâmetros e respostas está no schema OpenAPI.