Présentation de Meeting BaaS v2

La prochaine génération de notre API — conçue pour la scalabilité, la transparence et la sécurité

Paris, 5 décembre 2025


Après 5 mois de développement, nous avons le plaisir de vous présenter Meeting BaaS API v2. Il s'agit d'une refonte complète de notre backend, incluant à la fois l'API publique et les services internes. v2 répond à 90 % des défis que nous avons rencontrés avec nos utilisateurs et développeurs au cours de 2 ans de développement de Meeting BaaS. Elle est conçue pour prendre en charge des millions d'enregistrements par mois.

L'API v2 est désormais disponible avec un dashboard entièrement repensé. Connectez-vous ou inscrivez-vous pour accéder au dashboard v2.

Conçu à partir de vos retours

Les principaux défis que nous avons rencontrés à grande échelle, pour nous-mêmes et pour nos utilisateurs, incluaient :

  • la gestion des webhooks à grande échelle,
  • la gestion élégante des erreurs,
  • le besoin d'une meilleure visibilité sur les opérations
  • un meilleur contrôle sur la sécurité.

L'API v2 apporte une réponse à chacun de ces obstacles, avec des fonctionnalités permettant de rendre l'API plus puissante.

Démarrage rapide avec v2

La prise en main de l'API v2 est simple. Voici comment envoyer votre premier bot, en utilisant le SDK TypeScript officiel ou du HTTP brut :

install-sdk.sh
pnpm add @meeting-baas/sdk
send_bot_v2.ts
import { createBaasClient } from "@meeting-baas/sdk";

const client = createBaasClient({
  api_key: "YOUR_API_KEY",
});

async function sendBot() {
  const { success, data, error } = await client.joinMeeting({
    meeting_url: "https://meet.google.com/abc-defg-hij",
    bot_name: "Meeting Assistant",
    recording_mode: "speaker_view",
    transcription_enabled: true,
    transcription_config: {
      provider: "gladia",
    },
  });

  if (success) {
    console.log("Bot created:", data.bot_id);
  } else {
    console.error("Error creating bot:", error);
  }
}
send_bot_v2.sh
curl -X POST "https://api.meetingbaas.com/v2/bots" \
     -H "Content-Type: application/json" \
     -H "x-meeting-baas-api-key: YOUR_API_KEY" \
     -d '{
           "meeting_url": "https://meet.google.com/abc-defg-hij",
           "bot_name": "Meeting Assistant",
           "recording_mode": "speaker_view",
           "transcription_enabled": true,
           "transcription_config": {
             "provider": "gladia"
           }
         }'
send_bot_v2.py
import requests

response = requests.post(
    "https://api.meetingbaas.com/v2/bots",
    headers={
        "Content-Type": "application/json",
        "x-meeting-baas-api-key": "YOUR_API_KEY"
    },
    json={
        "meeting_url": "https://meet.google.com/abc-defg-hij",
        "bot_name": "Meeting Assistant",
        "recording_mode": "speaker_view",
        "transcription_enabled": True,
        "transcription_config": {"provider": "gladia"}
    }
)
# Response: {"success": true, "data": {"bot_id": "..."}}
print(response.json())

Quoi de neuf dans v2

Plus de puissance pour les développeurs :

  • Opérations par lots : Créez jusqu'à 100 bots en une seule requête avec prise en charge des succès partiels — idéal pour les opérations en masse
  • Filtrage avancé : Des paramètres de query puissants pour lister les bots et les événements, réduisant le besoin de filtrage côté client
  • Webhooks complets : Des événements webhook détaillés pour chaque opération, avec plusieurs endpoints pour router différents événements vers différents systèmes
  • Codes d'erreur standardisés : Des codes comme FST_ERR_BOT_NOT_FOUND_BY_ID, FST_ERR_INSUFFICIENT_TOKENS, FST_ERR_BOT_ALREADY_EXISTS permettent une gestion programmatique simple des erreurs
  • Documentation OpenAPI améliorée : Des schemas OpenAPI complets pour tous les endpoints, permettant un meilleur outillage et une meilleure sécurité des types. Vous pouvez l'ouvrir ou la télécharger via curl pour votre LLM.
