CSV Flight log verification API

Geen snelheidslimiet Openbaar, geen authenticatie

Overzicht

CSV-vluchtlogs van onze hoogtemeters bevatten een cryptografische verificatiehandtekening. Deze API controleert of een vluchtlog echt is en precies zoals de hoogtemeter het heeft geschreven, of dat het is gewijzigd.

De handtekening wordt in de hoogtemeter gegenereerd door met AES-256 versleutelde firmware, waardoor vervalsing rekenkundig onhaalbaar is. Firmware 1.52 en later ondertekent het log met een Ed25519-handtekening; oudere firmware gebruikt een op SHA-256 gebaseerde hash. In beide gevallen moeten zowel de vluchtgegevens als de header-instellingen ongewijzigd zijn om de verificatie te doorstaan.

Dit ondersteunt momenteel de Nano-hoogtemeter, ondersteuning voor alle apparaten volgt binnenkort. U kunt logs ook verifiëren met het uploadhulpmiddel.

Eindpunt

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

Stuur het volledige CSV-vluchtlog, onbewerkt, met POST naar het bovenstaande eindpunt. De CSV-inhoud moet worden verzonden onder de parameter csv.

Antwoord

De API geeft JSON terug. Bij succes ontvangt u de gebruikte verificatiemethode en de uitgelezen vluchtgegevens:

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

Als het vluchtlog de verificatie niet doorstaat of het verzoek leeg is:

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

Antwoordvelden

VeldTypeBeschrijving
successbooleanOf het vluchtlog de verificatie heeft doorstaan
verify_methodstringMethode die het log heeft geverifieerd: Ed25519 (firmware 1.52+), HMAC-SHA256 (1.50 tot 1.51) of SHA-256 (ouder)
log_linesintegerAantal gegevensregels in het vluchtlog
input_bytesintegerGrootte van het ingediende log in bytes
firmwarestringFirmwareversie uit de log-header
hardwarestringHardwarerevisie uit de log-header
device_tagstringHet apparaatlabel uit het log
competitor_tagstringHet deelnemerslabel, indien aanwezig (firmware 1.51+)
apogeefloatMaximale hoogte in meters
apogee_timeintegerTijdstip van apogeum in milliseconden
max_velocityfloatMaximale stijgsnelheid in meters per seconde
landing_mfloatLandingshoogte in meters
landing_tfloatLandingstijd in seconden
flight_unique_idstringDe handtekening-hash van het log. Geef deze door aan het eindpunt Vluchtinformatie als hash. Het zijn 128 hexadecimale tekens voor firmware 1.52+ (Ed25519), of 64 voor oudere logs
error.codestringFoutcode in HTTP-stijl (bij mislukking)
error.messagestringLeesbare foutbeschrijving (bij mislukking)

API-speeltuin

Test de API live. We hebben hieronder een voorbeeld-vluchtlog van een Nano V1 vooraf geladen. Klik op Uitvoeren om het te verifiëren, of bewerk de gegevens om een mislukte verificatie te testen.

POST-body parameter: csv
https://www.altimetercloud.com/nl/api/csv_verify/