Upload a flight via API (CSV log verified method)

Kein Konto erforderlich Verifiziert, speichert & erstellt Diagramme

Überblick

Dies ist die programmatische Variante des Web-Upload-Werkzeugs. Sie nimmt ein Flugprotokoll entgegen, verifiziert es genau wie der Endpunkt CSV-Überprüfung, und wenn das Protokoll echt und noch nicht gespeichert ist, fügt sie den Flug der Cloud hinzu, erzeugt die Diagramm-Vorschaubilder und gibt den neuen Flug zurück.

Wurde derselbe Flug bereits hochgeladen, wird er nicht erneut hinzugefügt. Stattdessen wird der vorhandene Flug zurückgegeben, mit gesetztem duplicate-Kennzeichen. Das entspricht dem Verhalten des Web-Uploaders, sodass das erneute Senden eines Protokolls immer sicher ist.

Endpunkt

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

Authentifizierung

Keine. Uploads sind anonym, genau wie beim Web-Upload-Werkzeug. Die kryptografische Verifizierung ist die Schranke: nur echte, unveränderte Protokolle eines echten Nano können sie passieren, und Duplikate werden ignoriert, sodass ein offener Endpunkt nur legitime Protokolle speichert. Ein Flug wird seinem Gerät zugeordnet, und der Geräteeigentümer kann ihn später beanspruchen, indem er dieses Gerät seinem Altimeter-Cloud-Konto hinzufügt.

Anfrage

Senden Sie das Flugprotokoll unverändert als Multipart-Dateifeld mit dem Namen csv (oder flightlog) oder als reinen Text-POST-Parameter csv.

curl -X POST https://www.altimetercloud.com/de/api/upload/ \
  -F "csv=@flight_1234.csv"

Antwort

Die API liefert JSON. Wenn der Flug neu hinzugefügt wird, ist duplicate gleich false und die Vorschaubilder wurden soeben erzeugt:

✓ Verifiziert & hochgeladen
{
  "success": true,
  "verified": true,
  "duplicate": false,
  "verify_method": "Ed25519",
  "flight": {
    "id": 1234,
    "url": "https://www.altimetercloud.com/de/flights/1234/",
    "firmware": "1.52",
    "hardware": "4",
    "device_tag": "MY-NANO",
    "competitor_tag": "C-07",
    "apogee": 246.4,
    "apogee_time": 5.21,
    "max_velocity": 98.3,
    "samples": 3210,
    "flight_unique_id": "a1b2c3...",
    "thumbnails": {
      "meters_small": "https://www.altimetercloud.com/de/flightdata/4/1234.webp",
      "meters_large": "https://www.altimetercloud.com/de/flightdata/4/1234_l.webp",
      "feet_small":   "https://www.altimetercloud.com/de/flightdata/4/1234_ft.webp",
      "feet_large":   "https://www.altimetercloud.com/de/flightdata/4/1234_l_ft.webp",
      "miles_small":  "https://www.altimetercloud.com/de/flightdata/4/1234_mi.webp",
      "miles_large":  "https://www.altimetercloud.com/de/flightdata/4/1234_l_mi.webp",
      "km_small":     "https://www.altimetercloud.com/de/flightdata/4/1234_km.webp",
      "km_large":     "https://www.altimetercloud.com/de/flightdata/4/1234_l_km.webp"
    }
  }
}

Existiert derselbe Flug bereits, wird er unverändert zurückgegeben, mit duplicate gleich true und ohne neu erzeugte Vorschaubilder:

↻ Bereits gespeichert
{
  "success": true,
  "verified": true,
  "duplicate": true,
  "verify_method": "Ed25519",
  "flight": { "id": 1234, "url": "https://www.altimetercloud.com/de/flights/1234/", "...": "..." }
}

Besteht das Protokoll die Verifizierung nicht, wird es nicht gespeichert:

✗ Verifizierung fehlgeschlagen
{
  "success": false,
  "verified": false,
  "error": { "code": "400", "message": "Flight log failed verification" }
}

Umgang mit Duplikaten

Ein Flug gilt als bereits gespeichert, wenn sein Gerät und sein Signatur-Hash mit einem bereits hochgeladenen Flug übereinstimmen. In diesem Fall wird nichts erneut hinzugefügt und keine Diagramme werden neu erstellt; Sie erhalten einfach die vorhandene Flug-ID mit duplicate gleich true.

Antwortfelder

FeldTypBeschreibung
successbooleanTrue, wenn das Protokoll angenommen wurde (neu gespeichert oder bereits vorhanden)
verifiedbooleanOb das Protokoll die kryptografische Verifizierung bestanden hat
duplicatebooleanTrue, wenn der Flug bereits vorhanden war und nicht erneut hinzugefügt wurde
verify_methodstringVerwendete Methode: Ed25519, HMAC-SHA256 oder SHA-256
flight.idintegerDie Cloud-Flug-ID (neu oder vorhanden)
flight.flight_unique_idstringDer Signatur-Hash, verwendbar mit dem Endpunkt Flugdaten
flight.thumbnailsobjectDiagramm-Bild-URLs in allen Größen
error.code / error.messagestringFehlercode und Beschreibung (bei Fehlschlag)

Fehler

CodeBedeutung
400 (Verifizierung)Das Protokoll hat die kryptografische Verifizierung nicht bestanden und wurde nicht gespeichert
400 (Druck)Das Protokoll hat die zusätzliche Druck-Gegenprüfung nicht bestanden und wurde nicht gespeichert
412In der Anfrage wurde kein Flugprotokoll übermittelt

Einen Flug beanspruchen

Da Uploads anonym sind, ist ein Flug nur mit dem Gerät verknüpft, das ihn aufgezeichnet hat. Um die Flüge eines Geräts zu übernehmen, fügen Sie dieses Gerät Ihrem Altimeter-Cloud-Konto hinzu; seine Flüge, auch die über diese API hochgeladenen, werden dann automatisch beansprucht.

Hinweise

Die Verifizierung ist hier identisch mit dem CSV-Überprüfungs-Endpunkt, sodass jedes dort verifizierte Protokoll auch hier hochgeladen werden kann. Der einzige Unterschied ist, dass dieser Endpunkt den Flug zusätzlich speichert und seine Diagramme erstellt. Um ein Protokoll zu prüfen, ohne es zu speichern, verwenden Sie stattdessen den Endpunkt CSV-Überprüfung. Auf dieser Seite gibt es keinen Live-Playground, da jeder erfolgreiche Aufruf einen echten gespeicherten Flug erzeugt.