أسماء الحقول ورموز الأخطاء وأمثلة الشيفرة بالإنجليزية، كما تستخدمها في برنامجك.
الغرف الفرعية
قسّم الاجتماع إلى غرف صغيرة خاصة، وانقل الأشخاص بينها، ثم أعدهم جميعًا.
الغرفة الفرعية غرفة قائمة بذاتها داخل الاجتماع. يقسّم المضيف — أو خادمك — الحاضرين إلى مجموعات، تتحدث كل مجموعة على انفراد، ثم يعود الجميع إلى الغرفة الرئيسية عند انتهاء الجلسة. تبقى الغرفة الرئيسية مفتوحة، فيستطيع المضيفون مخاطبة من بقي فيها.
بدء الغرف الفرعية
// Deal everyone in the meeting out at random, for ten minutes.
const session = await deewan.breakouts.start(roomId, {
rooms: 4, // or names: ["Red", "Blue", "Green", "Gold"]
assign: "auto", // "auto" | "manual" | "none" (people choose)
duration_seconds: 600, // closes by itself; omit to run until ended
auto_join: true, // move people without asking
allow_return: true, // let people go back to the main room alone
});
// Or place people yourself.
await deewan.breakouts.start(roomId, {
rooms: ["Design", "Build"],
assign: "manual",
placements: [
{ participant: "user_2fK9…", room: 0 },
{ participant: "api_Xk3mQp9Lr2", room: 1 },
],
});curl https://deewan.io/api/v1/rooms/$ROOM_ID/breakouts \
-H "Authorization: Bearer $DEEWAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"rooms":3,"assign":"auto","duration_seconds":600}'النقل والإعلان والإنهاء
// Who is where right now
const { active } = await deewan.breakouts.get(roomId);
console.log(active?.rooms.map((r) => [r.name, r.members.length]), active?.unassigned);
// Move one person, or send them home with null. canReturn: may they go back alone?
await deewan.breakouts.move(roomId, "api_Xk3mQp9Lr2", active!.rooms[1].id, { canReturn: false });
await deewan.breakouts.move(roomId, "api_Xk3mQp9Lr2", null);
// Change the rooms while the session runs
await deewan.breakouts.addRoom(roomId, "Overflow");
await deewan.breakouts.renameRoom(roomId, active!.rooms[0].id, "Design review");
await deewan.breakouts.removeRoom(roomId, active!.rooms[1].id); // its people go home
// A banner in every room
await deewan.breakouts.announce(roomId, "Five minutes left.");
// Bring everyone back — with a 60-second countdown
await deewan.breakouts.end(roomId, { warn: true });من هو المشارك؟
يُعرَّف المسجّلون بمعرّف حسابهم، ومن دخلوا برابط انضمام بالمعرّف الثابت المشتق من external_id الذي أعطيته عند إنشائه (ويظهر في قائمة المشاركين)، والضيوف بمعرّف تُسنده ديوان. يمكنك تمرير هذا المعرّف أو identity الاتصال من GET /rooms/{room_id}/participants.
الخصوصية والأمان
- لكل غرفة فرعية مفتاح تشفير تام خاص بها، لا يُعطى إلا مع تصريح دخول إلى تلك الغرفة. من لم يُوضع في غرفة لا يستطيع دخولها ولا فك تشفيرها.
- يُحدَّد التوزيع على خوادمنا. لا يستطيع المتصفح نقل نفسه: يطلب تصريحًا فقط، والجواب يأتي من الخطة.
- مع
allow_return: falseلا يستطيع الأشخاص مغادرة غرفهم حتى ينهي المضيف الجلسة. - الإعلانات لافتات قصيرة وغير مشفّرة تشفيرًا تامًا — لا تضع فيها أي شيء خاص.
- التسجيل والترجمة النصية والحضور تعمل في الغرفة الرئيسية فقط.
الأحداث
اشترك في breakout.started وbreakout.ended للاحتفاظ بسجلاتك — مثلًا لتدوين المجموعة التي كان فيها الطالب. تذكر الحمولة الغرف وعدد من ضمّته كل غرفة.