Flight information API

Público, sem autenticação Sem dados pessoais

Visão geral

Este ponto final devolve um resumo público de um único voo, incluindo ligações para as suas miniaturas de gráfico em todos os tamanhos. Procure um voo pelo seu id de voo na nuvem ou pelo hash de assinatura que o verificador devolve como flight_unique_id (o mesmo valor que um piloto pode ler do próprio ficheiro de registo).

É uma única consulta indexada e não devolve qualquer informação que identifique o utilizador: sem conta, sem número de série do dispositivo, sem endereço de envio, sem notas, imagens ou coordenadas de lançamento. A etiqueta do dispositivo e a etiqueta de concorrente são incluídas, pois identificam uma entrada e não uma pessoa.

Ponto final

GET https://www.altimetercloud.com/pt/api/flight_info/ Parâmetros: id ou hash

Forneça o id numérico ou o hash de assinatura. Se ambos forem dados, o id tem prioridade. Apenas são devolvidos voos visíveis publicamente.

Parâmetros

ParâmetroTipoDescrição
idintegerO id numérico do voo na nuvem
hashstringO hash de assinatura do voo (64 ou 128 carateres hexadecimais), tal como devolvido pelo verificador ou escrito no ficheiro de registo
sigstringAlias de hash

Resposta

A API devolve JSON. Os campos barométricos básicos estão presentes em todos os voos. Os voos com IMU (Mercury, ou Nano com revisão de hardware 4 e posterior) incluem também um objeto imu com dados de aceleração, orientação, rotação, estabilidade e duplo acionamento. Os voos Mercury incluem ainda um objeto mercury com dados adicionais de sensores e ambiente (sonda de temperatura externa, bateria, temperatura da placa) que só essa placa regista. Os voos apenas barométricos omitem os blocos IMU e Mercury.

✓ Encontrado (voo com IMU)
{
  "success": true,
  "flight": {
    "id": 1234,
    "url": "https://www.altimetercloud.com/pt/flights/1234/",
    "csv_url": "https://www.altimetercloud.com/pt/flightdata/4/1234.csv",
    "device": "nanov1",
    "firmware": "1.52",
    "revision": "4",
    "has_imu": 1,
    "tag": "MY-NANO",
    "competitor_tag": "C-07",
    "uploaddate": "10/06/26-14:22:01",
    "uploadstamp": 1781453721,
    "samples": 3210,
    "sps": 100,
    "apogee": 246.4,
    "apogee_time": 5210,
    "max_velocity": 98.3,
    "max_velocity_down": -12.4,
    "velocity_landing": 4.8,
    "landing_ms": 41800,
    "landing_m": 1.2,
    "flight_time": 41.8,
    "total_time": 44.2,
    "lockouts": 0,
    "not_real_flight": 0,
    "settings": {
      "sealevel": 1013.25,
      "samplerate": 100,
      "recordingstop": 1,
      "oversampling": 1,
      "iirfilter": 0,
      "pressurefilter": 1,
      "startuplock": 0,
      "usetemp": 1,
      "fixedtemp": 15,
      "launchdetect": 1,
      "sampleratio": 1,
      "maintainpower": 0,
      "maxsamples": 0,
      "recording_alt": 0,
      "units": 0,
      "units_velocity": 0,
      "units_acceleration": 0,
      "lockout_time": 0,
      "lockout_change": 0,
      "output_enable": 0,
      "orientation": 0,
      "launchprotection": 1
    },
    "imu": {
      "burnout": 1400,
      "ejection": 5600,
      "max_acceleration": 11.6,
      "acceleration": {
        "max_ascent": 11.6,
        "max_descent": 2.3,
        "max_burn": 11.6,
        "avg_ascent": 4.2,
        "avg_burn": 9.8
      },
      "velocity": {
        "burnout": 96.2,
        "descent": 5.1,
        "up_imu": 96.2,
        "down_imu": -11.8
      },
      "orientation": {
        "launch_pitch": 2,
        "launch_roll": 1,
        "launch_yaw": 0,
        "launch_tilt": 3,
        "max_tilt": 7
      },
      "spin": {
        "max": 540.5,
        "average": 120.2,
        "roll_rate": 33,
        "coning_rate": 4,
        "coning_power": 2
      },
      "stability": {
        "score": 92,
        "launch": 88,
        "coning": 95,
        "straight": 90,
        "confidence": 1,
        "thrust_straight": 97,
        "launch_tilt": 3
      },
      "dual_deploy": {
        "detected": 1,
        "drogue_velocity": 18.2,
        "main_velocity": 6.4,
        "main_altitude": 120.5,
        "main_time": 30200
      }
    },
    "thumbnails": {
      "meters_small": "https://www.altimetercloud.com/pt/flightdata/4/1234.webp",
      "meters_large": "https://www.altimetercloud.com/pt/flightdata/4/1234_l.webp",
      "feet_small":   "https://www.altimetercloud.com/pt/flightdata/4/1234_ft.webp",
      "feet_large":   "https://www.altimetercloud.com/pt/flightdata/4/1234_l_ft.webp",
      "miles_small":  "https://www.altimetercloud.com/pt/flightdata/4/1234_mi.webp",
      "miles_large":  "https://www.altimetercloud.com/pt/flightdata/4/1234_l_mi.webp",
      "km_small":     "https://www.altimetercloud.com/pt/flightdata/4/1234_km.webp",
      "km_large":     "https://www.altimetercloud.com/pt/flightdata/4/1234_l_km.webp"
    }
  }
}

