Intégration ChatGPT

Documentation complète et exemples pratiques

💬 Intégration ChatGPT

Méthode 1 : Custom GPT (Recommandé)

Créer un Custom GPT

  1. Allez sur chat.openai.com
  2. Cliquez sur votre nom > My GPTs > Create a GPT
  3. 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

  1. Dans Authentication, sélectionnez API Key
  2. Header name : X-API-Key
  3. 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

💡 Besoin d'aide ?

Consultez notre chatbot IA pour une assistance personnalisée

Ouvrir le chatbot →

🔑 Clé API

Générez votre clé API pour utiliser ces intégrations

Gérer mes clés →

📊 Statistiques

Explorez vos données PMU et paris hippiques

Voir mes stats →