مستندات API
با API آریانا شرکتها میتوانند استریمر بسازند، پخش را مدیریت کنند، ضبطها و مصرف را پیگیری کنند. دسترسی API در بسته «کسبوکار» و بالاتر — کلید را از داشبورد شرکت بسازید.
پکیج React + TypeScript
برای پروژههای React/TypeScript میتوانید از SDK رسمی استفاده کنید:
npm install @aryana-stream/react
import { AryanaClient } from '@aryana-stream/react';
const aryana = new AryanaClient({
baseUrl: 'https://your-domain.com',
apiKey: 'ary_XXXXXXXXXXXXXXXXXXXXXXXX',
});
// List company streamers with live status
const { streamers } = await aryana.streamers.list();
// Create a streamer + room
const created = await aryana.streamers.create({
email: 'host@example.com',
password: 'Pass1234!',
displayName: 'Host One',
});
// Go live / stop
await aryana.rooms.goLive(created.roomId);
await aryana.rooms.stop(created.roomId);
// Per-streamer recordings with play & download URLs
const { streams } = await aryana.recordings.listForStreamer(created.streamer.id);
// Usage per member
const usage = await aryana.usage.forMember(created.streamer.id);
// Full stream analytics (viewers, devices, browsers, snapshots)
const { analytics } = await aryana.rooms.getAnalytics(created.roomId);
console.log(analytics.deviceStats?.byDeviceType);
console.log(analytics.deviceStats?.byBrowser);
// List streamers with live analytics summary
const { streamers } = await aryana.streamers.list();
for (const entry of streamers) {
console.log(entry.user.displayName, entry.room?.analytics?.deviceStats);
}احراز هویت
کلید API را در هدر Authorization بفرستید:
Authorization: Bearer ary_XXXXXXXXXXXXXXXXXXXXXXXX
احراز هویت
Authorization: Bearer ary_XXXXکلید API شرکت
کلید را از داشبورد شرکت بسازید. همه endpointهای زیر با این هدر کار میکنند. میتوانید از پکیج npm @aryana-stream/react هم استفاده کنید.
npm install @aryana-stream/react
استریمرها
/api/companies/me/streamersفهرست استریمرهای شرکت
همه استریمرهای متصل به شرکت با وضعیت اتاق هرکدام (زنده، بیننده، فاز پخش).
/api/companies/me/streamersساخت استریمر و اتاق
حساب استریمر جدید با اتاق اختصاصی میسازد. بدنه: { "email", "password", "displayName" }.
curl -X POST -H "Authorization: Bearer ary_XXXX" \
-H "Content-Type: application/json" \
-d '{"email":"host@example.com","password":"Pass1234!","displayName":"Host One"}' \
https://your-domain.com/api/companies/me/streamers/api/companies/me/streamers/{userId}جزئیات یک استریمر
اطلاعات استریمر و وضعیت لحظهای اتاق او.
/api/companies/me/streamers/{userId}/recordingsضبطهای یک استریمر
فهرست ضبطها با نام، وضعیت پردازش، لینک پخش (playbackUrl)، لینک دانلود (downloadUrl) و پوستر.
اتاق و پخش
/api/companies/me/rooms/{roomId}/statusوضعیت اتاق / استریم
فاز پخش، تعداد بیننده، تنظیمات عمومی و آمار لحظهای.
/api/companies/me/rooms/{roomId}/stream-keyکلید RTMP
stream key برای OBS یا نرمافزار پخش استریمر.
/api/companies/me/rooms/{roomId}/go-liveشروع پخش زنده
پس از اتصال RTMP، پخش را از راه دور فعال میکند.
/api/companies/me/rooms/{roomId}/stopپایان پخش
پخش زنده را متوقف میکند (RTMP، WebRTC و منابع مرتبط).
/api/companies/me/rooms/{roomId}/rotate-stream-keyتعویض کلید RTMP
کلید جدید تولید میکند؛ کلید قبلی باطل میشود.
آمار
/api/companies/me/rooms/{roomId}/analyticsآمار کامل استریم
پیک همزمان بینندگان، بینندگان یکتا، چت، sessions، viewerSnapshots — نمونهبرداری هر ۵ دقیقه — و آمار دستگاه/سیستمعامل/مرورگر بینندگان (deviceStats).
// @aryana-stream/react
const { analytics } = await aryana.rooms.getAnalytics('ROOM_ID');
// analytics.deviceStats.byDeviceType → { mobile, desktop, tablet, unknown }
// analytics.deviceStats.byOs → { iOS: 12, Android: 8, ... }
// analytics.deviceStats.byBrowser → { Chrome: 10, Safari: 8, ... }مصرف
/api/companies/me/usageمصرف کل شرکت
ساعت پخش، فضای ذخیرهسازی و آمار هر عضو در ماه جاری. پارامتر اختیاری: ?month=2026-07
/api/companies/me/usage/{userId}مصرف یک استریمر
جمع ماهانه و فهرست جداگانه هر استریم با peakViewers، مدت پخش و حجم ذخیره.
عمومی
/api/discover/liveفهرست پخشهای زنده عمومی
استریمهای زنده عمومی. بدون احراز هویت.
/api/vodفهرست بازپخشها
بازپخشهای عمومی. با کلید API، ضبطهای خصوصی سازمان هم برگردانده میشود.
/api/rooms/{roomId}/sessionوضعیت عمومی اتاق
وضعیت زندهبودن و تعداد بیننده — بدون نیاز به حساب شرکت.
/api/analytics/{roomId}آمار عمومی اتاق
آمار ذخیرهشده یا زنده یک اتاق.
پخش امبدشده
سادهترین راه نمایش پخش زنده در سایت شما — بدون نیاز به API. لوگوی شرکت بهصورت خودکار روی پخش نمایش داده میشود:
<iframe src="https://your-domain.com/embed/ROOM_ID?company=COMPANY_ID" width="800" height="450" frameborder="0" allowfullscreen> </iframe>