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, win rate, mises, profit) ; argument period: all|month|week
2. get_recent_bets - Derniers paris ; argument limit (max 10)
3. get_budget_status - État du budget (limites quotidiennes/hebdo/mensuelles)
4. get_user_settings - Paramètres du compte

🏇 STATISTIQUES HIPPIQUES (sur les paris de l'utilisateur)
5. get_pmu_stats - Statistiques PMU globales
6. get_my_hippodromes - Hippodromes joués par l'utilisateur
7. get_hippodrome_stats - Statistiques sur un hippodrome ; argument code (requis)
8. get_my_bet_horses - Performances des chevaux joués
9. get_my_jockey_stats - Statistiques des jockeys joués
10. get_my_horse_jockey_combinations - Meilleures combinaisons cheval-jockey
11. get_my_cross_stats - Statistiques croisées

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 get_hippodrome_stats, récupère d'abord le code via get_my_hippodromes

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/v1
    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_budget_status
                    - get_user_settings
                    - get_pmu_stats
                    - get_my_hippodromes
                    - get_hippodrome_stats
                    - get_my_bet_horses
                    - get_my_jockey_stats
                    - get_my_horse_jockey_combinations
                    - get_my_cross_stats
                arguments:
                  type: object
                  description: Arguments spécifiques à l'outil (period, limit, code…)
      responses:
        '200':
          description: Succès
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  tool:
                    type: string
                  data:
                    type: object
        '400':
          description: Outil inconnu ou argument manquant
        '401':
          description: Clé API invalide
      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"
  • "Analyse mes 10 derniers paris"
  • "Quel est mon budget restant cette semaine ?"
  • "Sur quels hippodromes suis-je le plus rentable ?"
  • "Quelles sont mes meilleures combinaisons cheval-jockey ?"

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_recent_bets',
      description: 'Obtenir les derniers paris de l\'utilisateur',
      parameters: {
        type: 'object',
        properties: {
          limit: {
            type: 'number',
            description: 'Nombre de paris (max 10)'
          }
        }
      }
    }
  },
  {
    type: 'function',
    function: {
      name: 'get_my_hippodromes',
      description: 'Obtenir les hippodromes joués et leurs performances',
      parameters: {
        type: 'object',
        properties: {}
      }
    }
  }
];

// Fonction pour exécuter un outil BetTracker
async function executeBetTrackerTool(toolName, args) {
  const response = await fetch('https://bettracker.io/api/v1/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 mes hippodromes les plus rentables' }
];

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 →