Banque de la Republique d'Haiti

Taux de Change

Gourde Haïtienne (HTG) vs Dollar Américain (USD)

Chargement...
Taux d'Achat
---
HTG / 1 USD
Taux de Vente
---
HTG / 1 USD

Guide d'Utilisation

Intégrez les taux de change HTG/USD dans vos applications avec notre API sécurisée et optimisée.

Authentification

L'API publique /api/taux/latest est accessible sans authentification mais avec des limites de requêtes. Pour un usage développeur avancé avec plus de requêtes, utilisez une clé API.

Type Clé API Limite
Public Aucune 100 requêtes / 15 min
Gratuit dev-demo-key-001 1 000 requêtes / jour
Pro dev-pro-key-002 10 000 requêtes / jour

Header requis (routes protégées)

X-API-Key: dev-demo-key-001

Rate Limiting

Pour protéger notre infrastructure et celle de la BRH, des limites sont appliquées. Les headers de réponse incluent vos quotas restants.

Header Description Exemple
X-RateLimit-Limit Limite quotidienne 1000
X-RateLimit-Remaining Requêtes restantes 999
X-RateLimit-Reset Date de reset 2026-03-28T23:59:59Z

Dépassement de quota

HTTP 429 - Attendez le reset quotidien ou passez à un tier supérieur.

Endpoints Disponibles

Méthode Endpoint Auth Description
GET /api/taux/latest Non Taux marché bancaire (rate limited)
GET /api/taux/informel Non Taux marché informel (rate limited)
GET /api/health Non État du service et du cache
GET /api/dev/rates Clé API Taux avec métadonnées complètes
POST /api/dev/refresh Clé Pro Forcer le rafraîchissement BRH

Exemples de Code

Implémentez l'API dans votre stack technique préférée.

GET /api/taux/latest

Taux du marché bancaire. Les données sont servies depuis le cache local (30 min TTL) pour protéger le serveur BRH.

// JavaScript - Fetch API
const response = await fetch('/api/taux/latest');
const data = await response.json();

console.log('Achat:', data.taux_achat);
console.log('Vente:', data.taux_vente);
console.log('Source:', data.source);
Réponse JSON
{
  "devise_source": "USD",
  "devise_cible": "HTG",
  "taux_achat": 130.64,
  "taux_vente": 131.53,
  "marche_informel_achat": 131.00,
  "marche_informel_vente": 136.00,
  "date_mise_a_jour": "2026-03-27T10:00:00Z",
  "source": "BRH - Banque de la Republique d'Haiti"
}
GET /api/dev/rates

Route développeur avec métadonnées complètes. Nécessite une clé API via header X-API-Key.

// JavaScript avec API Key
const response = await fetch('/api/dev/rates', {
  headers: {
    'X-API-Key': 'dev-demo-key-001'
  }
});

const data = await response.json();
console.log('Tier:', data._meta.tier);
console.log('Requêtes:', data._meta.requestNumber);

// Lire les headers de quota
const remaining = response.headers.get('X-RateLimit-Remaining');
console.log('Quota restant:', remaining);
Réponse avec métadonnées
{
  "devise_source": "USD",
  "taux_achat": 130.64,
  "taux_vente": 131.53,
  "_meta": {
    "tier": "free",
    "requestNumber": 42,
    "dailyLimit": 1000,
    "cached": true
  }
}
GET /api/health

Vérifie l'état du service et l'âge du cache.

curl http://localhost:3000/api/health
Réponse
{
  "status": "OK",
  "cacheAgeMinutes": 12,
  "lastFetch": "2026-03-28T03:26:31.676Z"
}

Protection de la Source & de l'API

Notre architecture garantit la disponibilité du service tout en protégeant le serveur de la BRH contre les surcharges.

Cache TTL (Time To Live)

Les données BRH sont mises en cache pendant 30 minutes. Quelle que soit la charge utilisateur (10 000 req/min), nous ne faisons qu'1 requête BRH toutes les 30 minutes.

30 min
Durée de validité
du cache

Mutex (Verrou)

Même avec 10 000 utilisateurs simultanés, une seule requête vers BRH est autorisée à la fois. Les autres attendent le résultat en cache.

1
Requête BRH
simultanée max

Rafraîchissement Auto

Cron job toutes les 30 minutes pour rafraîchir les données. Aucun scraping n'a lieu lors des requêtes utilisateur.

48/jour
Requêtes BRH
maximales

Grace Period

Si BRH est inaccessible, nous servons les données "stale" pendant 60 minutes supplémentaires pour garantir la continuité de service.

60 min
Données périmées
acceptées

Rate Limiting IP

Limitation à 100 requêtes par IP sur 15 minutes pour les routes publiques. Protection contre le spam et les attaques DDoS.

100
Requêtes / 15 min
par IP

API Key & Quotas

Authentification par clé API avec quotas journaliers trackés. Reset automatique à minuit UTC.

1K-10K
Requêtes / jour
selon le tier

Impact de la protection

Sans cache : 10 000 développeurs × 1 req/min = 600 000 requêtes BRH/heure (DDoS involontaire)
Avec cache : 2 requêtes BRH/heure (réduction de 99.9997%)