SDK TypeScript

Le SDK v5 est arrivé, repensé

Le SDK TypeScript est le package officiellement supporté qui permet aux développeurs d'intégrer l'API Meeting BaaS - l'interface universelle pour automatiser les réunions sur Google Meet, Zoom et Microsoft Teams.

🚀 Nouveau dans v5.0.0 : Refonte architecturale complète avec un support TypeScript amélioré, une meilleure gestion des erreurs et une expérience développeur améliorée. Consultez le guide de migration pour les instructions de mise à niveau.

  • Sécurité de type complète avec des définitions TypeScript exhaustives
  • Mises à jour automatiques synchronisées avec notre spécification OpenAPI
  • Accès simplifié à toutes les capacités d'automatisation des réunions
  • Cohérence multiplateforme pour tous les fournisseurs de réunions supportés
  • Gestion des erreurs améliorée avec des réponses d'union discriminées
  • Validation des paramètres avec validation automatique des schémas Zod
  • Bundle tree-shakeable pour de meilleures performances

Fonctionnalités principales

  • Client API BaaS : Fonctions fortement typées pour interagir avec l'API Meeting BaaS
  • Gestion des bots : Créer, rejoindre et gérer des bots de réunion sur toutes les plateformes
  • Intégration calendrier : Connecter les calendriers et programmer automatiquement les enregistrements de réunion
  • Couverture API complète : Accès à tous les endpoints de l'API Meeting BaaS
  • Support TypeScript : Définitions TypeScript complètes pour toutes les APIs
  • Gestion des erreurs améliorée : Réponses d'union discriminées pour une gestion des erreurs type-safe
  • Validation des paramètres : Validation automatique des schémas Zod pour tous les appels API
  • Tree-shakeable : Importez uniquement les méthodes dont vous avez besoin
  • Tests complets : Couverture de tests complète avec simulation MSW

Exigences système

  • Node.js : Version 18.0.0 ou supérieure
  • Gestionnaires de paquets : npm, yarn ou pnpm

Versions Node.js testées : 18, 19, 20, 21, 22

Installation

Installez le SDK Meeting BaaS en utilisant votre gestionnaire de paquets préféré :

npm-install.sh
npm install @meeting-baas/sdk
yarn-install.sh
yarn add @meeting-baas/sdk
pnpm-install.sh
pnpm add @meeting-baas/sdk

Démarrage rapide

Créez une nouvelle instance du client BaaS avec votre clé API :

basic-usage.ts
import { createBaasClient } from "@meeting-baas/sdk";

// Créer un client BaaS
const client = createBaasClient({
  api_key: "your-api-key", // Obtenez la vôtre sur https://meetingbaas.com
});

async function example() {
  // Rejoindre une réunion
  const { success, data, error } = await client.joinMeeting({
    bot_name: "Assistant de réunion",
    meeting_url: "https://meet.google.com/abc-def-ghi",
    reserved: true,
  });
  
  if (success) {
    console.log("Bot rejoint avec succès:", data.bot_id);
  } else {
    console.error("Erreur lors de la jonction de la réunion:", error);
  }
}
advanced-usage.ts
import { createBaasClient } from "@meeting-baas/sdk";

const client = createBaasClient({
  api_key: "your-api-key",
  timeout: 60000
});

async function comprehensiveExample() {
  // Rejoindre une réunion avec toutes les options
  const joinResult = await client.joinMeeting({
    meeting_url: "https://meet.google.com/abc-defg-hij",
    bot_name: "Bot de test avancé",
    reserved: false,
    bot_image: "https://example.com/bot-image.jpg",
    enter_message: "Bonjour du bot de test avancé !",
    extra: { test_id: "advanced-example" },
    recording_mode: "speaker_view",
    speech_to_text: { provider: "Gladia" },
    webhook_url: "https://example.com/webhook"
  });

  if (joinResult.success) {
    const botId = joinResult.data.bot_id;
    console.log("Bot rejoint avec l'ID:", botId);

    // Obtenir les données de réunion avec transcriptions
    const meetingDataResult = await client.getMeetingData({
      bot_id: botId,
      include_transcripts: true
    });

    if (meetingDataResult.success) {
      console.log("Durée de la réunion:", meetingDataResult.data.duration);
    }
  }
}

Intégration calendrier

Le SDK fournit des capacités complètes d'intégration calendrier :

calendar-integration.ts
import { createBaasClient } from "@meeting-baas/sdk";

const client = createBaasClient({
  api_key: "your-api-key",
});

// Créer une intégration calendrier
const calendarResult = await client.createCalendar({
  oauth_client_id: "your-oauth-client-id",
  oauth_client_secret: "your-oauth-client-secret",
  oauth_refresh_token: "your-oauth-refresh-token",
  platform: "Google",
});

if (calendarResult.success) {
  console.log("Calendrier créé:", calendarResult.data);

  // Lister tous les calendriers
  const calendarsResult = await client.listCalendars();
  if (calendarsResult.success) {
    console.log("Tous les calendriers:", calendarsResult.data);
  }

  // Lister les événements d'un calendrier
  const eventsResult = await client.listCalendarEvents({
    calendar_id: calendarResult.data.calendar.uuid,
    start_date_gte: new Date().toISOString(),
    start_date_lte: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()
  });
  
  if (eventsResult.success) {
    console.log("Événements:", eventsResult.data);
  }
}

Gestion des erreurs

Le SDK fournit une gestion des erreurs type-safe avec des réponses d'union discriminées :

error-handling.ts
import { createBaasClient } from "@meeting-baas/sdk";

const client = createBaasClient({
  api_key: "your-api-key",
});

const result = await client.joinMeeting({
  meeting_url: "https://meet.google.com/abc-def-ghi",
  bot_name: "Mon Bot",
  reserved: false
});

if (result.success) {
  // TypeScript sait que result.data est JoinResponse
  console.log("ID du bot:", result.data.bot_id);
} else {
  // TypeScript sait que result.error est ZodError | Error
  if (result.error instanceof ZodError) {
    console.error("Erreur de validation:", result.error.errors);
  } else {
    console.error("Erreur API:", result.error.message);
  }
}

Migration depuis v4.x

Si vous mettez à niveau depuis v4.x, consultez le guide de migration pour des instructions de migration détaillées.

Fonctionnalités d'aperçu de l'API Meeting BaaS

Ressources