Meeting BaaS v2 Dashboard Preview

Sécurité de niveau entreprise

Bien que nous ne soyons pas encore conformes SOC 2, v2 a été conçue avec la sécurité comme priorité principale. Notre code serveur est disponible en source ouverte dans le cadre de contrats on-premise et est régulièrement examiné et audité par nos clients entreprise.

  • Signature des webhooks : Tous les webhooks sont signés cryptographiquement via Svix, que nous hébergeons nous-mêmes au sein de notre infrastructure, garantissant l'intégrité et l'authenticité des messages
  • Clés API multiples : Créez des clés distinctes pour différents environnements, services ou permissions — fini le partage d'une seule clé à travers toute votre infrastructure
  • Permissions granulaires : Contrôle d'accès fin avec des clés « Sending Access » pour les opérations en écriture seule, idéal pour isoler les services de création de bots
  • Rotation des secrets : Si vous hébergez Meeting BaaS vous-même, effectuez la rotation des secrets webhook sans interruption de service, répondant aux exigences de conformité sans interruption de service

Intégration calendrier améliorée

L'intégration calendrier dans v2 a été entièrement reconstruite de bout en bout pour rendre la planification et l'automatisation à grande échelle plus simples, plus fiables et bien plus transparentes.

  • Calendriers sur tous les plans : L'intégration calendrier est désormais disponible sur tous les plans, du Pay‑as‑you‑go à l'Entreprise, vous n'avez donc plus besoin d'un contrat entreprise pour synchroniser des événements et déclencher des bots depuis des calendriers.

  • Vos propres identifiants : Utilisez vos propres applications OAuth pour Google et Microsoft au lieu de vous appuyer sur des intégrations partagées et opaques. Lors de la création d'une connexion via POST /v2/calendars, vous fournissez oauth_client_id, oauth_client_secret, oauth_refresh_token et raw_calendar_id, vous donnant un contrôle total sur la rotation des identifiants, les écrans de consentement et la posture de sécurité.

  • Endpoints calendrier enrichis : v2 expose un ensemble complet d'endpoints pour gérer l'intégralité du cycle de vie du calendrier depuis votre backend :

    • POST /v2/calendars – Créer des connexions calendrier pour des utilisateurs spécifiques ou des comptes de service
    • GET /v2/calendars / GET /v2/calendars/:calendar_id – Lister toutes les connexions et inspecter une connexion en détail
    • POST /v2/calendars/list-raw – Prévisualiser les calendriers du fournisseur avant de créer une connexion, idéal pour les flux d'association de comptes
    • POST /v2/calendars/:calendar_id/sync – Forcer une resynchronisation des événements lorsque vous avez besoin d'une cohérence immédiate
    • POST /v2/calendars/:calendar_id/bots – Planifier des bots pour des événements calendrier sans calculer manuellement les horaires
    • PATCH /v2/calendars/:calendar_id / DELETE /v2/calendars/:calendar_id – Mettre à jour les identifiants ou supprimer proprement les connexions
  • Prise en charge des événements et des séries : Vous pouvez travailler avec des événements uniques et des séries récurrentes de manière uniforme en utilisant :

    • GET /v2/calendars/:calendar_id/events – Lister les événements à venir pour un calendrier
    • GET /v2/calendars/:calendar_id/events/:event_id – Récupérer les détails complets d'un événement spécifique
    • GET /v2/calendars/:calendar_id/series – Inspecter les séries récurrentes et leurs instances
  • Synchronisation en temps réel des calendriers Microsoft : v2 ajoute des capacités de synchronisation en temps réel pour les calendriers Microsoft, de sorte que les modifications apportées aux calendriers Outlook et Microsoft 365 sont répercutées dans Meeting BaaS en quelques secondes au lieu de quelques minutes, rendant les flux scheduleCalendarRecordEvent plus prévisibles.

  • Webhooks calendrier dédiés et fiabilité : De nouveaux événements webhook tels que calendar.connection_created, calendar.connection_error, calendar.events_synced, calendar.event_created, calendar.event_updated, and calendar.event_cancelled vous donnent une image claire de l'état de synchronisation et des changements au fil du temps. Des endpoints dédiés pour la réabonnement et la resynchronisation vous permettent de récupérer rapidement après des problèmes de fournisseur sans intervention manuelle.

  • Interface calendrier dédiée : Le dashboard v2 inclut une interface calendrier dédiée où vous pouvez inspecter les connexions, voir l'état de synchronisation et les webhooks récents, debug les échecs et confirmer quels événements ont des bots associés — sans avoir à fouiller dans les logs bruts.

  • Bots liés aux événements : Dans v2, les bots planifiés sont des citoyens de première classe dans le flux calendrier. Vous pouvez créer, mettre à jour et annuler des bots directement sur des événements calendrier, ce qui supprime beaucoup de code de liaison personnalisé, réduit les conditions de concurrence liées aux modifications de dernière minute et fait de « enregistrer chaque standup dans ce calendrier » une configuration en une ligne plutôt qu'un workflow sur mesure.

