Aller au contenu principal

Référence API Temps Réel & WebSockets

L'API temps réel diffuse les ticks de marché 1 minute en direct via WebSockets grâce à des connexions bridge TradingView et Redis Pub/Sub, et expose des snapshots REST à haute vitesse.


WS /ws/realtime/{ticker}

Ouvrir un canal de streaming WebSocket persistant pour les mises à jour de ticks en temps réel sur un ticker donné.

Protocole de Connexion

const ws = new WebSocket("ws://localhost:5000/ws/realtime/AIR.PA");

Messages d'Événements

À la connexion, le serveur envoie un message snapshot initial suivi d'événements tick en temps réel :

Événement Snapshot Initial

{
"type": "snapshot",
"ticker": "AIR.PA",
"data": {
"close": 135.90,
"open": 134.20,
"high": 136.50,
"low": 133.80,
"volume": 1245000,
"timestamp": "2026-08-11T10:15:00Z"
}
}

Événement Tick en Direct

{
"type": "tick",
"ticker": "AIR.PA",
"data": {
"close": 136.10,
"change": 0.20,
"change_pct": 0.147,
"volume": 1246500,
"timestamp": "2026-08-11T10:16:00Z"
}
}

GET /quote/{ticker}

Récupérer le dernier snapshot de cotation depuis le cache volatile Redis. Déclenche automatiquement l'abonnement streaming si REALTIME_AUTO_SUBSCRIBE=true.

Paramètres

ParamètreTypeRequisDéfautDescription
tickerstringSymbole ticker (ex. AAPL)

Exemple de Réponse

{
"ticker": "AAPL",
"price": 224.50,
"open": 222.10,
"high": 225.00,
"low": 221.80,
"volume": 45200000,
"change": 2.40,
"change_pct": 1.08,
"source": "tradingview_stream",
"timestamp": "2026-08-11T10:15:30Z"
}

GET /quotes

Récupération par lot de snapshots de cotations pour plusieurs tickers.

Paramètres

ParamètreTypeRequisDéfautDescription
tickersstringListe de tickers séparés par des virgules (ex. AAPL,MSFT,TSLA)

POST /realtime/subscribe

Abonner explicitement un ticker au worker de streaming en arrière-plan RealtimePriceWorker.

Corps de la Requête

{
"ticker": "NVDA"
}

DELETE /realtime/subscribe/{ticker}

Désabonner un ticker du streaming en direct en arrière-plan.


GET /realtime/status

Lister tous les abonnements actifs aux workers de streaming de marché.

Exemple de Réponse

{
"active_subscriptions": 3,
"subscriptions": [
{
"ticker": "AIR.PA",
"subscribed_at": "2026-08-11T08:00:00Z",
"last_tick_at": "2026-08-11T10:15:30Z",
"tick_count": 1350
}
]
}