FYNKHA Public API

Connectez vos systèmes au cœur des opérations transport.

Une API REST versionnée, isolée par société et conçue pour les intégrations serveur à serveur.

OpenAPI 3.1HTTPSJSONBearer token

Démarrage rapide

Créez une clé dans Paramètres → Clés API publiques, copiez le secret affiché une seule fois, puis vérifiez la connexion :

curl "https://api.fynkha.com/api/public/v1/company" \
  -H "Authorization: Bearer VOTRE_CLE_FYNKHA" \
  -H "Accept: application/json"

Une clé accède uniquement à la société choisie lors de sa création. Créez une clé distincte par intégration et par environnement.

Authentification

Ajoutez la clé à chaque appel dans l’en-tête HTTP :

Authorization: Bearer fynkha_xxxxxxxxxxxxxxxx.secret

Le secret ne doit jamais être placé dans un navigateur, une application mobile publique, un dépôt Git ou un journal applicatif.

Autorisations minimales

company:readIdentité et modules
clients:readListe des clients
quotes:readListe des devis
fleet:readFlotte, tournées et carburant
missions:readMissions et affectations
quote_requests:writeCréation de demandes de devis

Routes disponibles

GET/companyLire la société
GET/clientsLister les clients
GET/quotesLister les devis
GET/fleet/vehiclesVéhicules et remorques
GET/fleet/toursTournées et arrêts
GET/fleet/fuel-transactionsTransactions carburant
GET/missionsMissions et affectations
POST/quote-requestsCréer une demande de devis

Les listes sont paginées avec per_page de 1 à 100. Consultez le contrat OpenAPI pour tous les filtres et schémas.

Créer une demande de devis

Chaque écriture exige une clé Idempotency-Key unique, conservée pendant 24 heures.

curl -X POST "https://api.fynkha.com/api/public/v1/quote-requests" \
  -H "Authorization: Bearer VOTRE_CLE_FYNKHA" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: demande-erp-2026-000184" \
  --data '{
    "external_reference": "ERP-2026-000184",
    "prospect_name": "Awa Ndiaye",
    "prospect_company": "Exemple Logistique",
    "transport_mode": "road",
    "pickup_city": "Paris",
    "pickup_country_code": "FR",
    "delivery_city": "Lyon",
    "delivery_country_code": "FR",
    "goods_description": "10 palettes",
    "pallets": 10,
    "weight": 5200
  }'

Erreurs et limites

401

Clé absente, invalide, expirée ou révoquée.

403

Autorisation ou abonnement insuffisant.

409

Requête identique encore en traitement.

422

Validation ou conflit d’idempotence.

429

Limite par minute ou quota mensuel atteint.

Conservez l’en-tête X-Request-Id pour toute demande au support. Respectez Retry-After avant une nouvelle tentative.

Sécurité d’intégration

  • Stockez le secret dans un coffre ou une variable d’environnement protégée.
  • Limitez la clé aux IP fixes du système appelant lorsqu’elles sont disponibles.
  • Accordez seulement les autorisations réellement utilisées.
  • Renouvelez immédiatement le secret en cas de doute.
  • Révoquez la clé dès la fin du contrat ou de l’intégration.