CSV Flight log verification API

Keine Ratenbegrenzung Öffentlich, keine Authentifizierung erforderlich

Überblick

Von unseren Höhenmessern erzeugte CSV-Flugprotokolle enthalten eine kryptografische Verifizierungssignatur. Diese API prüft, ob ein Flugprotokoll echt und genau so ist, wie es vom Höhenmesser geschrieben wurde, oder ob es verändert wurde.

Die Signatur wird im Höhenmesser durch AES-256-verschlüsselte Firmware erzeugt, wodurch eine Fälschung rechnerisch praktisch unmöglich ist. Firmware 1.52 und neuer signieren das Protokoll mit einer Ed25519-Signatur; ältere Firmware verwendet einen SHA-256-basierten Hash. In beiden Fällen müssen sowohl die Flugdaten als auch die Kopf-Einstellungen unverändert sein, um die Verifizierung zu bestehen.

Dies unterstützt derzeit den Nano-Höhenmesser, Unterstützung für alle Geräte folgt in Kürze. Sie können Protokolle auch mit dem Upload-Werkzeug verifizieren.

Endpunkt

POST https://www.altimetercloud.com/de/api/csv_verify/ Parameter: csv

Senden Sie das gesamte CSV-Flugprotokoll unverändert per POST an den obigen Endpunkt. Der CSV-Inhalt sollte unter dem Parameter csv gesendet werden.

Antwort

Die API liefert JSON. Bei Erfolg erhalten Sie die verwendete Verifizierungsmethode und die ausgelesenen Flugdetails:

✓ Verifiziert
{
  "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"
}

Wenn das Flugprotokoll die Verifizierung nicht besteht oder die Anfrage leer ist:

✗ Fehlgeschlagen
{
  "success": false,
  "log_lines": 825,
  "error": {
    "code": "400",
    "message": "Flight log failed verification (STEP=SHA256)"
  }
}
✗ Fehlende Daten
{
  "success": false,
  "error": {
    "code": "412",
    "message": "No flight log supplied as a POST using the parameter csv="
  }
}

Antwortfelder

FeldTypBeschreibung
successbooleanOb das Flugprotokoll die Verifizierung bestanden hat
verify_methodstringMethode, die das Protokoll verifiziert hat: Ed25519 (Firmware 1.52+), HMAC-SHA256 (1.50 bis 1.51) oder SHA-256 (älter)
log_linesintegerAnzahl der Datenzeilen im Flugprotokoll
input_bytesintegerGröße des übermittelten Protokolls in Bytes
firmwarestringFirmware-Version aus dem Protokollkopf
hardwarestringHardware-Revision aus dem Protokollkopf
device_tagstringDas Geräte-Tag aus dem Protokoll
competitor_tagstringDas Teilnehmer-Tag, falls vorhanden (Firmware 1.51+)
apogeefloatMaximalhöhe in Metern
apogee_timeintegerZeitpunkt des Gipfelpunkts in Millisekunden
max_velocityfloatMaximale Aufstiegsgeschwindigkeit in Metern pro Sekunde
landing_mfloatLandehöhe in Metern
landing_tfloatLandezeit in Sekunden
flight_unique_idstringDer Signatur-Hash des Protokolls. Übergeben Sie ihn dem Endpunkt Flugdaten als hash. Er hat 128 Hex-Zeichen für Firmware 1.52+ (Ed25519) oder 64 Hex-Zeichen für ältere Protokolle
error.codestringFehlercode im HTTP-Stil (bei Fehlschlag)
error.messagestringMenschenlesbare Fehlerbeschreibung (bei Fehlschlag)

API-Playground

Testen Sie die API live. Wir haben unten ein Beispiel-Flugprotokoll eines Nano V1 vorgeladen. Klicken Sie auf Ausführen, um es zu verifizieren, oder bearbeiten Sie die Daten, um eine fehlgeschlagene Verifizierung zu testen.

POST-Body Parameter: csv
https://www.altimetercloud.com/de/api/csv_verify/