Une base pour l'avenir

Meilleure visibilité sur les opérations de votre bot :

  • Réponses d'erreur standardisées : Chaque erreur suit un format {success, data, error} cohérent avec des codes d'erreur programmatiques
  • Clarté du rate limit : Des rate limits clairs par équipe avec des messages d'erreur transparents lorsque les limites sont approchées
  • Gestion des tokens : Visibilité en temps réel sur la consommation, la réservation et la disponibilité des tokens avec des dashboards d'utilisation détaillés
  • Suivi de la livraison des webhooks : Surveillez l'état de livraison des webhooks, consultez l'historique des messages et renvoyez les livraisons échouées

Exemple de structure de response v2 :

response_format.json
{
  "success": true,
  "data": {
    "bot_id": "123e4567-e89b-12d3-a456-426614174000",
    "status": "joining"
  }
}

Exemple de réponse d'erreur :

error_response.json
{
  "success": false,
  "error": "Not Found",
  "message": "Bot with ID 'bot_abc123' not found",
  "code": "FST_ERR_BOT_NOT_FOUND_BY_ID",
  "statusCode": 404,
  "details": null
}

Événements webhook dans v2

v2 fournit des événements webhook complets avec une structure de payload cohérente :

webhook_bot_completed.json
{
  "event": "bot.completed",
  "data": {
    "bot_id": "123e4567-e89b-12d3-a456-426614174000",
    "meeting_url": "https://meet.google.com/abc-defg-hij",
    "raw_transcription": "https://s3.amazonaws.com/.../raw_transcription.json",
    "transcription": "https://s3.amazonaws.com/.../output_transcription.json",
    "transcription_ids": ["gladia-job-12345"],
    "transcription_provider": "gladia",
    "recording": "https://s3.amazonaws.com/.../recording.mp4"
  },
  "sent_at": "2025-12-05T11:01:45Z"
}

Nouveaux types d'événements webhook dans v2 :

Si vous devez récupérer après des problèmes de livraison, vous pouvez renvoyer le webhook final ou réessayer un callback de bot pour un bot spécifique. Pour un aperçu complet des payloads de callback et de leur comportement, consultez la documentation des callbacks.

Opérations par lots

Créez plusieurs bots en une seule requête avec prise en charge des succès partiels :

batch_create.sh
curl -X POST "https://api.meetingbaas.com/v2/bots/batch" \
     -H "Content-Type: application/json" \
     -H "x-meeting-baas-api-key: YOUR_API_KEY" \
     -d '[
           {
             "meeting_url": "https://meet.google.com/abc-defg-hij",
             "bot_name": "Bot 1",
             "recording_mode": "speaker_view"
           },
           {
             "meeting_url": "https://zoom.us/j/123456789",
             "bot_name": "Bot 2",
             "recording_mode": "gallery_view"
           }
         ]'

