مستندات 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

استریمرها

GET/api/companies/me/streamers

فهرست استریمرهای شرکت

همه استریمرهای متصل به شرکت با وضعیت اتاق هرکدام (زنده، بیننده، فاز پخش).

POST/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
GET/api/companies/me/streamers/{userId}

جزئیات یک استریمر

اطلاعات استریمر و وضعیت لحظه‌ای اتاق او.

GET/api/companies/me/streamers/{userId}/recordings

ضبط‌های یک استریمر

فهرست ضبط‌ها با نام، وضعیت پردازش، لینک پخش (playbackUrl)، لینک دانلود (downloadUrl) و پوستر.

اتاق و پخش

GET/api/companies/me/rooms/{roomId}/status

وضعیت اتاق / استریم

فاز پخش، تعداد بیننده، تنظیمات عمومی و آمار لحظه‌ای.

GET/api/companies/me/rooms/{roomId}/stream-key

کلید RTMP

stream key برای OBS یا نرم‌افزار پخش استریمر.

POST/api/companies/me/rooms/{roomId}/go-live

شروع پخش زنده

پس از اتصال RTMP، پخش را از راه دور فعال می‌کند.

POST/api/companies/me/rooms/{roomId}/stop

پایان پخش

پخش زنده را متوقف می‌کند (RTMP، WebRTC و منابع مرتبط).

POST/api/companies/me/rooms/{roomId}/rotate-stream-key

تعویض کلید RTMP

کلید جدید تولید می‌کند؛ کلید قبلی باطل می‌شود.

آمار

GET/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, ... }

مصرف

GET/api/companies/me/usage

مصرف کل شرکت

ساعت پخش، فضای ذخیره‌سازی و آمار هر عضو در ماه جاری. پارامتر اختیاری: ?month=2026-07

GET/api/companies/me/usage/{userId}

مصرف یک استریمر

جمع ماهانه و فهرست جداگانه هر استریم با peakViewers، مدت پخش و حجم ذخیره.

عمومی

GET/api/discover/live

فهرست پخش‌های زنده عمومی

استریم‌های زنده عمومی. بدون احراز هویت.

GET/api/vod

فهرست بازپخش‌ها

بازپخش‌های عمومی. با کلید API، ضبط‌های خصوصی سازمان هم برگردانده می‌شود.

GET/api/rooms/{roomId}/session

وضعیت عمومی اتاق

وضعیت زنده‌بودن و تعداد بیننده — بدون نیاز به حساب شرکت.

GET/api/analytics/{roomId}

آمار عمومی اتاق

آمار ذخیره‌شده یا زنده یک اتاق.

پخش امبد‌شده

ساده‌ترین راه نمایش پخش زنده در سایت شما — بدون نیاز به API. لوگوی شرکت به‌صورت خودکار روی پخش نمایش داده می‌شود:

<iframe
  src="https://your-domain.com/embed/ROOM_ID?company=COMPANY_ID"
  width="800" height="450"
  frameborder="0" allowfullscreen>
</iframe>