Aller au contenu principal
SyncVeloSyncVelo

Developer Ecosystem

Construisez l’avenir de la mobilité sur SyncVelo

Des interfaces ouvertes, sûres et versionnées pour les appareils, positions, trajets, alertes, rapports et conducteurs de votre flotte, avec webhooks signés, SDK TypeScript et sandbox.

  • REST et OpenAPI
  • Webhooks signés
  • SDK TypeScript
  • Sandbox de véhicules simulés
api.syncvelo.com
1const api = 'https://api.syncvelo.com';2const { SYNCVELO_CLIENT_ID: id, SYNCVELO_CLIENT_SECRET: secret, SYNCVELO_ORG: org } = process.env;3 4const { access_token } = await fetch(`${api}/oauth/token`, {5  method: 'POST',6  headers: { Authorization: `Basic ${btoa(`${id}:${secret}`)}` },7  body: new URLSearchParams({ grant_type: 'client_credentials' }),8}).then((r) => r.json());9 10// Cursor pagination: follow next_cursor until it is null11let cursor: string | null = null;12do {13  const url = new URL(`${api}/v1/tenants/${org}/devices?limit=100`);14  if (cursor) url.searchParams.set('cursor', cursor);15  const page = await fetch(url, { headers: { Authorization: `Bearer ${access_token}` } }).then((r) => r.json());16  for (const d of page.items) console.log(d.id, d.status, d.latitude, d.longitude, d.speed_kph);17  cursor = page.next_cursor;18} while (cursor);

Interfaces

Toutes les façons de vous connecter, avec des contrôles intégrés

Chaque interface intègre autorisation, multi-location et auditabilité dès le premier jour.

  • REST public et OpenAPI

    Appareils, positions, trajets, geofences, règles, alertes, rapports et conducteurs, avec pagination par curseur et versions explicites.

    Contrôles: Identifiants client OAuth2, portées, limites de débit et quotas quotidiens.

  • Webhooks d’événements

    Alertes, entrées et sorties de geofences et trajets terminés, signés, relancés avec temporisation et rejouables.

    Contrôles: Rotation des secrets sans perte d’événements ; une organisation par client.

  • SDK TypeScript

    Un client typé généré à partir du document OpenAPI ; il suit les curseurs et ne relance que lorsque c’est sûr.

    Contrôles: Versionnage sémantique et tests de compatibilité.

  • Sandbox

    Une organisation à part avec des véhicules simulés, des exemples de trajets et des webhooks de test, réinitialisable à la demande.

    Contrôles: Isolée à la racine : aucune organisation parente ni accès à des données réelles.

  • Page Développeurs dans la console

    Clients API, portées et points de terminaison de webhooks, gérés par le propriétaire de l'organisation, avec la référence de l'API.

    Contrôles: Les secrets sont affichés une fois et stockés seulement sous forme d’empreinte.

  • Transfert et MQTT

    Transfert vers d’autres plateformes et des serveurs publics, et MQTT pour les intégrateurs. Prévu (X5).

    Contrôles: Non disponible aujourd'hui.

REST et OpenAPI

Des API prévisibles qui respectent vos locataires

Des points de terminaison orientés ressources, avec pagination par curseur, filtres, clés d’idempotence et versions explicites. Chaque requête applique l’intégralité des règles du locataire.

  • Identifiants client OAuth2 avec des portées fines
  • Identifiants canoniques SyncVelo, jamais les clés internes du moteur
  • Clés d’idempotence et nouvelles tentatives sûres pour les écritures
  • Limites de débit et quotas quotidiens par client