Fonctionnalités supplémentaires

v2 rend évolutive toute logique métier impliquant des bots de meeting :

FonctionnalitéDescription
DéduplicationProtection intégrée contre la création de bots en double avec un flag allow_multiple_bots configurable
Bots planifiésEndpoints dédiés (/v2/bots/scheduled) avec prise en charge complète de la mise à jour, suppression et traitement par lots
Transcription amélioréeIntégration Gladia avec prise en charge BYOK, résumés LLM, traduction, vocabulaire personnalisé
Suppression automatique des donnéesRétention basée sur le plan (3 à 30 jours) avec nettoyage automatique
Statut en temps réelMises à jour d'état granulaires avec événements webhook bot.status_change
Stockage S3URLs présignées pour tous les artefacts avec gestion automatique du cycle de vie
Conception orientée équipesToutes les ressources appartiennent à des équipes avec des rôles de membres et des limites au niveau de l'équipe
Système de supportSystème de tickets intégré lié à des bots spécifiques avec suivi du statut
Nouveau dashboardInterface entièrement repensée avec visualisation de l'historique des statuts

Ce qui arrive ensuite

Nous développons activement de nouvelles fonctionnalités basées sur vos retours.

  • Fournisseurs de transcription supplémentaires : Une API unifiée pour tous les principaux services de transcription. Les fournisseurs prévus incluent :
    • Deepgram
    • Gladia
    • Assembly AI
    • OpenAI Whisper
    • Speechmatics
    • Google Speech
    • Azure Speech
    • ... Étant donné que la transcription dans v2 est conçue d'abord comme BYOK, chaque requête s'exécute dans votre propre compte fournisseur — tous les jobs, l'utilisation et la facturation restent visibles dans le dashboard du fournisseur, et nous renvoyons l'identifiant de job unique du fournisseur afin que vous puissiez croiser les logs, debug les problèmes et auditer l'activité de bout en bout.
  • Stockage de données par région : Stockez vos données de meeting dans des régions géographiques spécifiques pour répondre aux exigences de conformité et de résidence des données
  • Capture vidéo en vue galerie : Enregistrement vidéo amélioré avec mode vue galerie pour une meilleure couverture des meetings avec plusieurs participants

Une migration simplifiée

Nous comprenons que la migration d'API peut représenter un effort considérable. C'est pourquoi nous avons rendu la transition aussi fluide que possible :

  • Fonctionnement en parallèle : v1 et v2 fonctionnent simultanément — migrez à votre propre rythme
  • Guide de migration complet : Instructions pas à pas pour passer de v1 à v2
  • Import de tokens : Importez vos tokens v1 restants vers v2 via le dashboard — vous pouvez effectuer plusieurs imports selon vos besoins
  • Même authentification : Utilisez l'header x-meeting-baas-api-key — aucun nouveau flux d'authentification à apprendre

Remarque : Les données de bots, les connexions calendrier et les bots planifiés de v1 ne sont pas automatiquement migrés. Vous devrez recréer les connexions calendrier et les bots planifiés dans v2.

Démarrer

L'API v2 est désormais disponible. v1 et v2 fonctionneront en parallèle, vous laissant le temps d'évaluer et de migrer quand vous serez prêt. Pour les nouvelles intégrations, nous recommandons de commencer avec v2 pour profiter de toutes les améliorations dès le premier jour.

Prêt à démarrer ? Créez votre compte gratuit et déployez votre premier bot en quelques minutes.

Ressources :

Des questions ou des retours ? Nous serions ravis de vous entendre. L'API v2 représente des mois de travail, mais ce n'est que le début. Vos retours façonnent ce que nous construisons ensuite.


© 2025 SAS SPOKE — Meeting BaaS (Meeting Bot as a Service) 🐟