DĂ©marrage rapide de lâAPI
IntĂ©grez la recherche de vols directs dâadresse Ă adresse dans votre propre produit grĂące Ă lâAPI REST AirportFusion. Ce guide vous accompagne de zĂ©ro jusquâĂ votre premiĂšre requĂȘte rĂ©ussie.
1. Créez un compte et une clé API
- Inscrivez-vous (ou connectez-vous) et ouvrez le tableau de bord développeur.
- Allez dans ClĂ©s API â CrĂ©er une clĂ©, donnez-lui un nom (p. ex. « staging ») et choisissez un plan â le plan Free ne nĂ©cessite aucune coordonnĂ©e bancaire.
- Copiez la clĂ© immĂ©diatement : elle nâest affichĂ©e quâune seule fois. Nous nâen stockons quâun hachage.
Les clĂ©s ressemblent Ă af_live_xxxxxxxxâŠ. Les 12 premiers caractĂšres (le prĂ©fixe) restent visibles dans votre tableau de bord pour vous permettre de distinguer vos clĂ©s.
2. Authentifiez-vous
Envoyez la clĂ© avec chaque requĂȘte, soit comme jeton Bearer, soit dans un en-tĂȘte X-Api-Key :
curl -H "Authorization: Bearer af_live_YOUR_KEY" \
"https://your-airportfusion-host/api/v1/search?origin=Lyon&destination=Lisbon&originRadiusKm=100&destRadiusKm=150"3. Votre premiĂšre recherche
GET /api/v1/search accepte :
| ParamĂštre | Obligatoire | Description | | --- | --- | --- | | origin | oui | Adresse, ville, lieu emblĂ©matique ou lat,lon | | destination | oui | Identique Ă origin | | originRadiusKm | oui | Lâune des valeurs 50, 100, 150, 200, 300, 500, 1000 | | destRadiusKm | oui | MĂȘmes options | | departureDate | non | YYYY-MM-DD, pas dans le passĂ© | | passengers | non | 1â9, 1 par dĂ©faut | | locale | non | en, fr, es, zh â dĂ©termine la langue des conseils IA |
4. Lisez la réponse
Tous les points de terminaison renvoient une enveloppe cohérente :
{
"ok": true,
"data": {
"searchId": "âŠ",
"origin": { "displayName": "Lyon, France", "lat": 45.76, "lon": 4.83 },
"destination": { "displayName": "Lisboa, Portugal", "lat": 38.72, "lon": -9.14 },
"originAirports": [ { "iata": "LYS", "distanceKm": 22.1 } ],
"destinationAirports": [ { "iata": "LIS", "distanceKm": 6.9 } ],
"routes": [
{
"id": "âŠ",
"flight": { "airlineCode": "TP", "estimatedDurationMinutes": 155, "estimatedPrice": 178.0 },
"totals": { "estimatedCost": 214.5, "estimatedMinutes": 305, "currency": "EUR" },
"score": 8.7
}
],
"meta": { "routeCount": 12, "durationMs": 840 }
}
}Les erreurs utilisent la mĂȘme enveloppe avec ok: false :
{ "ok": false, "error": { "code": "validation_error", "message": "originRadiusKm must be one of âŠ" } }5. Limites de dĂ©bit et quotas
Chaque rĂ©ponse inclut des en-tĂȘtes de limitation de dĂ©bit :
X-RateLimit-Limit,X-RateLimit-Remainingâ votre fenĂȘtre par minute ;- en cas de
429,Retry-Aftervous indique quand réessayer.
Les quotas mensuels se réinitialisent le 1er de chaque mois calendaire (UTC). Suivez votre consommation en temps réel dans le tableau de bord.
6. Codes dâerreur Ă gĂ©rer
| HTTP | Code | Signification | | --- | --- | --- | | 401 | invalid_api_key | ClĂ© manquante, rĂ©voquĂ©e ou malformĂ©e | | 422 | validation_error | ParamĂštres invalides â dĂ©tails dans error.details | | 429 | rate_limited | Limite par minute atteinte â respectez Retry-After | | 429 | quota_exceeded | Quota mensuel Ă©puisĂ© â passez Ă un plan supĂ©rieur ou patientez | | 500 | internal_error | Notre faute â rĂ©essayez sans risque avec un backoff |
7. Bonnes pratiques
- Mettez en cache les recherches identiques de votre cÎté pendant 24 heures au maximum.
- Nâoubliez pas que chaque valeur est une estimation â prĂ©sentez-la comme telle Ă vos utilisateurs.
- Les intĂ©grations Free/Starter/Pro doivent afficher une attribution « Powered by AirportFusion » (voir les Conditions dâutilisation de lâAPI).
Des questions ? Le canal dâassistance dĂ©veloppeur de votre tableau de bord est le moyen le plus rapide de nous joindre.