Deewanالتوثيق

أسماء الحقول ورموز الأخطاء وأمثلة الشيفرة بالإنجليزية، كما تستخدمها في برنامجك.

حزم SDK

كل حزم ديوان وطريقة تثبيتها: الخوادم (Node وPython)، والويب، وReact Native، وFlutter، وiOS وAndroid.

لدى ديوان نوعان من الحزم. حزم الخادم تحمل مفتاح API وتنشئ الغرف وروابط الانضمام والرموز. حزم العميل تعمل في المتصفح أو التطبيق وتُدخل الناس إلى الاجتماع — ولا ترى مفتاح API أبداً؛ يعطيها خادمك رابط انضمام أو رمزاً.

أينالحزمةالتثبيت
Node وBun وDeno والحافة (خادم)@deewan/sdknpm install @deewan/sdk
Python (خادم)deewanpip install deewan
أي لغة خادم أخرىHTTPS وJSONOpenAPI 3.1
المتصفح، واجهة مخصّصة@deewan/clientnpm install @deewan/client
React Native / Expo@deewan/react-nativenpx expo install @deewan/react-native react-native-webview
Flutterdeewanflutter pub add deewan
iOS (Swift) · Android (Kotlin)عارض الويب في النظامتطبيقات الجوال

حزمة الخادم لـ Node.js

bash
npm install @deewan/sdk

مكتوبة بأنواع كاملة، تعيد المحاولة تلقائيًا وبلا اعتماديات. تعمل على Node 18+ وBun وDeno وبيئات الحافة. للخادم فقط لأنها تحمل مفتاح API.

ts
import { Deewan, DeewanError } from "@deewan/sdk";

const deewan = new Deewan({
  apiKey: process.env.DEEWAN_API_KEY!,
  timeout: 15_000,  // per request, ms
  maxRetries: 2,    // for 429 and 5xx on safe requests
});

try {
  for await (const room of deewan.rooms.all()) {
    console.log(room.name, room.url);
  }
} catch (error) {
  if (error instanceof DeewanError) {
    console.error(error.status, error.code, error.message, error.requestId);
  }
}

الدوال

NodePythonنقطة النهاية
me()me()GET /me
rooms.list() · rooms.all()rooms.list() · rooms.all()GET /rooms
rooms.create() · retrieve() · update() · delete()الأسماء نفسها/rooms, /rooms/{id}
rooms.createJoinLink()rooms.create_join_link()POST /rooms/{id}/join-links
rooms.createToken()rooms.create_token()POST /rooms/{id}/tokens
rooms.listParticipants() · muteParticipant() · removeParticipant() · end()list_participants() · mute_participant() · remove_participant() · end()/rooms/{id}/participants, /end
rooms.listWaiting() · admit() · deny()list_waiting() · admit() · deny()/rooms/{id}/waiting
meetings.list() · create() · retrieve() · update() · cancel()الأسماء نفسها/meetings
polls.list() · create() · close() · reopen() · delete()الأسماء نفسها/rooms/{id}/polls, /polls/{id}
breakouts.get() · start() · move() · announce() · end()الأسماء نفسها/rooms/{id}/breakouts
recordings.list() · retrieve() · download() · delete()الأسماء نفسها/recordings
webhooks.list() · create() · update() · delete() · test()الأسماء نفسها/webhooks
verifyWebhook(raw, header, secret)verify_webhook(raw, header, secret)يتحقق من توقيع الويب هوك

حزمة الخادم لـ Python

bash
pip install deewan
# Only if you download recordings (decrypts them on your server):
pip install "deewan[recordings]"

Python 3.9 فأحدث، بلا اعتماديات (عميل HTTP في المكتبة القياسية). المهلة وإعادة المحاولة والأخطاء نفسها كما في حزمة Node؛ وترفض إعادة التوجيه وhttp العادي، فلا يذهب مفتاحك إلا إلى ديوان.

python
import os
from deewan import Deewan, DeewanError

deewan = Deewan(os.environ["DEEWAN_API_KEY"])

room = deewan.rooms.create(name="Onboarding call")
link = deewan.rooms.create_join_link(
    room["id"], name="Sara", role="host",
    redirect_url="https://app.example.com/done",
)
print(link["url"])

try:
    deewan.rooms.retrieve("missing")
except DeewanError as error:
    print(error.status, error.code, error.message, error.request_id)
التحقق من ويب هوك (Flask)
from deewan import DeewanError, verify_webhook

@app.post("/deewan/webhooks")
def deewan_webhook():
    try:
        event = verify_webhook(request.get_data(), request.headers.get("Deewan-Signature"), os.environ["DEEWAN_WEBHOOK_SECRET"])
    except DeewanError:
        return "", 400
    print(event["type"], event["data"])
    return "", 204

حزمة المتصفح

bash
npm install @deewan/client

للواجهات المخصّصة: تتصل برمز وسائط، وتفعّل التشفير من طرف إلى طرف، وتمنحك المشاركين والمسارات والدردشة والأحداث. راجع الانضمام إلى الاجتماعات.

React Native وFlutter وiOS وAndroid

راجع تطبيقات الجوال: ضمّن اجتماع ديوان بمكوّن واحد، أو انضم برمز وارسم شاشاتك بنفسك.

لغات أخرى

الواجهة HTTPS وJSON بمفتاح Bearer، فتعمل معها أي لغة (Go وPHP وRuby وJava و‎.NET…). ولّد عميلاً بأنواع كاملة من وثيقة OpenAPI، أو استدعها مباشرة:

bash
curl -X POST https://deewan.io/api/v1/rooms/ROOM_ID/join-links \
  -H "Authorization: Bearer $DEEWAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sara", "role": "host"}'