API Bots

Déployez des bots IA dans les réunions instantanément

L'API Bots vous permet de déployer des bots alimentés par l'IA dans les réunions Google Meet, Microsoft Teams et Zoom pour l'enregistrement, la transcription et la surveillance d'événements en direct.

  • Envoyer des bots aux réunions instantanément ou planifier à l'avance
  • Enregistrer audio/vidéo ou rejoindre en mode audio uniquement
  • Activer la transcription en direct et l'identification des locuteurs
  • Personnaliser le nom du bot, l'avatar et le message d'entrée
  • Recevoir des webhooks de statut et de fin en temps réel

Les bots Meeting BaaS agissent comme de vrais participants de réunion, fournissant une intégration transparente pour les cas d'usage d'automatisation, de conformité et d'analyse.

Fonctionnalités principales

  • Support multi-plateforme : Google Meet, Microsoft Teams, Zoom
  • Rejoindre instantanément ou planifié : Déployer des bots immédiatement ou réserver pour les réunions futures
  • Modes d'enregistrement : Vue du locuteur, vue galerie, ou audio uniquement
  • Transcription : En direct ou post-réunion, avec plusieurs options de fournisseurs
  • Bots personnalisables : Nom, avatar, message d'entrée, et plus
  • Webhooks : Notifications de statut, de fin et d'erreur en temps réel
  • Options avancées : Diffusion WebSocket, déduplication, et plus

Types d'événements webhook des bots

Les bots Meeting BaaS envoient les événements webhook suivants à votre endpoint :

  • complete : Le bot a terminé l'enregistrement, la transcription et le MP4 sont disponibles
  • failed : Le bot n'a pas pu rejoindre ou enregistrer la réunion (avec détails d'erreur)
  • transcription_complete : Transcription terminée (après retranscription ou tâche asynchrone)
  • bot.status_change : Mises à jour de statut en direct (rejoindre, en appel, enregistrement, en pause, terminé, etc.)

Voir ci-dessous pour des exemples de charges utiles webhook.

{
  "event": "complete",
  "bot_id": "bot_123456",
  "meeting_url": "https://meet.google.com/abc-defg-hij",
  "recording_url": "https://api.meetingbaas.com/recordings/bot_123456.mp4",
  "transcript_url": "https://api.meetingbaas.com/transcripts/bot_123456.json",
  "duration": 3600,
  "participants": 5,
  "created_at": "2024-01-01T12:00:00Z"
}

Utilisation de l'API

L'API Bots fournit des endpoints pour :

  • Envoyer un bot à une réunion (POST /bots)
  • Supprimer un bot d'une réunion (DELETE /bots/{bot_id})
  • Lister les bots et les métadonnées de réunion
  • Retranscrire une réunion (POST /bots/retranscribe)
  • Obtenir les données de réunion, captures d'écran, et plus

L'authentification se fait via votre clé API Meeting BaaS. Voir les exemples de code pour savoir comment envoyer, supprimer et interagir avec les bots programmatiquement.

Exemples d'utilisation de l'API

Ci-dessous sont des exemples pour envoyer un bot à une réunion dans différents langages de programmation :

join_meeting.sh
curl -X POST "https://api.meetingbaas.com/bots" \
     -H "Content-Type: application/json" \
     -H "x-meeting-baas-api-key: YOUR-API-KEY" \
     -d '{
           "meeting_url": "YOUR-MEETING-URL",
           "bot_name": "IA Notetaker",
           "recording_mode": "speaker_view",
           "bot_image": "https://example.com/bot.jpg",
           "entry_message": "Je suis un bon bot de réunion :)",
           "reserved": false,
           "speech_to_text": {
             "provider": "Default"
           },
           "automatic_leave": {
             "waiting_room_timeout": 600
           }
         }'
join_meeting.py
import requests
url = "https://api.meetingbaas.com/bots"
headers = {
    "Content-Type": "application/json",
    "x-meeting-baas-api-key": "YOUR-API-KEY",
}
config = {
    "meeting_url": "YOUR-MEETING-URL",
    "bot_name": "IA Notetaker",
    "recording_mode": "speaker_view",
    "bot_image": "https://example.com/bot.jpg",
    "entry_message": "Je suis un bon bot de réunion :)",
    "reserved": False,
    "speech_to_text": {
        "provider": "Default"
    },
    "automatic_leave": {
        "waiting_room_timeout": 600  # 10 minutes en secondes
    }
}
response = requests.post(url, json=config, headers=headers)
print(response.json())
join_meeting.js
fetch("https://api.meetingbaas.com/bots", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-meeting-baas-api-key": "YOUR-API-KEY",
  },
  body: JSON.stringify({
    meeting_url: "YOUR-MEETING-URL",
    bot_name: "IA Notetaker",
    reserved: false,
    recording_mode: "speaker_view",
    bot_image: "https://example.com/bot.jpg",
    entry_message: "Je suis un bon bot de réunion :)",
    speech_to_text: {
      provider: "Default",
    },
    automatic_leave: {
      waiting_room_timeout: 600,
    },
  }),
})
  .then((response) => response.json())
  .then((data) => console.log(data.bot_id))
  .catch((error) => console.error("Error:", error));

Exemple de bot parlant

Voici comment créer un bot parlant qui peut participer activement aux réunions :

speaking_bot.py
import requests

def creer_bot_parlant():
    url = "https://api.meetingbaas.com/bots"
    headers = {
        "Content-Type": "application/json",
        "x-meeting-baas-api-key": "YOUR-API-KEY"
    }
    
    payload = {
        "meeting_url": "YOUR-MEETING-URL",
        "bot_name": "Assistant IA",
        "recording_mode": "speaker_view",
        "entry_message": "Bonjour ! Je suis votre assistant IA pour cette réunion.",
        "speaking_bot": {
            "enabled": True,
            "persona": "assistant utile",
            "knowledge_base": "directives_reunion",
            "voice_settings": {
                "voice": "fr-FR-Neural2-A",
                "speed": 1.0
            }
        },
        "speech_to_text": {
            "provider": "Default"
        }
    }
    
    response = requests.post(url, headers=headers, json=payload)
    return response.json()

# Créer un bot parlant
resultat = creer_bot_parlant()
print(resultat)
Fonctionnalités d'aperçu de l'API Meeting BaaS

Commencer

Prêt à déployer des bots dans vos réunions ? Consultez notre documentation complète :