Um voo apenas barométrico (por exemplo um Nano abaixo da revisão 4) devolve os mesmos campos básicos com has_imu a 0 e sem bloco imu:

ⓘ Encontrado (voo barométrico)
{
  "success": true,
  "flight": {
    "id": 980,
    "device": "nanov1",
    "firmware": "1.52",
    "revision": "2",
    "has_imu": 0,
    "apogee": 312.7,
    "apogee_time": 6120,
    "max_velocity": 104.5,
    "...": "core fields and settings, but no imu block"
  }
}

Se nenhum voo público corresponder ao id ou ao hash fornecido:

✗ Não encontrado
{
  "success": false,
  "error": {
    "code": "404",
    "message": "No public flight found for that id or signature hash"
  }
}

Campos da resposta

Todas as medições são devolvidas em unidades base do SI: alturas em metros, velocidades em metros por segundo, acelerações em g, ângulos em graus, rotação e taxas em graus por segundo, e tempos em milissegundos salvo indicação em contrário. A página do voo pode mostrá-las convertidas nas unidades que escolher, mas a API usa sempre o SI.

Básicos (todos os voos)

CampoTipoDescrição
id / urlinteger / stringId do voo na nuvem e a sua página de voo pública
csv_urlstringLigação de transferência direta do registo CSV em bruto
device / firmware / revisionstringModelo (nanov1, mercuryv1), versão do firmware, revisão de hardware
has_imuinteger1 se este modelo e revisão tiverem IMU (Mercury, ou Nano revisão 4+). Determina se o bloco imu está presente
tag / competitor_tagstringEtiqueta do dispositivo e etiqueta de concorrente
uploaddate / uploadstampstring / integerTexto de data de envio e carimbo de data/hora Unix
samples / spsintegerNúmero de amostras registadas e amostras por segundo
apogeefloatAltura máxima em metros
apogee_timeintegerMomento do apogeu em milissegundos
max_velocity / max_velocity_downfloatVelocidade máxima de subida e descida (m/s), barométrica
velocity_landingfloatVelocidade na aterragem (m/s)
landing_ms / landing_mnumberHora de aterragem (milissegundos) e altura de aterragem (metros)
flight_time / total_timefloatDuração da gravação e duração total incluindo o pré-lançamento, em segundos
lockoutsintegerNúmero de eventos de bloqueio de apogeu
not_real_flightinteger1 se assinalado como não sendo um voo genuíno (por exemplo um teste de bancada)
settingsobjectDefinições de gravação a partir do cabeçalho do registo (pressão ao nível do mar, taxa de amostragem, filtros, unidades, bloqueios, saída, orientação, proteção de lançamento e mais)
thumbnailsobjectURLs das imagens de gráfico: metros, pés, milhas e quilómetros, cada uma em tamanho pequeno e grande

imu (apenas voos com IMU)

Presente apenas quando has_imu é 1. Ausente nos voos apenas barométricos.

CampoTipoDescrição
burnout / ejectionintegerTempos de fim de combustão do motor e de ejeção, em milissegundos
max_accelerationfloatAceleração máxima em g
accelerationobjectmax_ascent, max_descent, max_burn, avg_ascent, avg_burn, todas em g
velocityobjectburnout, descent (m/s), além de up_imu / down_imu, as velocidades máximas de subida e descida derivadas da IMU (m/s)
orientationobjectlaunch_pitch, launch_roll, launch_yaw, launch_tilt, max_tilt, todos em graus
spinobjectmax, average, roll_rate, coning_rate, coning_power, todos em graus por segundo
stabilityobjectscore e as subpontuações launch / coning / straight / thrust_straight (0 a 100), confidence (0 a 1) e launch_tilt (graus)
dual_deployobjectdetected (0/1), drogue_velocity / main_velocity (m/s), main_altitude (metros), main_time (milissegundos)

mercury (apenas voos Mercury)

Presente apenas no Mercury, que regista uma camada adicional de sensores e ambiente que o Nano não tem. Lido com o melhor esforço a partir do ficheiro de dados do voo, pelo que firmware Mercury mais antigo pode devolver menos campos, e qualquer campo ausente é simplesmente omitido.

"mercury": {
  "mt1_temp_c": 16,
  "battery_start_pct": 98,
  "battery_end_pct": 95,
  "board_temp_start_c": 13.02,
  "board_temp_end_c": 12.25,
  "recovered": 0
}
CampoTipoDescrição
mt1_temp_cfloatLeitura da sonda de temperatura externa MT1 no lançamento, em graus Celsius
battery_start_pct / battery_end_pctintegerCarga da bateria no início e no fim do voo, em percentagem
board_temp_start_c / board_temp_end_cfloatTemperatura da placa no início e no fim do voo, em graus Celsius
recoveredinteger1 se o registo foi reconstruído a partir da flash após uma falha ou quebra de energia, caso contrário 0

Zona de testes da API

Introduza um id de voo público (ou um hash de assinatura) e clique em Executar para obter o seu resumo.

Id de voo ou um hash de assinatura
https://www.altimetercloud.com/pt/api/flight_info/