CSV Flight log verification API

Bez omezení počtu požadavků Veřejné, bez ověřování

Přehled

Záznamy letu CSV vytvořené našimi výškoměry obsahují kryptografický ověřovací podpis. Toto API ověří, zda je letový záznam pravý a přesně takový, jak jej zapsal výškoměr, nebo zda byl změněn.

Podpis se generuje uvnitř výškoměru firmwarem šifrovaným AES-256, takže jeho padělání je výpočetně neproveditelné. Firmware 1.52 a novější podepisuje záznam podpisem Ed25519; starší firmware používá hash založený na SHA-256. V obou případech musí zůstat data letu i nastavení v hlavičce nezměněná, aby záznam prošel ověřením.

Aktuálně je podporován výškoměr Nano, podpora všech zařízení bude brzy. Záznamy můžete ověřit také pomocí nástroje pro nahrávání.

Koncový bod

POST https://www.altimetercloud.com/cz/api/csv_verify/ Parametr: csv

Odešlete metodou POST celý letový záznam CSV, neupravený, na výše uvedený koncový bod. Obsah CSV se má odeslat pod parametrem csv.

Odpověď

API vrací JSON. Při úspěchu obdržíte použitou metodu ověření a načtené podrobnosti letu:

✓ Ověřeno
{
  "success": true,
  "log_lines": 825,
  "input_bytes": 4187,
  "verify_method": "SHA-256",
  "firmware": "1.43b",
  "hardware": "2",
  "device_tag": "MyNano",
  "competitor_tag": "",
  "apogee": 2.54,
  "apogee_time": 826,
  "max_velocity": 5.910,
  "landing_m": 0.784,
  "landing_t": 2.253,
  "flight_unique_id": "e1eb3e800d780a0b69670f03a88e2f45c592b6e79065fc08cf83241530a60c5a"
}

Pokud letový záznam neprojde ověřením nebo je požadavek prázdný:

✗ Selhalo
{
  "success": false,
  "log_lines": 825,
  "error": {
    "code": "400",
    "message": "Flight log failed verification (STEP=SHA256)"
  }
}
✗ Chybějící data
{
  "success": false,
  "error": {
    "code": "412",
    "message": "No flight log supplied as a POST using the parameter csv="
  }
}

Pole odpovědi

PoleTypPopis
successbooleanZda letový záznam prošel ověřením
verify_methodstringMetoda, která záznam ověřila: Ed25519 (firmware 1.52+), HMAC-SHA256 (1.50 až 1.51) nebo SHA-256 (starší)
log_linesintegerPočet datových řádků v letovém záznamu
input_bytesintegerVelikost odeslaného záznamu v bajtech
firmwarestringVerze firmwaru z hlavičky záznamu
hardwarestringRevize hardwaru z hlavičky záznamu
device_tagstringŠtítek zařízení ze záznamu
competitor_tagstringŠtítek soutěžícího, pokud je přítomen (firmware 1.51+)
apogeefloatMaximální výška v metrech
apogee_timeintegerČas apogea v milisekundách
max_velocityfloatMaximální rychlost stoupání v metrech za sekundu
landing_mfloatVýška přistání v metrech
landing_tfloatČas přistání v sekundách
flight_unique_idstringHash podpisu záznamu. Předejte jej koncovému bodu Informace o letu jako hash. Má 128 hexadecimálních znaků pro firmware 1.52+ (Ed25519) nebo 64 pro starší záznamy
error.codestringChybový kód ve stylu HTTP (při selhání)
error.messagestringČitelný popis chyby (při selhání)

Testovací prostředí API

Vyzkoušejte API naživo. Níže jsme předvyplnili ukázkový letový záznam Nano V1. Kliknutím na Spustit jej ověřte, nebo upravte data a otestujte neúspěšné ověření.

Tělo POST parametr: csv
https://www.altimetercloud.com/cz/api/csv_verify/