CSV Flight log verification API

Aucune limite de débit Public, aucune authentification requise

Présentation

Les journaux de vol CSV produits par nos altimètres incluent une signature de vérification cryptographique. Cette API vérifie si un journal de vol est authentique et exactement tel qu’il a été écrit par l’altimètre, ou s’il a été modifié.

La signature est générée dans l’altimètre par un micrologiciel chiffré en AES-256, ce qui rend sa falsification pratiquement impossible à calculer. Les micrologiciels 1.52 et ultérieurs signent le journal avec une signature Ed25519 ; les versions plus anciennes utilisent un hash basé sur SHA-256. Dans les deux cas, les données de vol et les réglages d’en-tête doivent être inchangés pour passer la vérification.

Cela prend actuellement en charge l’altimètre Nano, la prise en charge de tous les appareils arrive bientôt. Vous pouvez aussi vérifier les journaux avec l’outil de téléversement.

Point de terminaison

POST https://www.altimetercloud.com/fr/api/csv_verify/ Paramètre : csv

Envoyez l’ensemble du journal de vol CSV, non modifié, par POST au point de terminaison ci-dessus. Le contenu CSV doit être envoyé sous le paramètre csv.

Réponse

L’API renvoie du JSON. En cas de succès, vous recevez la méthode de vérification utilisée et les détails du vol analysés :

✓ Vérifié
{
  "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"
}

Si le journal de vol échoue à la vérification ou si la requête est vide :

✗ Échec
{
  "success": false,
  "log_lines": 825,
  "error": {
    "code": "400",
    "message": "Flight log failed verification (STEP=SHA256)"
  }
}
✗ Données manquantes
{
  "success": false,
  "error": {
    "code": "412",
    "message": "No flight log supplied as a POST using the parameter csv="
  }
}

Champs de la réponse

ChampTypeDescription
successbooleanSi le journal de vol a passé la vérification
verify_methodstringMéthode ayant vérifié le journal : Ed25519 (micrologiciel 1.52+), HMAC-SHA256 (1.50 à 1.51) ou SHA-256 (plus ancien)
log_linesintegerNombre de lignes de données dans le journal de vol
input_bytesintegerTaille du journal soumis en octets
firmwarestringVersion du micrologiciel depuis l’en-tête du journal
hardwarestringRévision matérielle depuis l’en-tête du journal
device_tagstringL’étiquette d’appareil depuis le journal
competitor_tagstringL’étiquette de concurrent, si présente (micrologiciel 1.51+)
apogeefloatAltitude maximale en mètres
apogee_timeintegerInstant de l’apogée en millisecondes
max_velocityfloatVitesse ascensionnelle maximale en mètres par seconde
landing_mfloatHauteur d’atterrissage en mètres
landing_tfloatHeure d’atterrissage en secondes
flight_unique_idstringLe hash de signature du journal. Transmettez-le au point de terminaison Infos de vol comme hash. Il comporte 128 caractères hexadécimaux pour le micrologiciel 1.52+ (Ed25519), ou 64 pour les journaux plus anciens
error.codestringCode d’erreur de style HTTP (en cas d’échec)
error.messagestringDescription d’erreur lisible (en cas d’échec)

Bac à sable de l’API

Testez l’API en direct. Nous avons préchargé ci-dessous un exemple de journal de vol Nano V1. Cliquez sur Exécuter pour le vérifier, ou modifiez les données pour tester une vérification en échec.

Corps POST paramètre : csv
https://www.altimetercloud.com/fr/api/csv_verify/