🚀 Nhập Link Google Meet & Gọi Bot Vào Phòng
Khi bấm "🤖 Gọi Bot Vào", Bot sẽ mở trình duyệt thật, tự động điền tên và gửi yêu cầu xin vào phòng họp. Chủ trì (Host) đang ở trong Google Meet sẽ nhận được thông báo "Ai đó muốn tham gia cuộc gọi này" để bấm Chấp nhận (Admit) ngay lập tức.
📡 Trạng Thái Thực Tế Trong Phòng Họp & Màn Hình Quan Sát Bot
Mọi trạng thái dưới đây được đọc trực tiếp 100% từ màn hình Google Meet thực tế (tự động cập nhật mỗi 3 giây).
🎧 Kho Bản Ghi Âm Thực Tế Đã Thu Từ Cuộc Họp
Chỉ những cuộc họp mà Chủ trì (Host) đã duyệt cho Bot vào phòng và có thu âm thực tế mới xuất hiện tại đây.
📨 Nhật Ký Bắn Webhook Tự Động Về Hệ Thống Đích
➕ Cấp Phát API Key Cho Dự Án Kết Nối Mới
🔑 Danh Sách Các Dự Án & API Keys Đang Hoạt Động
Hướng Dẫn Tích Hợp API Cho Dự Án "Thần Nông - BO" & Bên Thứ 3
Bộ tài liệu REST API & Webhook Gateway chuẩn hóa giúp hệ thống Thần Nông - BO điều động Bot ghi âm và nhận tệp tự động.
mrb_live_...) và Webhook Secret (whsec_...).1 Điều động Bot vào phòng họp Google Meet
POST /api/v1/sessions/startHệ thống Thần Nông - BO gọi API này khi người dùng nhấn "Ghi âm cuộc họp". Bot sẽ mở Chromium, tắt Mic/Cam, tự động điền tên và bấm "Ask to join".
curl -X POST "http://localhost:3056/api/v1/sessions/start" \
-H "Content-Type: application/json" \
-H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>" \
-d '{
"meetingUrl": "https://meet.google.com/ssp-skjm-dqz",
"meetingTitle": "Họp Giao Ban Thần Nông BO #12",
"botName": "Trợ lý ghi âm Thần Nông",
"externalMeetingId": "tn_meet_1029",
"webhookUrl": "https://than-nong-bo.demego.vn/api/v1/webhooks/bot-recording"
}'
2 Kiểm tra trạng thái trực tiếp của Bot trong phòng họp
GET /api/v1/sessions/:id
Thần Nông - BO có thể thăm dò trạng thái trực tiếp của phiên. Các trạng thái gồm:
LAUNCHING (đang mở trình duyệt) →
WAITING_ADMIT (đang ở phòng chờ, nhắc Host bấm Admit) →
RECORDING (đã vào phòng, đang ghi âm) →
COMPLETED (kết thúc và đã xuất file WAV).
curl -X GET "http://localhost:3056/api/v1/sessions/rec_e1373696ebeb" \ -H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>"
3 Chủ động dừng phiên họp & xuất file âm thanh
POST /api/v1/sessions/:id/stopKhi cuộc họp kết thúc hoặc người dùng nhấn "Dừng ghi âm", Thần Nông - BO gọi API này để yêu cầu Bot rời cuộc gọi, hoàn tất file WAV và kích hoạt Webhook trả về.
curl -X POST "http://localhost:3056/api/v1/sessions/rec_e1373696ebeb/stop" \
-H "Content-Type: application/json" \
-H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>" \
-d '{"reason": "Người dùng kết thúc cuộc họp trên Thần Nông BO"}'
4 Tiếp nhận Webhook Callback & Xác thực Chữ Ký HMAC-SHA256
X-MRB-Signature
Khi file ghi âm sẵn sàng, Bot gửi HTTP POST tới webhookUrl của Thần Nông - BO kèm chữ ký mã hóa để chứng minh gói tin xuất phát từ server Bot tin cậy.
import crypto from 'crypto';
function verifyMeetingBotWebhook(rawBody: string, signatureHeader: string, webhookSecret: string): boolean {
if (!signatureHeader || !signatureHeader.startsWith('sha256=')) return false;
const signature = signatureHeader.slice(7);
const expectedSignature = crypto.createHmac('sha256', webhookSecret).update(rawBody).digest('hex');
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expectedSignature));
}
5 Tải file âm thanh WAV chất lượng cao (PCM 16-bit 16kHz)
GET /api/v1/sessions/:id/audio
Tải tệp âm thanh trực tiếp về hệ thống Thần Nông - BO để lưu trữ MinIO. Bắt buộc truyền X-API-Key trong Header hoặc Query parameter ?api_key=....
# Cách 1: Tải file qua Header X-API-Key curl -O -H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>" "http://localhost:3056/api/v1/sessions/rec_e1373696ebeb/audio" # Cách 2: Nhúng vào thẻ HTML5 Audio trên trang Frontend Thần Nông BO <audio controls src="http://localhost:3056/api/v1/sessions/rec_e1373696ebeb/audio?api_key=<API_KEY_THẦN_NÔNG_BO>"></audio>
6 Tự động nhận diện STT (Qwen3-ASR 0.6B) & Lấy văn bản cuộc họp (JSON / TXT)
GET /api/v1/sessions/:id/transcript
Nếu ở Bước 1 truyền cờ "enableStt": true, sau khi ghi âm xong Bot sẽ tự động chạy mô hình mã nguồn mở Qwen3-ASR 0.6B ONNX CPU để chuyển đổi thành văn bản Tiếng Việt chuẩn xác (kèm mốc thời gian từng câu) và bắn Webhook session.transcription_completed. Bạn cũng có thể kích hoạt dịch thủ công bất kỳ lúc nào qua POST /api/v1/sessions/:id/transcribe.
# Lấy kết quả dạng JSON (fullText + segments có mốc thời gian) curl -H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>" "http://localhost:3056/api/v1/sessions/rec_e1373696ebeb/transcript" # Tải thẳng file văn bản thuần túy (.txt) curl -H "X-API-Key: <API_KEY_THẦN_NÔNG_BO>" "http://localhost:3056/api/v1/sessions/rec_e1373696ebeb/transcript?format=txt" -o cuoc_hop.txt