devices.list
1const api = 'https://api.syncvelo.com';2const { SYNCVELO_CLIENT_ID: id, SYNCVELO_CLIENT_SECRET: secret, SYNCVELO_ORG: org } = process.env;3 4const { access_token } = await fetch(`${api}/oauth/token`, {5  method: 'POST',6  headers: { Authorization: `Basic ${btoa(`${id}:${secret}`)}` },7  body: new URLSearchParams({ grant_type: 'client_credentials' }),8}).then((r) => r.json());9 10// Cursor pagination: follow next_cursor until it is null11let cursor: string | null = null;12do {13  const url = new URL(`${api}/v1/tenants/${org}/devices?limit=100`);14  if (cursor) url.searchParams.set('cursor', cursor);15  const page = await fetch(url, { headers: { Authorization: `Bearer ${access_token}` } }).then((r) => r.json());16  for (const d of page.items) console.log(d.id, d.status, d.latitude, d.longitude, d.speed_kph);17  cursor = page.next_cursor;18} while (cursor);

Webhooks

Des événements en temps réel, livrés de façon fiable

Abonnez-vous aux alertes (ouvertes, levées, acquittées, clôturées), aux entrées et sorties de geofences et aux trajets terminés. Chaque livraison est signée, relancée avec temporisation et rejouable pendant 30 jours.

  • Charges utiles signées HMAC avec tolérance d’horodatage
  • Nouvelles tentatives automatiques, file de lettres mortes et rejeu
  • Un catalogue d’événements versionné dans le document OpenAPI
  • Journaux de livraison dans la console et via l’API
webhooks
1POST /your/webhook2webhook-id: 6f0c2d2e-1b55-8a4e-9c3f-8f9a2b7d1e403webhook-timestamp: 17923164674webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=5 6{7  "id": "6f0c2d2e-1b55-8a4e-9c3f-8f9a2b7d1e40",8  "type": "geofence.exited",9  "schema_version": "1.0",10  "organization_id": "1f7c…",11  "occurred_at": "2026-10-19T09:41:07.000Z",12  "created_at": "2026-10-19T09:41:08.214Z",13  "data": { "device_id": "8d2a…", "geofence_id": "c41e…" }14}

SDK

Un client TypeScript typé, et du REST simple pour tout le reste

Le SDK TypeScript est généré à partir du document OpenAPI et partagé avec l'accès à la sandbox ; il n'est pas encore sur un registre public. Les autres langages appellent directement l'API REST.

  • TypeScript

    Pour les serveurs : Node.js 20+, Deno, Bun et environnements edge. Méthodes typées, curseurs suivis, relances sûres et vérification des webhooks.

    import { SyncVelo } from '@syncvelo/sdk'
  • Tout autre langage

    Python, Java, Go ou tout ce qui parle HTTPS : utilisez l'API REST et le document OpenAPI, comme dans les exemples ci-dessus.

    GET https://api.syncvelo.com/openapi.json

Cycle de vie de l’intégration

De la première clé API à la production, encadré de bout en bout

  1. 01

    Enregistrer

    Un propriétaire crée un client API sur la page Développeurs de la console, avec seulement les portées nécessaires.

  2. 02

    Autoriser

    Le client échange son identifiant et son secret contre un jeton d’accès de courte durée (identifiants client OAuth2).

  3. 03

    S’abonner

    Enregistrez des points de terminaison de webhooks, envoyez des événements de test et essayez tout d’abord dans la sandbox.

  4. 04

    Exploiter

    Quotas, idempotence, nouvelles tentatives et règles complètes du locataire sur chaque requête.

  5. 05

    Observer

    Journaux de livraison, rejeu des livraisons échouées, rotation et révocation des secrets.

Sandbox développeurs

Commencez à développer dès aujourd’hui

Obtenez un locataire de test avec des boîtiers simulés, des exemples de trajets et des webhooks de test. L’accès développeur est actuellement réservé aux partenaires pilotes et aux intégrateurs.

Les exemples de code de cette page sont fournis à titre indicatif. La référence complète de l’API est communiquée avec l’accès à la sandbox.

Démarrer

Prêt à faire avancer votre monde plus intelligemment ?

Découvrez comment SyncVelo peut propulser votre flotte, votre activité partenaire ou votre prochaine intégration. Démonstration personnalisée, boîtiers réels, votre cas d’usage.