Documentação técnica
Consulte dados operacionais da sua Virtual Airline e conecte sites, dashboards, bots e serviços externos ao AviOps.
Visão geral
A API AviOps é uma interface REST somente para leitura. Todas as rotas atuais usam GET, recebem e devolvem JSON e estão sob o prefixo /v1.
https://integrations.aviops.io
Autenticação
Envie a chave em todas as requisições no header x-api-key. A chave identifica a Virtual Airline, seleciona seus dados isolados e contabiliza o consumo mensal.
x-api-key: SUA_CHAVE_DE_API
Accept: application/jsonNunca exponha a chave em JavaScript executado no navegador, repositórios ou aplicativos distribuídos. Faça a chamada no backend, armazene a chave em variável de ambiente e aplique rotação em caso de vazamento.
A cota é mensal e vinculada à chave/VA. Ao atingir o limite, a API responde com 429. Cada chamada autenticada com sucesso é contabilizada.
Primeira requisição
Teste primeiro a listagem de pilotos. Uma resposta 200 confirma URL, conectividade e credencial.
curl "https://integrations.aviops.io/v1/pilots" \
-H "x-api-key: SUA_CHAVE_DE_API" \
-H "Accept: application/json"$ch = curl_init('https://integrations.aviops.io/v1/pilots');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-api-key: ' . getenv('AVIOPS_API_KEY'),
'Accept: application/json',
],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status !== 200) {
throw new RuntimeException("AviOps respondeu HTTP {$status}");
}
$pilots = json_decode($body, true, flags: JSON_THROW_ON_ERROR);const response = await fetch('https://integrations.aviops.io/v1/pilots', {
headers: {
'x-api-key': process.env.AVIOPS_API_KEY,
'Accept': 'application/json'
}
});
if (!response.ok) throw new Error(`AviOps HTTP ${response.status}`);
const pilots = await response.json();Respostas e erros
Listagens e consultas por ID retornam um array JSON. Portanto, uma busca por ID bem-sucedida contém zero ou um item; ID inexistente resulta em [], não em 404. Estatísticas é a exceção e retorna um objeto JSON.
| Status | Corpo | Ação recomendada |
|---|---|---|
200 | Array ou objeto JSON | Processar o conteúdo. |
401 | {"error":"API Key is required"} | Enviar o header obrigatório. |
401 | {"error":"Invalid API Key"} | Revisar ou rotacionar a chave. |
429 | {"error":"API Key limit exceeded"} | Aguardar a renovação mensal ou ampliar a cota. |
A versão atual não interpreta query strings de filtro, ordenação ou paginação. Para conjuntos grandes, armazene os dados no seu backend e filtre localmente, respeitando sua política de atualização.
Endpoints da API v1
Use /{id} apenas com o identificador numérico interno retornado pela própria API.
Pilotos
Retorna pilotos ativos e o rank associado.
/v1/pilots/v1/pilots/{id}Campos da resposta
id:inticao:stringname:stringemail:stringrole:stringva_staff:boolstatus:stringrank_id:intrank_name:stringhub:string|nullactual_airport:stringivao_id:string|nullvatsim_id:string|nullsimbrief_id:string|nulllast_flight:string|nullflight_time:inttotal_pireps:intapproved_pireps:intrejected_pireps:inttotal_distance:intfpm_average:int|nulltotal_points:inttotal_coins:intcreated_at:stringupdated_at:stringCandidatos
Retorna inscrições de candidatos da VA, inclusive dados de contato.
/v1/candidates/v1/candidates/{id}Campos da resposta
id:intname:stringemail:stringcountry:stringsimulator:stringestimated_hours:stringprefered_aircraft:string|nullnetwork:stringivao_id:string|nullvatsim_id:string|nullsimbrief_id:string|nullprefered_hub:string|nullfleet:stringmotivation:stringreferral_source:stringstatus:stringcreated_at:stringupdated_at:stringFrotas
Retorna as categorias de frota cadastradas.
/v1/fleets/v1/fleets/{id}Campos da resposta
id:intname:stringaircraft_type:stringaircraft_icao:stringdescription:string|nullactive:boolcreated_at:stringupdated_at:stringAeronaves
Retorna todas as aeronaves cadastradas, inclusive inativas.
/v1/aircrafts/v1/aircrafts/{id}Campos da resposta
id:intregistration:stringicao:stringname:stringfleet_id:intpax:intflight_time:intactual_airport:stringstatus:stringactive:boolcreated_at:stringupdated_at:stringAeroportos
Retorna aeroportos ativos utilizados pela operação.
/v1/airports/v1/airports/{id}Campos da resposta
id:inticao:stringiata:stringname:stringcity:stringstate:stringcountry:stringcountry_iso:stringlatitude:floatlongitude:floatelevation:intinfo_pilot:string|nullactive:boolcreated_at:stringupdated_at:stringRotas
Retorna as rotas ativas publicadas pela VA.
/v1/routes/v1/routes/{id}Campos da resposta
id:intflight_number:stringcallsign:stringtype:stringdeparture:stringarrival:stringdistance:intduration:stringflight_level:intcost_index:intdetails:string|nullactive:boolcreated_at:stringupdated_at:stringRanks
Retorna os níveis de progressão ativos dos pilotos.
/v1/ranks/v1/ranks/{id}Campos da resposta
id:intorder:intname:stringdetails:string|nullmin_hours:intmin_pireps:intactive:boolcreated_at:stringupdated_at:stringBadges
Retorna badges ativos e seus critérios de conquista.
/v1/badges/v1/badges/{id}Campos da resposta
id:intname:stringcategory:stringdetails:string|nullcriteria:string|nullcriteria_value_1:int|nullcriteria_value_2:int|nullbonus_points:intdescription:string|nullactive:boolcreated_at:stringupdated_at:stringTours
Retorna os tours cadastrados, inclusive os encerrados ou inativos.
/v1/tours/v1/tours/{id}Campos da resposta
id:intname:stringdescription:string|nullstart_date:stringend_date:stringactive:boolcreated_at:stringupdated_at:stringEstatísticas
Retorna um objeto com indicadores agregados da VA. Este endpoint não aceita ID.
/v1/statisticsCampos da resposta
pilots:intaircrafts:intairports:intpireps:introutes:intflight_time:int (minutos)distance:int (NM)fpm:intpassengers:int{
"pilots": 42,
"aircrafts": 18,
"airports": 96,
"pireps": 1250,
"routes": 210,
"flight_time": 84500,
"distance": 615300,
"fpm": -184,
"passengers": 92840
}Tente buscar pelo nome do recurso, caminho do endpoint ou campo da resposta.