🌐 API REST - Documentation
Introduction
L'API REST BetTracker Pro vous permet d'accéder à toutes vos données de paris depuis n'importe quelle application. Authentifiez-vous avec votre clé API et commencez à construire !
🔑 Authentification
Toutes les requêtes nécessitent une clé API dans le header :
X-API-Key: btk_votre_clé_ici
Générez votre clé API dans Paramètres > Clé API.
📡 Endpoints Disponibles
Base URL
https://bettracker.io/api
📊 Statistiques & Paris
Obtenir les statistiques utilisateur
POST /tools/execute
{
"tool": "get_user_stats",
"arguments": { "period": "month" }
}
Réponse :
{
"success": true,
"data": {
"period": "month",
"total_bets": 45,
"won": 23,
"lost": 18,
"pending": 4,
"win_rate": "56.1%",
"total_stake": "450.00€",
"total_profit": "125.50€",
"roi": "27.9%"
}
}
Lister les paris récents
POST /tools/execute
{
"tool": "get_recent_bets",
"arguments": {
"limit": 10,
"status": "won",
"mode": "real"
}
}
Évolution de la bankroll
POST /tools/execute
{
"tool": "get_bankroll_history",
"arguments": { "days": 30 }
}
État du budget
POST /tools/execute
{
"tool": "get_budget_status",
"arguments": {}
}
🏇 Courses & Pronostics
Courses du jour
POST /tools/execute
{
"tool": "get_today_races",
"arguments": {}
}
Pronostics IA
POST /tools/execute
{
"tool": "get_ai_pronostics",
"arguments": { "status": "validated" }
}
Rechercher des courses
POST /tools/execute
{
"tool": "search_races",
"arguments": {
"hippodrome_code": "M3",
"date": "2025-01-15"
}
}
Analyser une course
POST /tools/execute
{
"tool": "get_pmu_race_analysis",
"arguments": {
"hippodrome_code": "M3",
"race_number": 5,
"date": "2025-01-15"
}
}
👤 Compte & Notifications
Informations abonnement
POST /tools/execute
{
"tool": "get_subscription_info",
"arguments": {}
}
Notifications
POST /tools/execute
{
"tool": "get_notifications",
"arguments": { "unread_only": true }
}
Chatbot IA
POST /tools/execute
{
"tool": "ask_ai_chat",
"arguments": {
"message": "Analyse mes derniers paris"
}
}
📝 Exemples de Code
JavaScript / Node.js
const API_KEY = 'btk_votre_clé';
const API_URL = 'https://bettracker.io/api';
async function executeTool(tool, args = {}) {
const response = await fetch(`${API_URL}/tools/execute`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ tool, arguments: args })
});
return response.json();
}
// Exemple d'utilisation
const stats = await executeTool('get_user_stats', { period: 'month' });
console.log('Statistiques:', stats.data);
const races = await executeTool('get_today_races');
console.log('Courses du jour:', races.data);
Python
import requests
API_KEY = 'btk_votre_clé'
API_URL = 'https://bettracker.io/api'
def execute_tool(tool: str, arguments: dict = None):
response = requests.post(
f'{API_URL}/tools/execute',
headers={'X-API-Key': API_KEY},
json={'tool': tool, 'arguments': arguments or {}}
)
return response.json()
# Exemple d'utilisation
stats = execute_tool('get_user_stats', {'period': 'month'})
print('Statistiques:', stats['data'])
races = execute_tool('get_today_races')
print('Courses du jour:', races['data'])
cURL
curl -X POST https://bettracker.io/api/tools/execute \
-H "X-API-Key: btk_votre_clé" \
-H "Content-Type: application/json" \
-d '{
"tool": "get_user_stats",
"arguments": {"period": "month"}
}'
🛡️ Sécurité
- ✅ Ne partagez jamais votre clé API
- ✅ Utilisez HTTPS en production (fourni par défaut)
- ✅ Révoquez les clés compromises immédiatement
- ✅ Régénérez vos clés régulièrement
📊 Limites
- Rate limit : 100 requêtes / minute
- Timeout : 30 secondes par requête
- Taille max : 1 MB par requête
🔄 Codes d'erreur
| Code | Description | |------|-------------| | 200 | Succès | | 400 | Requête invalide | | 401 | Clé API invalide ou manquante | | 404 | Outil non trouvé | | 429 | Trop de requêtes (rate limit dépassé) | | 500 | Erreur serveur |