Aller au contenu

Changelog

2026-08-27 — Conversion HTML

Conversion de la documentation depuis Carmoove_API_Dynamic_Data_v1.6_FR.pdf (version 1.6, 24/11/2025) vers ce site.

Une première passe (comparaison entre les PDF des versions 1.5 et 1.6, voir historique ci-dessous) avait permis de confirmer que la version 1.6 ajoute deux endpoints d'historique — GET /v1/vehicles/history (tous les véhicules) et GET /v1/vehicle/{id}/history (véhicule spécifique) — alors que l'entrée correspondante du tableau de suivi des versions dans le PDF source ne mentionne explicitement que le premier des deux (entrée tronquée dans le document d'origine).

Le vrai backend de cette API a ensuite été identifié et vérifié : carmoove-backend/customer-services/usage-data-api (repo Go, cloné en lecture seule via SSH — le nom ne contient pas « dynamic », mais son router.go correspond exactement aux endpoints documentés, et sa date de création, 15/07/2024, correspond exactement à la date de création du PDF). Plusieurs écarts réels entre le PDF et l'implémentation ont été corrigés :

  • Casse des champs : le PDF capitalise certains noms de champs (Id, VIN, Ignition, Movement, Mileage, Autonomy, Voltage, Energy, Temperature, Name, Data…) qui sont en réalité tous en minuscule dans le JSON réel (id, vin, ignition, movement, mileage, autonomy, voltage, energy, temperature, name, data). Corrigé partout dans Endpoints.
  • Forme des réponses des endpoints « tous les véhicules » : le PDF présente leurs réponses comme un objet unique, alors que ce sont en réalité des tableaux JSON (un élément par véhicule ou par relevé) — sauf GET /v1/vehicles/history, qui renvoie un objet { "status": [...], "error": ... }.
  • GET /v1/vehicle/{id}/history et GET /v1/vehicles/history : le PDF ne précise pas la forme de la réponse ; en réalité, les deux renvoient un objet { "status": [...], "error": ... } où chaque élément de status n'inclut pas l'objet state (contrairement aux endpoints de statut courant /status).
  • Objet trip : deux champs first_position et last_position (chacun { latitude, longitude }) existent dans la réponse réelle mais ne sont pas documentés dans le PDF. Ajoutés à Endpoints.
  • POST /v1/login : la réponse réelle inclut trois champs absents du PDF — refresh_token, refresh_until et update_password. Ajoutés à Authentification.
  • POST /v1/refreshToken : endpoint réel, entièrement absent du PDF (alors que l'équivalent existe et est documenté côté API Car-Sharing). Ajouté à Authentification.
  • Endpoints non documentés, non ajoutés à ce site (changement de statut d'un véhicule plutôt que lecture — hors périmètre du PDF, mentionnés ici pour information) : POST /v1/vehicle/{id}/state/{stolen|accident|maintenance|breakdown|towing} et POST /v1/vehicle/{id}/privacy/{on|off}.

Tout le reste (structures vehicle, location, can, status, electric, sensors, state, liste des endpoints et leurs routes, codes d'erreur UNKNOWN_VEHICLE/NO_DATA) correspond à l'implémentation réelle.

Historique antérieur (PDF)

Date Version Modification(s)
15/07/2024 1.0 1ère version du document.
26/07/2024 1.1 Relecture et formatage.
06/09/2024 1.2 Ajout de l'information concernant la limite du nombre de données remontées par l'API.
04/10/2024 1.3 Ajout des données provenant de capteurs externes.
18/11/2024 1.4 Ajout des données des véhicules électriques.
23/01/2025 1.5 Ajout des états d'un véhicule (remorquage, révision, panne, …) et de la liste des trajets d'un véhicule.
24/11/2025 1.6 Ajout d'un appel pour récupérer l'historique de tous les véhicules (entrée tronquée dans le PDF source — l'implémentation réelle montre qu'un endpoint d'historique par véhicule a aussi été ajouté).