💬 Intégration ChatGPT
Méthode 1 : Custom GPT (Recommandé)
Créer un Custom GPT
- Allez sur chat.openai.com
- Cliquez sur votre nom > My GPTs > Create a GPT
- Dans Configure :
- Name : BetTracker Pro Assistant
- Description : Assistant intelligent pour gérer et analyser vos paris hippiques
- Instructions : Copiez le texte ci-dessous
Instructions du GPT
Tu es un assistant IA spécialisé dans l'analyse de paris hippiques avec BetTracker Pro.
Tu as accès à 11 outils pour aider l'utilisateur :
📊 STATISTIQUES & PARIS
1. get_user_stats - Statistiques globales (ROI, bankroll, win rate)
2. get_recent_bets - Derniers paris avec filtres (status, mode, limite)
3. get_bankroll_history - Évolution de la bankroll sur N jours
4. get_budget_status - État du budget (limites quotidiennes/hebdo/mensuelles)
🏇 COURSES & PRONOSTICS
5. get_today_races - Courses PMU du jour
6. get_ai_pronostics - Pronostics IA validés
7. search_races - Recherche de courses par hippodrome/date
8. get_pmu_race_analysis - Analyse complète d'une course
👤 COMPTE & NOTIFICATIONS
9. get_subscription_info - Informations d'abonnement
10. get_notifications - Notifications avec filtre lu/non lu
11. ask_ai_chat - Chatbot IA BetTracker (pour questions générales)
RÈGLES :
- Sois précis, concis et toujours en français
- Utilise les bons outils pour répondre aux questions
- Formate les données de manière lisible (tableaux, listes)
- Propose des analyses pertinentes basées sur les données
- Pour les questions générales sur les paris hippiques, utilise ask_ai_chat
Ajouter les Actions
Dans Actions, cliquez sur Create new action et collez ce schéma OpenAPI :
openapi: 3.0.0
info:
title: BetTracker Pro API
version: 1.0.0
description: API pour accéder aux données de paris hippiques BetTracker Pro
servers:
- url: https://bettracker.io/api
description: Serveur de production
paths:
/tools/execute:
post:
operationId: executeTool
summary: Execute a BetTracker tool
description: Exécute un outil BetTracker avec les arguments fournis
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- tool
properties:
tool:
type: string
description: Le nom de l'outil à exécuter
enum:
- get_user_stats
- get_recent_bets
- get_bankroll_history
- get_budget_status
- get_today_races
- get_ai_pronostics
- search_races
- get_pmu_race_analysis
- get_subscription_info
- get_notifications
- ask_ai_chat
arguments:
type: object
description: Arguments spécifiques à l'outil
responses:
'200':
description: Succès
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: object
'401':
description: Clé API invalide
'404':
description: Outil non trouvé
security:
- ApiKeyAuth: []
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Clé API BetTracker (btk_...)
Configuration de l'authentification
- Dans Authentication, sélectionnez API Key
- Header name :
X-API-Key - API Key : Votre clé BetTracker générée dans vos paramètres
✅ Tester votre Custom GPT
Posez ces questions à votre GPT :
- "Montre-moi mes statistiques de paris du mois"
- "Quelles sont les courses d'aujourd'hui ?"
- "Analyse mes 10 derniers paris"
- "Quel est mon budget restant cette semaine ?"
- "Y a-t-il des pronostics IA pour aujourd'hui ?"
Méthode 2 : API OpenAI (Avancé)
Utiliser l'API OpenAI avec Function Calling
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY
});
// Définir les outils BetTracker
const tools = [
{
type: 'function',
function: {
name: 'get_user_stats',
description: 'Obtenir les statistiques de paris de l\'utilisateur',
parameters: {
type: 'object',
properties: {
period: {
type: 'string',
enum: ['all', 'month', 'week'],
description: 'Période des statistiques'
}
}
}
}
},
{
type: 'function',
function: {
name: 'get_today_races',
description: 'Obtenir les courses PMU du jour',
parameters: {
type: 'object',
properties: {}
}
}
},
{
type: 'function',
function: {
name: 'get_ai_pronostics',
description: 'Obtenir les pronostics IA validés',
parameters: {
type: 'object',
properties: {
status: {
type: 'string',
enum: ['validated', 'pending', 'all'],
description: 'Statut des pronostics'
}
}
}
}
}
];
// Fonction pour exécuter un outil BetTracker
async function executeBetTrackerTool(toolName, args) {
const response = await fetch('https://bettracker.io/api/tools/execute', {
method: 'POST',
headers: {
'X-API-Key': process.env.BETTRACKER_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
tool: toolName,
arguments: args
})
});
return response.json();
}
// Conversation avec GPT
const messages = [
{ role: 'user', content: 'Montre-moi mes statistiques du mois et les courses d\'aujourd\'hui' }
];
const response = await openai.chat.completions.create({
model: 'gpt-4',
messages: messages,
tools: tools,
tool_choice: 'auto'
});
// Traiter les appels de fonction
if (response.choices[0].message.tool_calls) {
for (const toolCall of response.choices[0].message.tool_calls) {
const functionName = toolCall.function.name;
const functionArgs = JSON.parse(toolCall.function.arguments);
const result = await executeBetTrackerTool(functionName, functionArgs);
messages.push({
role: 'function',
name: functionName,
content: JSON.stringify(result.data)
});
}
// Obtenir la réponse finale
const finalResponse = await openai.chat.completions.create({
model: 'gpt-4',
messages: messages
});
console.log(finalResponse.choices[0].message.content);
}
📚 Ressources
- API REST - Documentation complète de l'API
- Serveur MCP - Intégration avec Claude Desktop
- Exemples de code - Plus d'exemples pratiques