Meeting BaaS v2 のご紹介
スケール、透明性、セキュリティのために構築された次世代 API
パリ、2025年12月5日
5ヶ月の開発期間を経て、Meeting BaaS API v2 を正式にご紹介できることを嬉しく思います。これはパブリック API と内部サービスの両方を含む、バックエンドの完全な再設計です。v2 は、Meeting BaaS を構築してきた2年間でユーザーや開発者が直面した課題の90%に対処しています。月間数百万件の録画をサポートするように構築されています。
API v2 が完全に再設計されたdashboardとともに利用可能になりました。ログインまたはサインアップして v2 dashboard にアクセスする。
お客様のフィードバックをもとに構築
大規模運用において私たち自身やユーザーが直面した主な課題は以下の通りです:
- 大規模での webhook 管理
- エラーの適切な処理
- 運用への可視性の向上
- セキュリティに対するより多くのコントロール
API v2 はこれらの課題それぞれに対する答えを提供し、API をより強力にするための機能を備えています。
v2 クイックスタート
API v2 の使い始めは簡単です。公式 TypeScript SDK または生の HTTP を使用して、最初の bot を送信する方法をご紹介します:
pnpm add @meeting-baas/sdkimport { 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);
}
}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"
}
}'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())v2 の新機能
開発者向けの強化された機能:
- バッチ操作: 部分的な成功サポートを備えた1回のリクエストで最大100個の bot を作成 — 一括操作に最適
- 高度なフィルタリング: bot とイベントの一覧表示のための強力な query パラメータにより、クライアント側のフィルタリングの必要性を軽減
- 包括的な Webhooks: すべての操作に対する詳細な webhook イベントと、異なるイベントを異なるシステムにルーティングするための複数の endpoint
- 標準化されたエラーコード:
FST_ERR_BOT_NOT_FOUND_BY_ID、FST_ERR_INSUFFICIENT_TOKENS、FST_ERR_BOT_ALREADY_EXISTSなどのコードにより、プログラムによるエラー処理が容易に - 改善された OpenAPI ドキュメント: すべての endpoint に対する完全な OpenAPI schema により、より優れたツーリングと型安全性を実現。LLM 向けに curl でオープンまたはダウンロードすることも可能です。
エンタープライズグレードのセキュリティ
現時点では SOC 2 準拠ではありませんが、v2 はセキュリティを主要な焦点として設計されています。当社のサーバーコードはオンプレミス契約の下でソース利用可能であり、エンタープライズのお客様によって定期的にレビューおよび監査されています。
- Webhook 署名: すべての webhook は、自社インフラ内でセルフホストしている Svix を使用して暗号的に署名されており、メッセージの整合性と真正性を保証
- 複数の API キー: 異なる環境、サービス、または権限に対して個別のキーを作成 — インフラ全体で単一のキーを共有する必要はもうありません
- 細かな権限管理: 書き込み専用操作のための「送信アクセス」キーによるきめ細かいアクセス制御。bot 作成サービスの分離に最適
- シークレットのローテーション: Meeting BaaS をセルフホストしている場合、ダウンタイムなしに webhook シークレットをローテーションでき、サービス中断なしにコンプライアンス要件を満たせます
カレンダー連携の改善
v2 のカレンダー連携は、大規模なスケジューリングと自動化をより簡単で信頼性が高く、より透明性の高いものにするために、エンドツーエンドで再構築されました。
-
すべてのプランでカレンダー対応: カレンダー連携が Pay-as-you-go からエンタープライズまで、すべてのプランで利用可能になりました。カレンダーからイベントを同期したり bot をトリガーするためだけにエンタープライズ契約は不要です。
-
独自クレデンシャルの持ち込み: 不透明な共有連携に頼らず、Google と Microsoft に自身の OAuth アプリを使用できます。
POST /v2/calendars経由で接続を作成する際に、oauth_client_id、oauth_client_secret、oauth_refresh_token、raw_calendar_idを提供することで、クレデンシャルのローテーション、同意画面、セキュリティポスチャを完全にコントロールできます。 -
充実したカレンダー Endpoint: v2 はバックエンドからカレンダーのライフサイクル全体を管理するための完全な endpoint セットを公開しています:
POST /v2/calendars– 特定のユーザーまたはサービスアカウントのカレンダー接続を作成GET /v2/calendars/GET /v2/calendars/:calendar_id– すべての接続を一覧表示し、単一の接続を詳細に確認POST /v2/calendars/list-raw– 接続を作成する前にプロバイダーのカレンダーをプレビュー。アカウントリンクフローに最適POST /v2/calendars/:calendar_id/sync– 即時の一貫性が必要な場合にイベントの再同期を強制POST /v2/calendars/:calendar_id/bots– 時間を手動で計算せずにカレンダーイベントに対して bot をスケジュールPATCH /v2/calendars/:calendar_id/DELETE /v2/calendars/:calendar_id– クレデンシャルを更新するか接続をクリーンに削除
-
イベントとシリーズのサポート: 以下を使用して単一イベントと繰り返しシリーズを統一的な方法で扱えます:
GET /v2/calendars/:calendar_id/events– カレンダーの今後のイベントを一覧表示GET /v2/calendars/:calendar_id/events/:event_id– 特定のイベントの全詳細を取得GET /v2/calendars/:calendar_id/series– 繰り返しシリーズとそのインスタンスを確認
-
Microsoft カレンダーのリアルタイム同期: v2 は Microsoft カレンダーのリアルタイム同期機能を追加し、Outlook と Microsoft 365 カレンダーへの変更が数分ではなく数秒以内に Meeting BaaS に反映されるようになり、scheduleCalendarRecordEvent フローがより予測可能になります。
-
専用カレンダー Webhook と信頼性:
calendar.connection_created、calendar.connection_error、calendar.events_synced、calendar.event_created、calendar.event_updated, andcalendar.event_cancelledなどの新しい webhook イベントにより、同期の健全性と経時的な変更を明確に把握できます。再サブスクリプションと再同期のための専用 endpoint により、手動介入なしにプロバイダーの問題から迅速に回復できます。 -
専用カレンダー UI: v2 dashboard には専用のカレンダー UI が含まれており、接続の確認、同期ステータスと最近の webhook の表示、失敗の debug、どのイベントに bot が紐付いているかの確認が、生のログを掘り下げることなく行えます。
-
イベントに紐付いた Bot: v2 では、スケジュールされた bot はカレンダーフローのファーストクラスの市民です。カレンダーイベントに対して直接 bot を作成、更新、キャンセルできるため、カスタムのグルーコードが大幅に削減され、直前の変更に関するレースコンディションが減少し、「このカレンダーのすべての standup を録画する」という設定が独自の workflow ではなく1行の設定になります。
未来への基盤
Bot 操作への可視性の向上:
- 標準化されたエラーレスポンス: すべてのエラーはプログラムによるエラーコードを持つ一貫した
{success, data, error}フォーマットに従います - Rate Limit の明確化: 制限に近づいた際の透明なエラーメッセージを含む、明確なチームごとの rate limit
- Token 管理: 詳細な使用状況 dashboard を使用した token 消費、予約、可用性へのリアルタイムの可視性
- Webhook 配信追跡: webhook 配信ステータスの監視、メッセージ履歴の表示、失敗した配信の再送信
v2 response 構造の例:
{
"success": true,
"data": {
"bot_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "joining"
}
}エラー response の例:
{
"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
}v2 の Webhook イベント
v2 は一貫した payload 構造を持つ包括的な webhook イベントを提供します:
- Webhooks 概要 — v2 における bot とカレンダーの webhook 動作に関する完全ガイド
- Callbacks リファレンス —
bot.completedとbot.failedの正規化された callback payload
{
"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"
}v2 の新しい webhook イベントタイプ:
bot.status_change— Bot ステータスの遷移bot.completed— Bot が録画を完了bot.failed— Bot がエラー詳細とともに失敗calendar.connection_created— カレンダー接続が確立calendar.events_synced— カレンダーイベントが同期calendar.event_created/calendar.event_updated/calendar.event_cancelled
配信の問題から回復する必要がある場合は、特定の bot に対して 最終 webhook を再送信 するか、bot callback を再試行 することができます。callback payload と動作の完全な概要については、Callbacks ドキュメント をご覧ください。
バッチ操作
部分的な成功サポートを備えた1回のリクエストで複数の bot を作成:
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"
}
]'追加機能
v2 は、ミーティング bot を含むあらゆるビジネスロジックをスケーラブルにします:
| 機能 | 説明 |
|---|---|
| 重複排除 | 設定可能な allow_multiple_bots フラグによる重複 bot 作成に対する組み込み保護 |
| スケジュール Bot | 完全な更新、削除、バッチサポートを備えた専用 endpoint(/v2/bots/scheduled) |
| 強化された文字起こし | BYOK サポート付き Gladia 連携、LLM サマリー、翻訳、カスタム語彙 |
| 自動データ削除 | 自動クリーンアップによるプランベースの保持期間(3〜30日) |
| リアルタイムステータス | bot.status_change webhook イベントによる詳細な状態更新 |
| S3 ストレージ | 自動ライフサイクル管理によるすべてのアーティファクトの署名付き URL |
| チームファーストの設計 | すべてのリソースはメンバーロールとチームレベルの制限を持つチームに属します |
| サポートシステム | ステータス追跡付きで特定の bot にリンクされた組み込みチケットシステム |
| 新しい Dashboard | ステータス履歴の可視化を備えた完全に再設計された UI |
次に予定されている機能
皆様のフィードバックをもとに新機能を積極的に開発中です。
- 追加の文字起こしプロバイダー: すべての主要な文字起こしサービスに対応した1つの統合 API。予定されているプロバイダーには以下が含まれます:
- Deepgram
- Gladia
- Assembly AI
- OpenAI Whisper
- Speechmatics
- Google Speech
- Azure Speech
- ... v2 の文字起こしは BYOK ファーストとして設計されているため、すべてのリクエストはご自身のプロバイダーアカウントで実行されます — すべてのジョブ、使用状況、請求はプロバイダーの dashboard で確認でき、log のクロスリファレンス、問題の debug、アクティビティのエンドツーエンドの監査ができるようにプロバイダー固有のジョブ ID を返します。
- リージョン固有のデータストレージ: コンプライアンスとデータレジデンシーの要件を満たすために、特定の地理的リージョンにミーティングデータを保存
- ギャラリービュー動画キャプチャ: より優れたマルチ参加者ミーティングのカバレッジのためのギャラリービューモードによる強化された録画
シンプルなマイグレーション
API の移行は大きな作業になり得ることを理解しています。そのため、移行をできるだけスムーズにしました:
- 並行運用: v1 と v2 は同時に稼働 — ご自身のペースで移行できます
- 包括的なマイグレーションガイド: v1 から v2 への移行のステップバイステップの手順
- Token インポート: dashboard を通じて残りの v1 token を v2 にインポート — 必要に応じて複数回インポート可能
- 同じ認証方式:
x-meeting-baas-api-keyheader を使用 — 新しい認証フローを学ぶ必要はありません
注意: v1 の Bot データ、カレンダー接続、スケジュールされた bot は自動的に移行されません。v2 でカレンダー接続とスケジュールされた bot を再作成する必要があります。
はじめる
API v2 が利用可能になりました。v1 と v2 は並行して稼働するため、準備ができたときに評価して移行する時間があります。新しい連携の場合は、初日からすべての改善点を活用するために v2 から始めることをお勧めします。
始める準備はできましたか?無料アカウントを作成して、数分で最初の bot を deploy しましょう。
リソース:
- v2 Dashboard にアクセス
- API v2 ドキュメントを探索
- 新機能を見る
- マイグレーションガイド
- クイックスタートガイド
- Webhooks & Callbacks — bot とカレンダーの完全なイベントおよび callback リファレンス
- TypeScript SDK — Meeting BaaS API v2 向け公式 SDK v6.0.0(npm)
ご質問やフィードバックがございましたら、ぜひお聞かせください。API v2 は数ヶ月にわたる作業の成果ですが、これはまだ始まりに過ぎません。皆様のフィードバックが次に構築するものを形作ります。
© 2025 SAS SPOKE — Meeting BaaS (Meeting Bot as a Service) 🐟