Início rápido da HTTP API
O Alta oferece uma HTTP API com requisições e respostas em JSON. A interface web usa a mesma API. Este artigo mostra como fazer login e ler o status da aplicação e do host.
Requisitos
Seção intitulada “Requisitos”- As requisições vão para o API Server (porta padrão
8100), não para o OTT Server. Saiba mais em Servidor HTTP. - Você precisa de um usuário da interface web do Alta. Saiba mais em Usuários.
Autenticação
Seção intitulada “Autenticação”A API suporta dois métodos:
- Bearer token: obtenha um token com
/api/logine envie-o no cabeçalhoAuthorization: Bearer <token>. - HTTP Basic: envie o login e a senha do usuário em cada requisição.
Fazer login:
curl -sS -X POST 'http://alta.example.com:8100/api/login' \ -H 'Content-Type: application/json' \ -d '{"id": "admin", "password": "PASSWORD"}'A resposta é o token em texto simples.
Use o token nas próximas requisições:
curl -sS -H "Authorization: Bearer $TOKEN" 'http://alta.example.com:8100/api/about'Informações da aplicação
Seção intitulada “Informações da aplicação”GET /api/aboutResposta:
{ "service_name": "alta", "version": { "version": "261020", "commit": "349de372", "build": 1638139770 }, "runtime": { "instance_id": "8b1f6c3e-6a52-4c0e-9d1a-5f2f2a0c9e11", "uptime": 86400 }}- service_name: nome do serviço.
- version: versão, commit e build do Alta.
- runtime.instance_id: identificador único da instância do Alta.
- runtime.uptime: tempo de atividade da aplicação em segundos.
Status do host e do armazenamento
Seção intitulada “Status do host e do armazenamento”GET /api/statusResposta:
{ "host": { "cpu": { "usage_percent": 12.5, "load_avg": [0.4, 0.5, 0.6], "cores": 8 }, "mem": { "total_bytes": 16777216000, "used_bytes": 4294967296, "available_bytes": 12482248704 } }, "storages": [ { "name": "archive", "path": "/var/lib/alta/archive", "total_bytes": 1000000000000, "used_bytes": 250000000000, "free_bytes": 750000000000 } ]}- host.cpu: uso de CPU em porcentagem, carga média de 1, 5 e 15 minutos e número de núcleos.
- host.mem: memória total, usada e disponível em bytes.
- storages: nome, caminho e espaço total, usado e livre em bytes de cada Armazenamento.
Erros e parâmetros
Seção intitulada “Erros e parâmetros”401 Unauthorized: sem token, ou o token é inválido ou expirou.403 Forbidden: o papel do usuário não permite a requisição.- Requisições de um único item, como um canal ou um receptor, usam o parâmetro de consulta
id. Por exemplo,/api/ott/channel/storage/preview?id=discovery/hd. Leia um exemplo completo em Preview API.