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
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
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
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
- 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.
- 02
Autoriser
Le client échange son identifiant et son secret contre un jeton d’accès de courte durée (identifiants client OAuth2).
- 03
S’abonner
Enregistrez des points de terminaison de webhooks, envoyez des événements de test et essayez tout d’abord dans la sandbox.
- 04
Exploiter
Quotas, idempotence, nouvelles tentatives et règles complètes du locataire sur chaque requête.
- 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.



